Introduction
Controls are the fundamental building blocks of your UNIVERSE interface. They available from the Toolbar on the left of the UNIVERSE window and easily be dragged onto a stage.
Stacks
Command
To connect Controls with Devices in UNIVERSE we use Commands. A Command is an action defines for a Device that comes with the list of parameters.
Most Controls have a Command Stack in the form of a list of Commands. Some Controls even have multiple Command Stacks. E.g. the button has two Command Stacks, one for the press and one for the release event. The Command Stack of a selected Control is shown in the Logic Panel at the bottom of the Editor window.
To add a Command to the Stack drag and drop the Device you want to add a Command for from the list to the Command Stack.
Commands in the Stack are execute in the order they appear in the Stack. They can also be reordered by dragging them to a new position.
To copy one or more Commands from one Stack or Control to another simly select them and press Ctrl
+ C
and paste them to the new Stack with Ctrl
+ V
.
Once started, the Command Stack always executes completely to ensure a defined state.
Wait times
Sometime Devices may need to have a certain delay between Commands in order to process them reliably. You can do so by adding a Wait time to the Command. This Wait time is defined in milliseconds is relative to the the start of the Stack execution.
Note: We recommend to only use Wait times up to a few seconds in the Command Stack since the Stack always executes completely. If you need to set up longer sequences of Commands take a look at the Timeline.
Trigger
Many Controls also support Triggers. Triggers are a mechanism to start the execution of a Command Stack by incoming data or events. The Trigger Stack of a selected Control can be accessed under "Trigger" in the Logic Panel. Triggers can be added to a Control in the same way that we add Commands by dragging and dropping them from the Device list to the Stack. Like Commands they can have a list of parameters, too.
By default there are three Devices in every UNIVERSE Project that provide Triggers:
TIMER Trigger
The TIMER Trigger allows you to add time-based execution to a Control. There are two different modes for the Trigger:
- Single: The Control is triggered on defined points in time, like e.g. an alarm clock.
- Tick: The Control is triggered in certain intervals once or in repeatedly, like e.g. a timer.
Controls that have a TIMER Trigger in Single Mode in their Trigger Stack are added to the Schedule Panel. THey also support a descriptive name that can be added in the parameters and will be displayed in the Schedule Panel. By default the TIMER Trigger is only active in Show Mode. To enable TIMER Triggers in Edit Mode go to the Project Properties in the Project Menu and check "Allow Timer Trigger in Edit Mode".
WATCHDOG Trigger
The WATCHDOG Trigger can execute a Control based on changes of the connection state of a Device. E.g. execute a Button that sends a notification when a Device loses/restores its connection. WATCHDOG Trigger can be (de-)activated globally in the Footer Panel of the Editor window by clicking the Watchdog
button.
UNIVERSE Trigger
With the UNIVERSE Trigger you can react to events that are emitted by UNIVERSE itself, like Stages coming in and out of view.
Advanced Stack management
Every Command and Trigger in a Stack has a checkbox to determine wheather it is active or not. This property of a Command or Trigger can also be set from other Controls using the UNIVERSE Device. With this feature you can dynamically determine which Commands are executed and which Triggers are active. Check out the PTZ Control demo as an example.
Properties
Every Control has a set of Properties that can be accessed in the "Properties" tab of the Info Panel on the right of the Editor window. Some of these Properties are shared among all Controls and some are specific for one Control as they determine e.g. the behaviour.
This chapter lays out the Properties that all Controls share.
Name
The Name of a Control is a unique identifier across the project. If a Name is already taken by another Control UNIVERSE will add a number at the end of the Name.
A use case where the Name becomes relevant is when you want to target a specific Control with the UNIVERSE Device. The dropdown list that contains all Controls will display their Names.
Comment
This field gives you the possibility to set short comments for Controls. They can be displayed in Edit Mode by selecting "Toggle Comments" in the "View" menu. Comments can be used to leave explanatory notes for youself or other people to simplify getting into project at a later point.
Visibility
This Property determines if a Control is visible in Show Mode. If the box is unchecked the Control will be hidden.
Appearance
This set of Properties contains all parameters that affect how a Control looks on Stage. That includes background and highlight colors as well as font colors for the different states a Control can be in.
Control Groups
Controls can be grouped into Control Groups. These can that be styled or controlled like a single Control. To see how to use Control Groups take a look at the PTZ Control and the Radio Button Group demos.
State
This section contains all Properties that affect the state and behaviour of a Control
Freeze
A Control can be frozen to prevent it from being executed. This especially helpful if you need to wait for another process to finish before something else can be started. This Property can also be set using the UNIVERSE Device on a single Control or Control Groups.
Trigger Listen
This Property determines if the Control reacts to the external Triggers in its Trigger Stack. This is useful if you need to ensure that a Control is not triggered by external events, e.g. during testing or initialization. This Property can be set with the UNIVERSE Device.
UNIVERSE Listen
Similar to "Trigger Listen" but corresponds to internal Triggers like the UNIVERSE Device.
Spare from Orbiter
Parameter lists of some Commands can be fed by the Orbiter. For example this can be the list of available timelines in a media server. In some cases you might not want to use that feature because you need to work with indices that are linked to the parameter field. Therefore you can disable Orbiter data for this Control by checking "Spare from Orbiter".
Fonts
This section holds all Properties affecting the font attributes except the color. This includes font family, size and weight as well as alignments and decoration.
Layout
This section holds all Properties that determine position and size of a Control.
Stream Deck
By default the font settings for the StreamDeck are synced with the general font settings of the Control. Sometimes you might need to increase font size or other font properties for the StreamDeck view without changing the settings for the view on Stage. Uncheck "Use Control Font Style" to unlink the views and apply separat settings for the StreamDeck.
Advanced Property management
Some Properties are explicitly listed in the UNIVERSE Device but all Properties can be set using the UNIVERSE Device. Select the "Property" Parameter of the Command and enter the Property name and the value to be set. "Animated Property" lerps the current value of the Property to the new value in a given time.