Modules are the fundamental nodes of the Aximmetry Composer. They cover a vast range of functionality from simple functions such as adding together values to complex functions such as the depth of field calculation of a 3D scene.
The usual way to add a new module is through the Insert Module window.
Right-clicking on an empty space in the Flow Editor brings up a list with the Insert Module... option:
After selecting the Insert Module... option, the Insert Module window will appear with many modules to choose from.
The window has a search field, a type category browser, and a selection field:
The colors of the modules in the Insert Module window represent the color of the node in the Flow Editor.
When selecting one of the main categories like 3D or Audio, then the modules are primarily listed by their sub-category and then by their alphabetical order.
When a module is added to the Flow Editor, it is automatically given the same name as its type. When there is already a node with the same name, then the module's name is incremented by a number.
Here, two Copy Transformation module types have been added to the Flow. Since the name Copy Transformation was already present in the flow, the second module has automatically been named Copy Transformation 2.
It is possible to change this name in the Name field of the module. The Type of the module is also visible:
Changing Module Type
To change an already added module's type, right-click on the module and select the Change Module Type... option. This method will keep the connections if possible:
Optimization of your project's hardware load can greatly affect what is possible to achieve. This is especially true in live productions.
Such optimization is when the Flow Editor is not executing modules that are not in use. This is done automatically by Aximmetry and most of the time doesn't affect the project.
There are some cases however when it can lead to confusion, so it will be discussed in detail in this paragraph.
A module is not in use when the module's output pins are not connected to anything that ends up with an output. In such cases, the module won't be executed. The output can be several things, like video outputs, preview panels, recorder modules, or even the peeker which happens when you press down CTRL while your mouse cursor hovers over a connection.
Execution Indicator of the Peeker
A red line appears on the top of the peeker's window if the module is not being executed:
When peeking at a module that is being executed, no red line is shown.
Below the Video Player module is being executed by being connected to an active video output.
When peeking at a connection between two modules, the execution indicator shows that the source module is not being executed. And the execution indicator won't appear when only the target module is not executed.
Input pins of modules that are not connected to any other node never show the execution indicator.
Example of Preview Panel Executing a Module
In this example, a Video Player module is not being executed or played while it is not connected to an output. This is also visible from the Video Player's position, besides the execution indicator of the peeker.
While the Video Player module is connected to an output the video plays and this fact is visible from the position output pin as its position value increases all along.
While the Video Player module is not connected to an output the video doesn't play and its position is reset to 0. This is visible each time the mouse peeks at the position of the video, it will show that the position starts counting from 0, as the Video Player started playing due to the mouse peek started rendering the position pin's value:
Even if a video is exposed to the right, it doesn't mean that it is connected to an active output.
Here, when the Preview 1 panel's video output index changed to "-" from "1", the Video Player module stops being executed:
The above example is only true if there is no output for that video index elsewhere.
For example, if there is already an output for that video index in the Video output devices, then the Video Player module will be executed even when no preview panel shows that video index.
Some modules have Force All or Force Both pins. If these pins are turned on then the nodes connected to the module are executed even if they are not being selected or used.
Switch Video Mini has such a pin. In the example below you will see how this turns on and off the Delayer module:
When Force All is turned Off, then the Delayer module is not executed while the Switch Video's selected video is the first one. So when the Switch Video selects the second video, then there will be no picture for the period of the delay.
When Force All is turned On, then the Delayer module is executed even when the selected video is the first one. So when the Switch Video selects the second video, then there will be a delayed video right after the switch. As the Delayer module was working all the time and saving the video's frames for the delay.
There is a special module called Force Execution. When the Force Execution module is connected to a module, then that module will be executed even if it is not being used. Like in this example the video will be played even if there is no video index defined for preview and for video output:
In some cases, even the execution order of the modules can matter. In these cases, the Force Execution module with the highest Priority pin value will be executed first.
Find Module is an option to search for a Module's given name inside a project. It can be especially useful in big compounds like the Camera compounds:
Pressing the ESC keyboard button closes the search. And the Find Module option is also accessible by the usual CTRL + F shortcut.
There is also a Find Module Globally option, where the search includes every compound that is not in a locked state. More on compounds in the Compound documentation.
Pressing TAB switches between search modes: Name, Index, Type, and File.