INTERFACE WALKTHROUGH
This section looks at the GUI of Janus. Here is a screenshot and pointers to areas of importance. Click on any part of the screenshot to see a description.
Definition File
The definition line shows you the current definition file being used by the current scene. A definition file stores all information regarding the groups, the items in the groups, the commands, and the global settings. This is basically the file that contains all of your render pass information.
The definition file is not stored with the scene because it is more flexible this way. This is especially beneficial if working on scenes that share, more or less, the same kinds of passes.
You can work with definition files by loading, saving, exporting, or importing them in and out of your current definition. The Definition File Menu gives you these options.

CMD Line
The CMD line is the field that shows you the selected render pass's command. You may use the CMD line to directly change settings, even several render passes at the same time.
Group List
The group list shows all existing groups in the definition file. This may or may not reflect the currently loaded scene, so it is the user's responsibility to assign the proper definition file. The group list contains three columns, the Propagate, Override, and Name columns. If the 'P' symbol is highlighted, it means that the group is a propagate group. The asterisk (*) that is after the group type also denotes that it is propagate type. If the 'O' symbol is highlighted, it means that there are manual user overrides applied to the group.

Groups Menu

- ADD Group - add a group using a dialog box.

- USE SELECTION Create Group - adds a group based on the selected items in Layout. A search-and-replace function is added so that if you have a naming convention for your items you may strip or replace them before they are added as groups in Janus. An example: if I have GRP_ALIEN which is a null the is the parent of all items related to my ALIEN character, then I search-and-replace "GRP_" with "" (e.g. nothing) so that I will end up with a group called NOM*.ALIEN.

- RENAME Group - renames a group.
- DELETE Group - deletes a group. You may use the Delete key, too. Note, however, that Janus keeps track of the last selected list. If you selected the group list last and press Delete it will assume that it is from the group list you want to delete.
- DUPLICATE Group - duplicates a group and increments it (e.g. identical names are not allowed in Janus where they share the same type)
- DUPLICATE Group & Switch Type - duplicates a group and then switches the type. Useful if you want to simply create another version of the same group. This is faster than creating a group and assigning items into them.

