Button Properties

The selection of a button will automatically open the button's properties window.

The title bar shows the following information:
  • The panel ID, in this case 2
  • The panel name, here Test
  • Page 1 means that the button is located on the first page of the control panel.
  • The button ID, in this case 0, and
  • The button type, here a Generic button.

With the pin symbol in the top left, the window can be locked into one position on the monitor.

StyleLink to Style

The Style tab allows the choice of colour, opacity, as well as style of the button and the label that should be used. The setting under Normal Color represents the colour that is shown when the button is not active. To select colours, use the two arrows on the right side (top for the background, bottom for the font) of the field.
Colour selection for button background

The field shows the currently selected button background colour and the text colour both on a monitor (On-Screen Color) and on a hardware control panel (LBPxx Color is initially changed with the on-screen color, but can be edited later). The colour settings for BDxx Color refer to an older control panel generation and do not apply to current devices.
In normal mode, colour saturation can be changed in the fields following Opacity. Ticking the box in front of Blink will cause the button to blink.
Under Active Colour, the same colour settings are available for the active state.

The drop down menu located below the Style header allows the choice of display styles for buttons. These different display possibilities are not shown in the panel edit and are only visible through the vsmPanel software.

In order to make the value on buttons changeable, the option Use Inline Editing can be selected if a gadget parameter was placed on a button and the normal style was selected. If, on the other hand, Value Only Display is selected, the gadget parameter placed on the panel is only displayed.
The drop down menu under Preferred Label allows the choice of the displayed label for inputs and outputs.

SecondaryLink to Secondary


A Secondary Command is a button function. It allows buttons to be assigned functions in addition to their primary functions. Secondary commands can be accessed as tab in the panel edit's properties window. Alternatively, the relevant secondary function can simply be placed on the respective button while pressing the Ctrl-button.
The tab Secondary is empty by default. Different functions, for example GPIOs, signals, crosspoints, gadgets, panels, timers, or storage discs can be placed here and attached to different methods of execution.
These functions will then be executed as secondary function of the button in accordance to the options defined in this window.

Once a secondary command has been added, a white S will be shown on green background in the bottom of the button.

If an element has been placed in the secondary field, the predefined columns Application, Condition, Action, Value, and Name offer different ways to specify further how the secondary commands are to be executed. The options available in the field under Action hereby depend on the selected function.

The options under Application and Condition are the same for all secondary commands.

The following options are available under Condition:
Released: The secondary function will be executed as soon as the button is released.
Pressed: The secondary function will be executed when the button is pressed.
Sync: If the button itself as well as the secondary command is a gadget parameter (see Gadgets) with the same function and the same value range (that is gain from 0 to -128dB), the value used in the secondary command will follow the value of the button.
Conditional:
Held > 1000ms: The secondary function is executed when the button is held longer than 1000ms.
Held > 100ms: The secondary function is executed when the button is held longer than 100ms.
Release > 100ms: The secondary function is executed when the button is released after more than 100ms.
Release < 100ms: The secondary function is executed when the button is released before 100ms passed.
Action for Sources:

Pool Reset:
Pool Prune:
Induce Label:
Action for Targets:

Disconect: Disconnect (default setting) connects the target with the blind source.
Disconnect & Flush Queue:
Previous: Previous connects the target with the previously connected source.
Set Label Override:
Master Lock:
Master Unlock:
Swap Source with Selected Target's Source: Will swap the selectedTarget source with the secondaryTarget source. Can be uses with a Generic button.
Push Source to Selected Target: Will switch the selected Target Source to the secondary Target 
 

Pull Source from Selected Target: Will push the secondaryTargetSource to selectedTarget Source.

Induce Label:
Action for Crosspoints:

Connect: The crosspoint is placed.
Queue: Connect &Flush:
Queue: Auto-Acknowledge:
Queue: Request Next:
Queue: Disconnect & Flush: refers to the queue connect function.
Toggle: Toggle switches between the crosspoint or the crosspoint blind > target at the push of a button.
Action for Gadgets (Values):

Set Absolute: Set Absolute (default setting) changes a parameter to the value that was entered in the Value field.
Set Relative: Set Relative will change the parameter by the interval defined in the Value field (with +/- as prefix).
Find & Set Absolute:
Find & Set Relative:
Action for Gadgets (EntryField):

Set:
Find & Set:
Action for Gadgets (DropDownList):

Set:
Find & Set:
Next:
Action for Panels:

Escape: Escape (default setting) deselects the active components of the selected control panel.
Goto: Goto jumps to a different panel.
End Alarm Processing: End Alarm Processing ends the alarm processing on the selected panel.
Action for Timers:

