The Input Assignment is the central interface for controlling DMXControl 3 with any input devices and distributing signals. Input devices and methods include, for example, a keyboard, the Softdesk, DMX-In, or a MIDI controller. With Input Assignment, you can create connections between the so-called inputs and outputs to internal functions and properties of DMXControl 3, such as Cuelists, Executors, etc.
Overview
![]() |
In the Input Assignment, as well as in the Project Explorer, much is done using Drag & Drop, both when creating a new Connectionset and when modifying a Connectionset in the graph view. |
The basic idea of Input Assignment is that you can use almost any input option to control one or more internal functions of DMXControl 3. These connection sets are not to be viewed as traditional 1:1 connections. With Input Assignment, you can manipulate values at any point within a connection set and create as many additional control options and dependencies as needed. Due to the standardized data exchange between many elements, there are virtually no limitations. This allows for particularly flexible and universal control options, which, depending on the setup, can even be used independently of the current project, i.e., as part of a custom template project.
In addition to controlling internal functions such as Cuelists, Executors, Master etc., Input Assignment also offers the ability to visualize various pieces of information, for example, in the Softdesk. This includes not only changing the status of a button, whether it is pressed or not, but also displaying text-based information, such as the name of the currently active cuelist or the BPM values of all Speedmasters used in the project. One variant is providing feedback to a MIDI controller with motorized faders, where the position and value are simultaneously visualized in the Softdesk.
Important Features
Basic Concept of Input Assignment
To connect one or more Inputs with one or more Outputs and determine the response to certain input signals, you need a so-called connection set, where the Connections (Links) between inputs and outputs are defined. This is often referred to as a graph. In the table view, all existing connection sets are listed.
![]() |
Each row in the table represents a connection set, which consists of at least two nodes (Nodes) that are connected by at least one connection (Link). |
Banks are containers for connection sets and can contain one or more such connection sets. Dividing them into multiple banks is particularly useful when you want to trigger different actions during programming than during a live show. Each bank can be individually turned on or off - even externally.
Input vs. Output vs. Node
In the context of a more detailed introduction, we will discuss the three types of objects that you will encounter regularly:
- Inputs are all values and commands that are sent into the software. These come, for example, from a keyboard, the Softdesk, or another input device. All signals from the Input tree are used to trigger an action.
- Outputs receive specific values and visualize that value as feedback – they react to actions. For example, this could involve sending feedback about the status of a button, which then changes its color. Another variant could be the positioning of a motorized fader on a MIDI controller. A cuelist, a speed master, etc., is not considered an output (anymore) but a node, according to our definition.
- Nodes have both an input hub (Input Hub) on the left side and an output hub (Output Hub) on the right side, with inputs and outputs for connections, which can all be used simultaneously or sometimes must be used simultaneously. The differences between converter-, logic-, and wrapper-nodes can be read under the section "Nodes."
ID vs. Number vs. Name
The function-specific nodes, meaning the nodes from the program area (wrapper area), can be linked to the corresponding cuelist, executor, speed master, etc. in three ways:
Link | Description | Use Example |
---|---|---|
ID | Unique internal ID of an element within a project, which remains unchanged until the element is deleted. | If you work with many cuelists and rename them regularly, this ensures that the connections continue to work. |
Name | Self-assigned name of the element, such as Cuelist Show 1 or Ambience 2. | If the names of cuelists always remain the same, you can create a template project where the connections are already included. The connection then works immediately as soon as you add a cuelist with the name Cuelist Show 1 or Ambience 2 to your project. |
Number | Automatically assigned, sequential number, but can be changed. | The number-based assignment can be used if you want to trigger a cuelist with only one button press, but you want to change the associated cuelist live with two other buttons. |
Selecting or assigning an element like a cuelist, parameter master, executor, etc., via ID, name, or number can be done not only within a wrapper-node. It is also possible to dynamically assemble these values or information at runtime and pass them live to the input of the node. In this way, different cuelists can be called up based on a custom "talking" number key using only one connection set.
Values
Within Input Assignment, values of different types are used, which the nodes work with.
These can only be converted into another value to a limited extent. If this is possible, conversion nodes are available. A typical example is the To-Color node. Here, you can generate an RGB value from individual faders for red, green, and blue, which can then be processed by the Color Master.
Technical Name | Description | Typical Values | Example |
---|---|---|---|
Bool[1] | Boolean variable for truth values | true / false 1 / 0 |
|
Int | |||
String[2] | String of any characters | This is an example of a string |
Terms and Functions
All terms used in connection with the Eingangszuweisung are explained using the following images of the standard view in the Eingangszuweisung, the table view, and based on a connection set that is currently open in the graph view.
Controls
The window of the Eingangszuweisung is divided into two areas. It consists of the two directory trees for inputs (Input Tree) and outputs (Output Tree), as well as an area with the table or graph view.
Trees for Inputs and Outputs
The left directory tree lists all inputs. The right tree shows all outputs to which information and action requests can be sent. The text fields above the directory trees for inputs and outputs allow you to search for specific inputs or outputs and filter them out from the tree.
Table View
The table lists all created connections between inputs and outputs. Above the table, there are quick-access buttons for editing connections and banks. The table contains up to four columns:
Name | Description | Note |
---|---|---|
Active | Deactivates or activates a connection set permanently within a bank. | Individual connection sets can only be manually deactivated and activated. |
Name | Free description of the connection set. | It is recommended to give each connection set a unique name to help identify possible errors with the kernel’s log files. |
Input | Lists the used inputs. | |
Node | ||
Output | Lists the used outputs. |
If a connection is marked orange, an error occurred during creation. This means that the input cannot be directly connected to the output. To correct the error, switch to the graph view and manually add the connection, possibly using additional nodes.
The menu bar above the table has the following entries and functions:
Icon | Name | Description | ||
---|---|---|---|---|
English GUI | ||||
Group 1: Bank | ||||
![]() |
Menu [Bank] | |||
![]() |
Add | Adds a new bank. | ||
![]() |
Delete | Deletes the selected bank. | ||
![]() |
Rename | Renames the current bank. | ||
![]() |
Clone | Creates a 1:1 copy of the current bank. | ||
![]() |
Active | Activates / deactivates the current bank. | ||
Group 2: Connectionset | ||||
![]() |
Menu [Connectionset] | |||
![]() |
Add | Variant A: If nothing is selected in the tree, a new empty connection set is created in the current table. Variant B: If an entry is selected in both the Input and Output trees, a new connection set is created that links the selected entries. | ||
![]() |
Delete | Deletes the selected connection. | ||
![]() |
Active | Activates / deactivates the current connection set. | ||
![]() |
Move | Moves the selected connection to the selected bank. | ||
![]() |
Clone | Duplicates the selected connection. | ||
Group 3: View | ||||
![]() |
Show graph | Switches from table view to the graph view of the selected graph. | ||
![]() |
Show table | Switches from graph view to the table view of the bank associated with the graph. | ||
![]() |
Visible columns | Shows or removes different columns in the table view. |
Graph View
The graph view is used to adjust and extend connections. To access this view, select the row to be edited and click on [Graphen anzeigen] in the menu bar or double-click the gray field in the row.
In the graph view, the automatically generated function is displayed, which typically consists of the input, possibly a converter, and an output. All elements are connected by a line, the connection (link). Of course, the elements are only visible if the corresponding row in the table view has already been filled with content. If an empty connection set was created, an empty graph view will be shown.
Whether a connection set was generated automatically or you start with an empty connection set and view it in the graph view, you can always add more nodes. The next chapter will explain which nodes DMXControl 3 provides and what functions they have.
Usage
Call
The Eingangszuweisung window can be accessed in three different ways:
- directly via the path « Fenster (Windows) »⇒ « Eingangszuweisung (Input Assignment) »,
- via the Project Explorer, under the entry Projekteinstellungen (Settings) or
- once again via the menu, but here through the entries « Einstellungen (Settings) »⇒ « Einstellungen (Settings) », where the entry Eingangszuweisung can also be found in the opened window.
This window can also be freely positioned in DMXControl through the Panel Concept and, if enough space is available on the screen, can stay open continuously.
Operation of the Input Assignment
Creating a New Connection Set
Verbindungssets can be created in three ways:
- Variant 1: Simply drag an input from the input tree via Drag & Drop onto an output from the output tree. This automatically creates a new connection set in the current bank. DMXControl 3 will also create the corresponding connections within the connection set.
- Variant 2: In both the input tree and the output tree, select the corresponding input or output first, and then use the command above the table « Verbindungsset »⇒ « Hinzufügen » to create a new connection set. This will also automatically create links.
- Variant 3: If you want to create an empty connection set, you can do so via « Verbindungsset »⇒ « Leeres Verbindungsset hinzufügen ».
Modifying an Existing Connection
To modify an existing connection set, you must switch to the graph view. In this view, you can directly drag another input from the input tree into the graph view using Drag & Drop, such as a different button, and drop it on the already existing button. The new input's name will immediately be displayed. The same procedure applies when replacing an output.
![]() |
Not only can you replace a button with a button, but you can also replace a button with a fader. In this case, you may need to adjust the subsequent node, like the Rule of Three or the Binary Switcher, to ensure the connection set continues to work. |
Nodes on the area wrapper behave differently, such as nodes like scene list, speed master, or executor. Here, you change the linked element in the settings. This is particularly useful when correcting a node with many inputs and outputs. The connections on the input and output hubs remain intact.
Another option is to drag the new input, output, or node into the corresponding row in the table view and then switch to the graph view. The additional elements will then be placed freely in the graph view and need to be linked. It's best to delete unused elements from the connection set.
Duplicating (Cloning) a Connection
Copying and pasting connections is not supported. Instead, you duplicate or clone an existing connection. This function can be accessed via the context menu for the previously selected connection. The duplicated (cloned) connection is identified by the addition of "Copy of" in its name.
![]() |
To avoid unwanted side effects after duplicating a connection, every duplicated connection is initially deactivated. With deactivated connections, the preview of values at the inputs and outputs does not work. |
Functions
Banks
In a bank, connections can be grouped. This has the following advantages:
- it helps maintain clarity, especially in growing projects.
- each bank can be activated or deactivated with all its connections, both directly in the Input Assignment and also via the node Bank through, for example, the Softdesk.
The advantage of systematically dividing connection sets into different banks becomes clear when looking at keyboard control. You assign various keys to specific functions and now want to label a Scene (Cue). When typing, the previously set functions would be executed first. This could disrupt a live show. Here, the bank comes into play. If all keyboard commands are stored in a bank titled "Keyboard," it could be activated or deactivated via Softdesk or a specific key combination, allowing you to perform your entries without disturbing the live show.
Nodes
In some cases, an output port cannot be directly connected to an input port because their data formats differ. A converter is required for this connection to work. Such nodes, along with some other types, can be found by right-clicking on a free area of the graph window and selecting « Hinzufügen (Add) » in the context menu. The nodes are categorized into five groups.
The first category, converters (Converter), includes nodes that convert one data type into another. Logic operators are nodes that, for example, combine or rescale two inputs. The nodes from the category "Program Functions" (Wrapper) control various functions in DMXControl 3 itself, such as a Scene List or a Device Group. Inputs and outputs can also be dragged into a graph view via Drag & Drop, just as in the table view.
Converter
Node | DMXC-Version | Footnote | Short Description |
---|---|---|---|
Bitmap | |||
Bitmap from Color | 3.2.1 | Converts a color to a bitmap. | |
Bitmap from Executor | 3.3.0 | 16px | Converts the output of an executor into a bitmap. |
Bitmap from Gobo | 3.3.0 | 16px | Provides the currently selected gobo of a device as a bitmap. |
Bitmap from Matrix | 3.2.1 | Converts the output from a matrix into a bitmap. | |
Bitmap from Numeric | 3.3.0 | 16px | Converts a numeric value into a bitmap. |
Bitmap from Position | 3.2.1 | Generates a bitmap from position with a coordinate system. | |
Bitmap from Radix | 3.2.1 | Converts the output from a radix into a bitmap. | |
Bitmap from Ressource | 3.2.0 | Loads an image file (*.bmp file) such as a gobo or an icon and provides it as a bitmap. | |
Draw Bitmap | 3.2.0 | Generates a bitmap from text, colors, and other parameters. | |
Color | |||
Color to | 3.3.0 | 16px | Converts a color value into various color models like RGB, CMY, or HSV. |
to Color | 3.3.0 | 16px | Provides a color value in different color models. |
Color to RGB | 3.2.0 | 16px | Converts a color value into individual RGB values. |
HSV to Color | 3.2.0 | 16px | Converts the three inputs for Hue, Saturation, and Value into a color value. |
Position | |||
Position to Pan/Tilt | 3.2.0 | 16px | Converts the position input into separate pan and tilt signals. |
Unclassified | |||
Absolute to Incremental | 3.2.1 | Converts an absolute value into a linearly dependent change at the output. | |
Beat to Bool | 3.2.0 | Converts the beat signal (e.g., from the Manual Beat) into a binary signal. | |
Format | 3.2.0 | Formats individual values or assembles a text from multiple components. | |
MacGyver | 3.3.0 | 16px | Reads internal objects from the outputs of other nodes and provides the available values. |
Split | 3.2.0 | Splits any input value, such as RGB or Position, into its components. | |
Value changed to Bool | 3.2.2 | 16px | Passes a signal when the value at the input changes. |
Footnotes
: This node received a functional update in the current version, e.g., with additional inputs and/or outputs.
: This node is entirely new.
: This node is only available in the current version for existing connection sets to maintain their functionality. It cannot be re-inserted. Long-term, this node will be removed in a future version and must be replaced with the described alternative.
Logging
Node | DMXC-Version | Footnote | Short Description |
---|---|---|---|
CSV Logging | 3.2.1 | Creates a CSV file from up to 20 values. |
Logic
Node | DMXC-Version | Footnote | Short Description |
---|---|---|---|
Flip-Flop | |||
D-Flip-Flop | 3.2.1 | Clock state-controlled flip-flop. | |
RS-Flip-Flop | 3.2.0 | Flip-flop with separate inputs for Set and Reset. | |
T-Flip-Flop | 3.2.0 | Toggle flip-flop. | |
T-Flip-Flop with SR | 3.2.1 | Toggle flip-flop with Set and Reset. | |
Selector | |||
Input Selector | 3.2.0 | 16px | Input selector for passing various predefined values or signal paths. |
List Selector | 3.2.1 | Can output an index from an array. | |
Output Selector | 3.2.0 | 16px | Output selector for switching between different subsequent signal paths. |
Not further categorized | |||
Binary Switcher | 3.2.0 | Converts an analog signal into two states (threshold switch). | |
Compare | 3.2.0 | Compares two analog inputs and outputs a Boolean value. | |
Counter | 3.2.0 | Forward and backward counter. | |
Delay | 3.2.0 | Delays the input by the set time. | |
Expression | 3.2.1 | Mathematical expression for creating custom formulas. | |
Fade | 3.3.0 | 16px | Gradually blends from the currently output value to the value at the input with an adjustable rate of change. |
FiFo | 3.3.0 | 16px | Guarantees that values applied simultaneously at the inputs are output with an adjustable time offset. |
Logic | 3.2.0 | 16px | Boolean logic such as AND, OR, etc., for up to 12 inputs. |
LTP | 3.2.2 | 16px | Node for linking up to 12 inputs that pass values to subsequent nodes. |
Math | 3.2.0 | 16px | Mathematical functions such as addition, subtraction, etc., for up to 12 inputs. |
Random | 3.2.1 | Outputs a random value. | |
Rule of Three | 3.2.0 | Scales a value or value range linearly. | |
Schmitt Trigger | 3.2.0 | Noise suppression or hysteresis. | |
Throttle | 3.3.0 | 16px | Defines how quickly or at what rate the value at the input should be reached at the output. |
Timer | 3.2.0 | 16px | Outputs a clock signal as a Boolean value. |
Footnotes
: This node received a function update in the current version, such as additional inputs and/or outputs.
: This node is entirely new.
: This node is only available in existing connection sets to ensure functionality. It can no longer be inserted again. In the long term, this node must be replaced by the described alternative, as it will be entirely removed in a future version.
Value Object
Node | DMXC-Version | Footnote | Short Description |
---|---|---|---|
Matrix | 3.2.1 | Creates an object for a Matrix with predefined parameters. | |
Radix | 3.2.1 | Creates an object for a Radial Matrix (Radix) with predefined parameters. | |
Strobe | 3.3.0 | 16px | Creates a strobe object consisting of type and speed. |
Footnotes
: This node received a function update in the current version, such as additional inputs and/or outputs.
: This node is entirely new.
: This node is only available in existing connection sets to ensure functionality. It can no longer be inserted again. In the long term, this node must be replaced by the described alternative, as it will be entirely removed in a future version.
Wrapper
The displayed information is obtained from the assigned element itself, which thus provides real feedback, especially in terms of the Output Hub. The assignment to a Cuelist or an Executor (i.e., all nodes from the Wrapper section) can be changed dynamically during runtime.
Node | DMXC-Version | Footnote | Short Description |
---|---|---|---|
Cuelists | |||
All Cuelists | 3.2.1 | Outputs the status of all Cuelists from the current project. | |
Cue | 3.2.0 | 16px | Reads the properties of the parameterized scene. |
Cuelist | 3.2.0 | Triggers the parameterized cuelist and reads the states. | |
Cuelist Group | 3.2.1 | Triggers the parameterized Cuelist Group and outputs the states. | |
Devices | |||
Device | 3.2.0 | Selects Devices and queries their properties. | |
Device Group | 3.2.0 | Selects Device Groups and queries their properties. | |
Procedure | 3.2.1 | Executes processes of specific devices or device groups. | |
Selected Device Group | 3.2.0 | Outputs the currently selected device or device group. | |
Electricity Management | |||
Power Source | 3.2.1 | Selects Power Sources and queries their properties. | |
Executors | |||
Dynamic Executor | 3.2.0 | 16px | Controls the currently selected Executor Page and reads the attached states. |
Executor | 3.2.0 | 16px | Controls a specific Executor and reads its current states. |
Executor Page | 3.2.0 | Outputs the current states of the parameterized Executor Page. | |
Selected Executor | 3.3.0 | 16px | Selects or toggles a selected executor and outputs the currently selected page. |
Selected Executor Page | 3.2.0 | Selects or toggles a selected executor page and outputs the currently selected page. | |
Global Functions | |||
Blackout | 3.2.0 | Activates and deactivates Blackouts and outputs the current state. | |
Freeze | 3.2.0 | Activates and deactivates Freeze (Freeze) and outputs the current state. | |
Highlight | 3.2.0 | Activates and deactivates Highlight function and outputs the current state. | |
Manual Beat | 3.2.1 | 16px | Creates a beat and outputs its properties. |
Interfaces | |||
DMX-Interface | 3.2.1 | Activates and deactivates a DMX Interface and outputs the current state. | |
DMX-Interface-Port | 3.2.1 | Activates and deactivates the port of a DMX interface and outputs the current state. | |
Macroboards | |||
Macroboard | 3.2.2 | Passes information to a Macroboard and its associated profile. | |
Macroboard-Profile | 3.2.2 | Selects pre-configured macroboard profiles for use on a connected macroboard. | |
Macroboard-Profile Button | 3.3.0 | 16px | |
Masters | |||
Color Master | 3.3.0 | 16px | Passes a color value to the associated Color Master, controls it, and queries its state. |
Grand Master | 3.2.0 | Controls the Grand Masters and queries its state. | |
Group Master | 3.2.0 | Controls the set Group Master and queries its state. | |
Parameter Master | 3.2.0 | 16px | Controls the set Parameter Master and queries its state. |
Position Master | 3.3.0 | 16px | Passes a position value to the associated Position Master, controls it, and queries its state. |
Speed Master | 3.2.0 | 16px | Controls the set Speed Master and queries its state. |
Sounds | |||
All Sound Files | 3.2.1 | Stops all audio files and outputs all running and non-running audio files. | |
Sound File | 3.2.1 | Plays and stops an audio file. | |
Timecodes | |||
Timecode Show | 3.3.0 | 16px | Controls an assigned timecode show. |
Not Categorized Further | |||
Bank | 3.2.0 | Activates and deactivates a bank or reads the current information from the bank. | |
DMXC Mixer | 3.2.1 | Outputs the current output values of a device. | |
Programmer | 3.2.0 | Operates the Programmer and reads the filter mode. | |
Project | 3.3.0 | 16px | Provides commands to save, close, and load a project, as well as general information. |
Footnotes
: This node received a functional update in the current version, for example, in the form of additional inputs and/or outputs.
: This node is completely new.
: In the current version, this node is only available in already existing connection sets to maintain their functionality. You can no longer insert this node again. Long-term, this node must be replaced by the alternative described, as it will be completely removed in a future version.
Here is the translation of the provided text, keeping the MediaWiki control characters untouched:
Inputs & Outputs
Group | Node | Value Range | Description |
---|---|---|---|
Inputs | |||
Electricity | Overload | low / high | Goes to High as soon as a circuit is overloaded in Electricity Management. |
DMX In | 1 / 2 | 0 - 255 | Folder 1 or 2 indicates the universe, and 1.1 is the DMX address 1 in universe 1. |
Beat | Manual Beat | low / high | Outputs the beat from the Manual Beat. |
Keyboard | |||
Softdesk | Buttons | low / high | Outputs the state of a button, where low means not pressed and high means pressed. |
Slider | 0-100 | Outputs the current position of the fader as a value. | |
ColorBar | HSV | Passes the color value as RGB values. | |
Position | Position | ||
Bank | |||
Dynamic Executor | |||
Programmer | |||
Master |
Examples
The following examples are based on the respective main functions in DMXControl 3, for which the corresponding connection set is created.
Cuelist
- Run Cuelist as long as the button is pressed
- Display the status of a Cuelist (Cuelist) on a button in the Softdesk with different colors
Programmer
- Set a position for the currently selected moving head using two faders in the Softdesk
Master
- Control a fader with a Parameter Master and also receive feedback from it
Beat Control
- Trigger the Speed Master (Speed Master) with buttons and display the current BPM value in the Softdesk
Links and References
Further Information
- ↑ Wiki article on Boolean (Computer Science) https://de.wikipedia.org/wiki/Boolean
- ↑ Wiki article on String (Computer Science) https://de.wikipedia.org/wiki/Zeichenkette