User Tools

Site Tools


public:launcher

Atmos Studios Launcher - User Guide

Summary

Atmos Studios Launcher is a free lightweight application launcher developed by Atmos Studios designed to simplify workflows for both in house and remote artists. It uses relative paths to find assets and tools used in your pipeline without the need to configure each remote user individually. Artists can sync a project to their own local drive regardless of the varying drive letters and paths across the team. Using Launcher allows you to specify which applications as well as application versions get used on any given project.

With the recent shift in almost all industries to staff working remotely, this tool simplifies the process of connecting artists and studios colaborating via cloud synced projects.

Features

  • Windows 10 and 11 compatible
  • Easy to configure json file
  • Assign global and per application environment variables
  • Use variables within your applications nodes and prevent broken paths between users
  • Add your own custom header image
  • Add web links and folder shortcuts
  • Per user customisations:
    • A non-standard installation location of an application
    • Re-arrange icons
    • Hide unused icons
    • Add user icons
  • User customisations are set per user only and won't affect the broader team
  • Standalone executable that doesn't require installation

Download from the Atmos Studios Software Page.

Sample Project File Structure

Download the Atmos Launcher Sample Project which includes the latest Atmos Launcher to get started.

Copy the Sample Project folder to your local drive or server, find the Launcher application and run it. Within the application you can make a desktop shortcut for this project by selecting Personalise > Create Desktop Shortcut.

The Launcher can be found here…

...\SampleProject\Software\Launcher

The only files Launcher needs to run are within the Launcher folder. Copy the Launcher folder to each of your projects and customise the config json file to suit each one.


Start Using Launcher

Your project file will contain a AtmosLauncher.exe file - Atmos places this in the [PROJECT FOLDER]/Software/Launcher. Start the launcher and create yourself a desktop icon for easy access next time you go to launch Launcher.


User Customisation

Each individual artist can add their own customisations to Launcher which won't affect other users.

Artists can Hide and Shuffle icons as well as add their own custom icons only they can see. These include new applications, website URL, or a shortcut to a folder.

Any users customisation can be reset through Personalise > Reset Personalisation.


Editing the Global Config File

Alongside the “AtmosLauncher.exe” executable should sit the “launcher-config.json” file. It's best to use the sample config file supplied as a starting point.

This config file is where the following is set:

  • Header Image
  • Project Name
  • Applications to Launch
  • Global and Application Specific Variables
  • Paths to Icons
  • Paths to Applications
  • Shortcuts to Folders
  • Web Links

Project Name and Header Image

At the top of the JSON config file you can set the following values to define your Header Image, Header Text and the Project ID. It's not essential to define these values however, it does help artists identify which project they're working on if they have more than one Launcher Shortcut on their desktop.

"HeaderText": "Sample Project Header",
"HeaderImage": "%LAUNCHER_DIRECTORY%\\icons\\headersample.png",
"ProjectId": "SampleProject",

NB. Including the HeaderImage, as with other header variables, is optional.

The header image native resolution is 256 x 256 pixels. However, any resolution or aspect ratio should work.

Global Variables

Global variables are set at the end of the file. It's best practice to set them relative to the %LAUNCHER_DIRECTORY%. This variable is set based on the location of the individuals launcher path. Setting other variables based on this variable is what allows users to have their own unique local path to a project. Provided your project structure stays the same across all synchronised artists, each artists machine will find the various locations.

  • Paths need to be set using escape backslashes “\\”
  • “\\..” traverses up one directory - ie “PROJECTPATH” in the below example says the root directory is 2 levels up from where the Launcher is stored.
"GlobalEnvironment": {
  "PROJECTPATH": "%LAUNCHER_DIRECTORY%\\..\\..\\",
  "PIPELINEPATH": "%LAUNCHER_DIRECTORY%\\..\\pipeline\\",
  "OCIO": "%LAUNCHER_DIRECTORY%\\..\\OCIOAtmos\\atmos_ocio.ocio"
}

Application Configuration

To add applications to the launcher, simply add the following block of code.

  • Id - is an internal unique identifier for each application
  • DisplayName - Is the name that will be displayed in the launcher
  • Icon - Path and filename for the icon. If no icon is supplied Launcher will attempt to use the icon stored in the applications executable
  • Executable - The executable file
  • Arguments - Any flags that need to be set when running the executable
  • Environment - Application specific variables are set here. Global variables can also be disabled for specific applications using the term “null”
{
  "Id": "Nuke15NC",
  "DisplayName": "Nuke 15 NC",
  "Icon": "%LAUNCHER_DIRECTORY%\\icons\\nuke2024.png",
  "Executable": "C:\\Program Files\\Nuke15.0v2\\Nuke15.0.exe",
  "Arguments": [
    "--nc"
  ],
  "Environment": {
    "OCIO": null
  }
},

Using System Variables

Some newer applications launch from within the local user directory. To ensure your launch command works for all users you can use a system variable.

%USERNAME% gives you the username but an even better variable is
%LOCALAPPDATA% is a shortcut for C:\Users\[USERNAME]\AppData\Local\

For example, you should use the following as the executable command for an application such as Affinity Photo 2

"Executable": "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\AffinityPhoto2.exe"

Using Global Variables Within Your Applications

One of the benefits of setting global variables is that they can be used in the path within your application. This prevents broken paths between artists own configurations. Here's an example of how the above %PROJECTPATH% variable is used instead of a hard coded path with drive letter.

Using Global Variables in Nuke

Here's we're using the global variable in a Nuke read node substituting the local drive letter and path.

[getenv PROJECTPATH]

Alternatively this more robust code will convert the backslashes to a forward slash and may be necessary when applying to write nodes.

[python {os.getenv("PROJECTPATH").replace("\\", "/")}]

Adding Launcher Variables to Deadline Render Farm

If you're using any global variables in your scenes then they also need to be passed to your render farm so those machines have access to the specified paths. Here's an example where the custom variables defined in Launchers config file are added to the SubmitMayaToDeadline.mel script.

...
// Added to capture Atmos Studios Launcher Environment Variables
fprint $fileId ( "EnvironmentKeyValue0=MAYA_ENV_DIR=" + `getenv "MAYA_ENV_DIR"` + "\n");
fprint $fileId ( "EnvironmentKeyValue1=PROJECTPATH=" + `getenv "PROJECTPATH"` + "\n");
fprint $fileId ( "EnvironmentKeyValue2=PIPELINEPATH=" + `getenv "PIPELINEPATH"` + "\n");
fprint $fileId ( "EnvironmentKeyValue3=OCIO=" + `getenv "OCIO"` + "\n");
...

NB. There are several occurances of code where these additional variables need to be added for all the different submission types.

Deadline Manual Reference

Icons

If no icon is specified or supplied for an application, launcher will attempt to use the icon stored in the executable of the application. As of recent, these icons are usually not very low resolution, the only time they are is when an application does not supply a higher resolution one, though a big benefit of setting an icon manually is that in the event that the executable cannot be found, it won't show up as a “No Icon” icon.

Therefore, it's recommended that a 400×400 pixel high resolution icon be provided for a nicer looking launcher. Transparent png's a best.

Troubleshooting

Applications Not Inheriting Variables

If your application isn't inheriting variables assigned in Launcher, check that your application is not running as an administrator. Windows won't assign variables to applications running as administrator.


Feedback and Support

For any feedback, support or just let us know how much you love Launcher please email support@atmosstudios.com.au


Authenticity Certificate

Always ensure your copy of Launcher is genuine by checking the authenticity certificate under Properties > Digital Signatures of the executable.

public/launcher.txt · Last modified: 2024/06/26 06:11 by andreas