Run:
Pause:
Stop:
Reset:
Restart:
Action for Storage Discs:

Load: Load (default setting) loads a pre-defined storage group, Save saves it.
Save: Load (default setting) loads a pre-defined storage group, Save saves it.
 
Value: Defines the Value to be set.
Name: Displays the name of the Secondary function.

With the function Assign DAS Alias that can be found below the panel name, the secondary function can be used in connection with Dynamic Attachment Scripts (DAS) by entering a unique name. This allows all secondary functions to be used dynamically.

Dynamic Attachment Scripts can be used in combination with secondary commands. By combining the two, dynamic secondary commands can be generated on buttons. To do so, a signal or parameter has to be added in the secondary tab und button properties. Select the function Assign DAS Alias in the column Name and enter a unique name. This name must be used in the Dynamic window in the future.

If, for example, the gain of the selected target is to be locked at -20dB on a generic button, place an arbitrary gain in the secondary window and define it according to the requirements (Set Absolute with value -20). Then, select Assign DAS Alias in the column Name, and enter a name, for example Gain. Next, the following script must be used in the Dynamic window: "Gain"=selectedtarget.meta:"Gain".
 

LayersLink to Layers

Under the Layers tab, certain layers can be activated or deactivated (see Pseudo Devices).

AttachmentLink to Attachment


Static Attachment: Shows the static attachment.
User Assignable on Page: Allows you to assign the button from another page. Once checked you can choose from the available Pages in the Drop Down List.
On vsmPanel you need to press and hold the button until the page will switch. Here you can choose the button which should be assigned to this button.
<<User Assignable on Page.avi>>
Current User Attachment: Shows the currently assigned attachment from another page.
Override button's active state with attachment's state (where possible): Can be used with Gadgets that for example have an on/off status. When selected the button will be displayed in bright yellow (active) if the status is on.
 

DynamicLink to Dynamic

The Dynamic tab is empty by default.

It provides space to enter Dynamic Attachment Scripts. Dynamic Attachment Scripts – short DAS – are scripts that the VSM control system uses to make assignments dynamically.
As soon as a script has been assigned to a button, a white D on a green background will appear on the button.

The Dynamic window allows the simultaneous configuration of multiple scripts. Scripts are entered line by line and are executed from top to bottom, until a script with a true result ends the execution of the scripts. Dynamic attachments scripts are not case sensitive.
Generally, the same button function (signal, control button, etc.) is selected that the script is meant to generate in the end. A gain, for example, would usually be placed on a control button, while a target would be placed on a target button.
The following scripts can be used for the described applications:
  • trace: This script is added in the first line of a DAS and can be used optionally to display the result of a script in the CommTrace.


    Warning
    This script impedes system performance and should therefore be deleted after testing and verification of a script.

  • selectedtarget: With this script, the target selected on the panel will appear on the button on which the script is executed.
  • selectedtarget.source: This script allows accessing the source corresponding to the selected target. This function only becomes visible if a source button is used.
  • connectedsource: This script allows accessing the source corresponding to the selected target.
  • selectedsource: This script allows access to the selected source.
  • selectedgadget: If a selected parameter can be activated, it can be accessed with this script.
  • selectedcomponent: With this script, a selected element, a parameter, or a GPI (except for signals) can be accessed.
  • attached: This script gives access to a function that is concealed "under" a button. If, for example, a source or a target is placed on a button, and a GPI or gadget button is placed on the same button, the script attached will provide the "attached" function. This means that if a target is placed on the button first followed by a source button, the script

attached.source
will provide the source of the target previously placed on the button.

  • current: With this script, the last evaluated script will be shown until it is re-evaluated. The script

selectedtarget
current
results in the display of the last active target until a new target is selected.

  • target= or source=: These scripts are generally used in combination with a control button. They become crosspoint buttons.

target=selectedtarget
or
source=selectedsource
for example, dynamically generate a crosspoint from the selected target and source.
If a source should be generated dynamically (for example the currently selected source) and the corresponding target should be locked, a crosspoint with the locked target is used. The source of the crosspoint is hereby irrelevant. In this scenario, the script would look as follows:
target=attached
source=selectedsource
The same procedure works the other way as well (dynamic target, locked source).

  • pSource: The p in the beginning of the scripts stands for physical. When this prefix is used, the next available physical source in the signal flow is displayed. Virtual signals in the signal flow are ignored.