- SWITCH Group Type - switches the group type to another type.
- SORT Groups - sorts the group list in either descending or ascending order.
- IMPORT Group from Definition File - imports group data from another definition file.
- EXPORT Groups | Render Pass - export the current set of groups (or commands) to a file.
- Group OVERRIDES - goes to the group overrides dialog. The group override dialog has three pages:
- Object Properties - related to all properties for mesh or null item.
- Light Properties - related to all properties for lights.
- Plugin Handler / Data Blocks - related to Plugin settings and Data Blocks like Clip Maps, Displacement Maps, Node Displacement, APS Render Texture, Light Projection Image.
"Quick Change" Group Properties
There are three controls that relate to changing group properties. There is the 'G' popup which is used to change the group type. It will display the list of registered group types. There is also the 'P' popup which is used to quickly enable or disable the Propagation property of the selected groups. The 'O' button will bring up the Group Overrides dialog box.
- G - Group Type (changes selected groups to this type)
- P - Propagation (enables or disables Propagation in selected groups)
- O - Overrides (opens up the group overrides dialog

Items in Group List
The Items in Group list shows the items contained in the group.

Items in Group Menu

- ADD Items - adds selected items (in Layout) to the currently selected groups. Multiple groups allowed.
- REMOVE Items - remove items from the group.
- SAVE Object Plugin Parameters - detects and saves currently-selected items' item-related plugin parameters or data blocks.
- View and Save Plugin Parameters - you are presented with the data block you have selected. You cannot edit this block, only read it. If you input a name in the Save As field, and press OK, the data is saved in the Janus_PLUGINDEF.cfg that is located in your currently-set content directory.
-
- SAVE Scene Plugin Parameters - detects and saves scene plugins (e.g. VolumetricHandler, PixelFilterHandler). All data blocks saved will be located in the Janus_SCENEPLUGINDEF.cfg file located in your currently-set content directory.
Command List
The command list is the list of render passes. If 'Use short names' is checked then only the command type, the layer type, and the target group parts of the command are shown. Notes, or comments, are also shown at the right of a carat symbol. You may add or modify notes in multiple commands at once. Use the Notes field below.

Render Pass Menu

- BREAK OUT Render Pass - processes the command and breaks out (exports) the selected render pass(es) into scene files.
- ADD Render Pass - add a new render pass or command.
- Cmd Type - lists all registered command types for you to choose one.
- Layer Type - either BG or FG.
- Input Type - if Group Name Input Only it will interpret the string you type in the Input field as being that of a group's name. If Manual Command Input, the Input field is interpreted as a whole command.
- Use selected group(s) - only available if you have selected a group prior to opening this dialog. If checked, it will create multiple render passes for each selected group. It does not require you to type anything in the Input field.
- Group Association - sets default association. If Target Group Only is selected, then it will associate the render pass only to the group it was created for. If Selected Groups is selected, then the render pass associates itself with all of the selected groups.
- DELETE Render Pass - removes a render pass. The Delete key may also be used.
- RENAME Render Pass - renames a render pass, though it is preferable to simply use the CMD field to modify any settings.
- EDIT MULTILINE Render Pass - brings up the multiline editor which may make it easier for some people to read out the commands in a line-by-line fashion.
- Recognise Command Type Change - when checked it will check if the command type was changed, and if it was will modify the command as such.
- Recognise Layer Type Change - when checked it will check if the layer type was changed, and if it was will modify the command as such.
- Recognise Subcommand Change - when checked it will check if subcommands were added or changed, and if it was will modify the command as such.
- Command Types - lists registered command types (for reference).
- Edit Box - each element in the command is listed on a per-line basis and it should be edited further this way. Remember that rules of stringing up commands are the same here, that the first element must be the command type, the second element is the layer type, and the last element must be the target group.
- DUPLICATE Render Pass - duplicates a render pass.
- REPLACE ASSOCIATION with selected Group(s) - replaces the associated groups of the selected render pass with the ones currently selected.
- ADD ASSOCIATION with selected Group(s) - adds into the associated groups of the selected render pass the ones currently selected.
- REMOVE ASSOCIATION with selected Group(s) - removes the currently selected groups from the list of associated groups of the selected render pass.
- TEST RENDER - does a test render of the selected pass(es).
- TEST RENDER with Run-Time Commands - does a test render while allowing you to apply a Run-Time Command to the render pass before rendering.
- FULL QUALITY TEST RENDER - does a full quality render, which is basically a test render but with the final render quality settings you have set.
- FULL QUALITY TEST RENDER with Run-Time Commands - does a full quality render while allowing you to apply a Run-Time Command to the render pass before rendering.
- IMPORT Render Pass - imports a render pass from a definition file.
- EXPORT Groups | Render Pass - exports groups or render passes into another definition file.
Global Settings
The Global Settings area is the location where default values are inputted for the project. When you check a certain parameter and set its respective value field, you are telling Janus that this value is the default value for your current project. Say you are working on a TV episodic show; you set your resolution to NTSC or PAL, and your frame rate 29.97 or 25, respectively. This makes sure that every pass you do adheres to these settings.
Note, however, that these are the default settings. Parameters may be further changed based on the command, or the groups that are being processed.
Preferences
This button opens up the dialog box, which shows the all-important Preferences. There are two

General
- Output Image Directory - specify here the project's final renders directory. You can input a relative or absolute path. Also, you can use Constant Variables, like %JN_CONTENTABS% to dynamically change this.
- Screamernet (lwsn.exe) - specify the absolute location of the lwsn.exe (Screamernet module) file.
- Config (lwext.cfg) - specify the absolute location of the configuration file to be used.
- Default Save Image Format - this is default save image format that will be used unless overridden by the OUTFORMAT subcommand. This setting does not include Buffer Savers' file formats.
- Ext Image Viewer - specify an external viewer.
- Temp Local Work Directory - specify a local directory which Janus may use to process render passes. When working in a network it is possible that Janus's processing will be slow. Specifying a temporary working directory will ease this problem.
- Render Done Sound - you can choose an sound file that will play every time a test render completes itself.
- Frame Digit Padding - this value can be from 3 to 6 (LightWave 9.x). For LightWave 8.x users it is valid from 3 to 4. Frame padding is the number of digits for each frame.
- Pad Symbol - this is the string that will be appended after the base image file name; this character separates the base file name from the frame numbers.
- Track Item Names - changes the behavior of the Items in Group list, whether or not you will allow Janus to dynamically update stored item names for you.
- Do not track item name changes - this is the original and default behavior of Janus. When you rename, clone, or delete an item in Layout the reference to the object will be maintained in the Items in Group list. This is advantageous when you have different versions of scenes that share some item similarities, so that you do not keep on re-assigning items that exist only on some scenes. Also advantageous in cases where you accidently delete, clone, or rename an item in Layout; Janus will keep the original name intact in its list.
- Track item names automatically - this option will use an item's internal ID to track changes to the item. Thus, when you rename or clone an item, the Items in Group list will update it to match Layout. If you delete an item, the slot that originally carried the item will be marked '(none)'; you though the item does not exist, you still must manually delete this slot for it to go away. This option is advantageous if the scene you are working on does not share any item names of related scenes; if you are using Janus while you are still organising your scene, this option will save you time from having to remove and reassign item names that are being modified.
- Create batch files (lwsen.exe -3) for breakout scenes - if checked every breakout scene will be accompanied by a batch file that can be run to render the scene. It will spawn an instance of lwsn.exe using mode 3.
- Pass Folders - specifies how to output scenes that were processed as passes. See the Pass Folders section
for practical usage examples of this feature.
- Do not create pass folder for scene - when a pass is created it is put into a folder as specified by Breakout Location for Passes without creating any further folder for it.
- Create pass folders for each scene - a folder is created whose name is the scene's filename. All passes processed for that scene will be put into that folder. Furthermore, this folder is placed / created into a folder as specified by Breakout Location for Passes.
- Breakout Location for Passes - specifies the location for render passes that have been broken out (e.g. outputted)
- Breakout to same folder as scene - regardless of whether a pass folder is to be created, all breakouts will be placed into the same place where the scene being processed resides.
- Breakout to user-defined folder - all breakouts will be placed in a folder that can be relative or absolute paths. An absolute path is defined by specifying a drive letter. If you only specify folders then it is considered a relative path, in which case it will be relative to the scene's original path. This folder is specified in Breakout Folder Path.
- Breakout Folder Path - specifies the folder in which to put render passes in. This can be both absolute or relative paths. You may also use Constant Variables in this field.
- Surface Overrides Object Directory - specifies where to put objects that have been saved out due to having been surface-overridden.
All objects
follow a specific directory structure and naming format.
- Same as object - places the surface-overridden objects in the same directory as the original object.
- User-specified under project root - places the surface-overridden objects in a folder specified in User Directory. This User Directory is still assumed to be relative to the current content directory (e.g. project root)
- User Directory (relative to project root) - specifies the name of the folder, relative to the current content directory, that surface-overridden objects will be placed.
- Project Surfaces Directory - specify the directory, relative to the current content directory, that your project-centric surfaces / shaders are located. This directory will be also be used to locate surfaces that you will use to override surfaces of your objects.
Test Rendering

- Debug - when debug is checked, test render files (.lwsTest), and the batch (.bat) files used to render them will not be deleted. Useful if you're troubleshooting a render pass, or sending in a bug report. However, your project directory may become cluttered when you have a lot of these test files, so unchecking debug will delete those files for you after they have been test-rendered.
- Test Render Antialiasing - specify Classic camera antialiasing for test renders.
- Test Render Motion Blur- specify Classic camera motion blur type for test renders.
- Test Render Resolution Multiplier - specify resolution multiplier for test renders.
- Test Antialiasing Samples - specify advanced camera antialiasing samples for test renders. Applicable to LightWave 9.x.
- Test Motion Blur Passes - specify advanced camera motion blur passes for test renders. Applicable to LightWave 9.x.
Run-Time Commands Menu
The Run-Time Commands menu relates to the creation, modification, and application of Run-Time Commands.

- BREAK OUT Render Pass : Run-Time Commands - breaks out (e.g. outputs) the selected render passes while applying Run-Time Commands on them.
- TEST RENDER : Run-Time Commands - test renders the selected render passes while applying Run-Time Commands on them.
- FULL QUALITY TEST RENDER : Run-Time Commands - test renders with full quality settings on the selected render passes while applying Run-Time Commands on them.
- Use - you may use / view either the Janus Run-Time Commands, which is the contents of the Janus_CommandTypes.txt, use Project Run-Time Commands, which is a project-centric file, or use both.
- How to apply - dictates how the commands are to be added into the command.
- As separate commands - applies each selected command separately so that you end up with as many selected commands multiplied by the number of selected passes.
- As combined commands - combines the selected commands before applying it to the render pass.
- As command type - replaces the command type of the render pass but does not inherit subcommands (e.g. SCENE.CMD directives)
- As command type inheriting subcommands - replaces the command type of the render pass while also inheriting subcommands - SCENE.CMD directives.
- BREAK OUT Render Pass : Regions - breaks out the selected render passes in regions (split frame). Regions are a special type of Run-Time Command is handled differently inside Janus.
- CREATE / EDIT Run-Time Commands - creates or modifies Run-Time Commands.
- Use - you may use / view either the Janus Run-Time Commands, which is the contents of the Janus_CommandTypes.txt, use Project Run-Time Commands, which is a project-centric file, or use both.
"Quick Change" Command Type, Layer Type, Target Group
"Quick Change" popup controls allow you to change the command type, layer type, and/or target group of the selected commands.
- C - Command Type (changes selected commands to this type)
- L - Layer Type (changes layer type to FG or BG)
- T - Target Group (the list of currently listed groups are displayed here.

Other Functions
Always Save Surface Overrides
Will always save out the objects that have been surface-overridden.
Save Changes
Clicking this button will save changes in the Group List, Items in Group List, Global Settings, and Command List. Changes will be written to the currently set definition file.
Resize Widget
The orange line between the Global Settings area and the Command List is a resizing widget that allows you to increase or decrease the size of the Global Settings area and the Command List. When you click on the widget it will turn red, signalling that you should drag left or right. However, you will not see any resizing done until you release the mouse button. Janus will close the and then reopen the interface with the new sizes. Take care not to resize too often since this opens and closes the interface, which is often associated with LScript crashes.