selectedtarget.psource
for example, displays the next outgoing physical source of the selected target.

  • fSource: The f in the beginning of the script stands for far. Using this prefix, the first source in the signal flow will be displayed.
  • cardinal: The attribute main source or cardinal source was added in order to be able to reach signals in the signal flow that are neither located at the beginning nor before the selected target. A signal can only be found using this script if the attribute signal path Is "Cardinal" Source is selected in the signal path properties (see Signal Path Attributes).
Main source indicator

selectedtarget.cardinalsource would be an example of a valid script.
  • target: This additional script allows access the target located at the end of the signal flow from another target in the signal flow, for example by using the script
  • selectedtarget.target
  • meta: This script is used to gain access to previously created gadgets (see Gadgets) from pre-defined meta gadget containers (see Meta Gadgets). The relevant syntax becomes clear in the following example: If the corresponding volume has been assigned to a target in the meta gadgets, the script

selectedtarget.meta:"Volume"
will provide the corresponding volume value. Similarly, this script can be used for all values stored in meta gadget containers.

  • activate=: This script allows the dynamic activation of a parameter, for example to be able to modify it through an incremental encoder. As an example: In order to modify the volume belonging to a selected target, this value must be generated and activated on the position of the incremental encoder.

activate=selectedtarget.meta:"Volume"
selectedtarget.meta:"Volume"
or
activate=selectedtarget.meta:"Volume"
activate

  • <signal>:"layer": This syntax allows the generation of values (that is signals, parameters, etc.) due to definitions of pseudo devices (see Pseudo Devices). Based on the selected target,

selectedtarget:"Audio 2"
for example, searches the target that is located in the column Audio 2 under pseudo devices (see New Pseudo Device Rule).

  • /follow=: With this script, parameters can be set to follow each other. This becomes relevant for application with stereo gains. Using the script

Selectedtarget:"Audio 2".meta:"Gain"/follow=selectedtarget.meta:"Gain"
the gain parameter based on the selected source and belonging to the signal defined in the column Audio 2 in the pseudo device rules is set to follow the gain of the selected target.

  • xconnect: With this script, a crosspoint generated by DAS is executed at once. For example, to dynamically connect a locked target to a selected source, a crosspoint with the required target is chosen. The script on the crosspoint button would read as follows:

target=attached
source=selectedsource
xconnect

  • if: This script allows the generation of events depending on the occurrence of certain other events. If, for example, a crosspoint is only to be generated if a gain parameter was added to the selected target in the meta gadget container, the following script would be used:

if(selectedtarget.meta:"Gain")
target=selectedtarget
source=selectedsource

  • visibility=: In combination with the if-script, buttons can be made visible or invisible with this script. If a navigation button is to be made invisible if the selected target has a meta gadget gain:

if(selectedtarget.meta:"Gain")
visibility=false

VisibilityLink to Visibility

The Visibility tab offers different settings concerning the button display.

Visible during "Normal" Operation is ticked by default and causes the button to be displayed. The option Visible during "Record" Operation affects storage groups (see Storage Groups).
A crosspoint or a GPIO (see GPIOs) can be placed in the drop down menu beside Visibility is also controlled by. These will also influence the visibility of the button. The triangle symbol after the field indicates the logical connection. The standard view indicates that the button is displayed as soon as the assignment defined here is true. If the triangle has a black dot in its right tip, the button will be displayed of the assignment is false.
If the box in front of Hide when not active is ticked, the button will only be displayed when it is active.
Enabled during "Normal" Operation is ticked by default and is required so that the button can be operated. Enabled during "Record" Operation is also ticked by default. If it is deactivated, the button cannot be selected while a storage group (see Storage Groups) is recorded.
The drop down menu beside Enable is also controlled by allows the placing of a GPIO (see GPIOs) or a crosspoint which can also influences the availability of the button. The triangle symbol behind the field indicates the logical connection. The standard view indicates that the button will be displayed as soon as the predefined assignment is true. If a black dot is shown in the right bottom tip of the triangle, the button will be displayed if the assignment is false.
The option Don't "dim" the Button when disabled can be used to display the actual colour instead of the light gray used as default.

ExtraLink to Extra


Additional functions can be assigned under the Extra tab:
Deselect active Target: All currently selected sources, targets will be deselected.
Deselect active Component: All currently selected gadgets will be deselected.
Suppress TAKE for this target: Will ignore the Take button on the panel for this target.
Suppress TAKE for this button: Will ignore the Take button on the panel for this source.
Toggle with Previous Source: It is possible to switch back to the previous source by selecting the current source again.
Execute when Pressed: The function will be triggered as soon as the button is pressed.