ProppFrexx Control-Commands
Posted: 10 Apr 2012 16:18
By using so called 'Control-Commands' you can trigger almost any activitiy (action) you might also perform via the graphical user interface.
A single control-command encapsulates a certain action to perform (e.g. start the scheduler, play the next track, play a cardwall entry, change the volume of a mixer-channel etc).
The complete list of all available control-commands can be found in the appendix of the user manaul.
Where are Control-Commands used?
Control-Commands can be used at several places. The most common scenarios are the following:
1. Trigger an external 'action' when something 'happens' within ProppFrexx
2. Trigger an internal 'action' when something 'happens' outside of ProppFrexx
Trigger an external 'action' when something 'happens' within ProppFrexx ONAIR
To do so you can use any of the defined internal 'Events'. An event is a predefined notification point within ProppFrexx ONAIR which is triggered whenever the related event actually occurs.
Beside global System-Events (see the general settings dialog, section 'Events/Commands') there are:
As indicated before, control-commands mostly do have parameters (see the user manual for details). The full syntax is:
Meaning:
The first value is the name of the control-command. If parameters are needed, they are separated from the control-command-name by a space and the individual parameters are then separated by the pipe-character ('|').
Example1:
This control-command would start playing the first card in the Cardwall I. "CW1_PLAY_CARD" is the control-command-name and "1" is the only parameter.
This control-command would set the volume of the OUT1 mixer-channel to a linear value of 0.5 (which is -6dB). "MIXER_OUTPUT_VOLUME_SET" is the control-command-name and "OUT1" and "0.5" are the two parameters.
Note: When using the 'Control-Commands Builder' you might notice, that 'Parameter' line might be populated with some 'help' text, which contains/describes the needed parameters. It is important to notice, that this text is really be some help text and does NOT reflect the syntax of the parameters.
Example (the "MIXER_OUTPUT_VOLUME_SET" action might show the following parameter help text):
Any text enclosed in square brackets ('[', ']') means, that these parameters are optional.
Any text enclosed in peaked brackets ('<', '>') specify one parameter and needs to be replaced by its actual parameter value.
Any text enclosed in round brackets ('(', ')') just gives you a hint about the possible value range.
In the example above it means:
<mixername> is optional and should be replaced by the name of the mixer-channel to use (e.g. replace this with OUT1, as shown above).
<volume(0.0...1.0)> is mandatory and should be replaced with the volume value to use (which might be between 0.0 and 1.0).
Trigger an internal 'action' when something 'happens' outside of ProppFrexx ONAIR
ProppFrexx ONAIR comes shipped with various external GPIO (general purpose input/output) interfaces, which can be used to communicate with external applications or hardware. These are:
Note, that you need to define a 'Mapping' between the external events (e.g. a MIDI Short Message or a GamePort button) and the control-command to be associated.
This is done in the respective 'Mapping Definition' dialog of the respective GPIO interface (just click on the flash arrow icon next to the 'Mapping' field to do so).
A single control-command encapsulates a certain action to perform (e.g. start the scheduler, play the next track, play a cardwall entry, change the volume of a mixer-channel etc).
The complete list of all available control-commands can be found in the appendix of the user manaul.
Where are Control-Commands used?
Control-Commands can be used at several places. The most common scenarios are the following:
- You want to use your external (MIDI) controller to remotely controll cetain elements of ProppFrexx ONAIR (e.g. control mixer-channels, control the playback of Players or Cardwalls) etc.
- You want to update your web-site whenever a new track starts to play)
- You want to control the status of an OnAir light whenever a mixer-input is 'On'
- You want to synchronize ProppFrexx with another application (vice versa)
- etc.
1. Trigger an external 'action' when something 'happens' within ProppFrexx
2. Trigger an internal 'action' when something 'happens' outside of ProppFrexx
Trigger an external 'action' when something 'happens' within ProppFrexx ONAIR
To do so you can use any of the defined internal 'Events'. An event is a predefined notification point within ProppFrexx ONAIR which is triggered whenever the related event actually occurs.
Beside global System-Events (see the general settings dialog, section 'Events/Commands') there are:
- Track related events (triggered with that particular track, like 'OnTrackPlayed' or 'OnTrackStopped' or even triggered when a certain playback position is reached)
- Mixer-Channel related events (triggered with that particular mixer-channel, like 'OnFaderStart' or 'OnMute' etc.)
- Streaming-Server related events (triggered with that particular streaming server, like 'OnServerStarted' or 'OnServerStopped' etc.)
- Scheduler related events (triggered with )
As indicated before, control-commands mostly do have parameters (see the user manual for details). The full syntax is:
Code: Select all
<control-command-name> <parameter1>|<parameter2>|...
The first value is the name of the control-command. If parameters are needed, they are separated from the control-command-name by a space and the individual parameters are then separated by the pipe-character ('|').
Example1:
Code: Select all
CW1_PLAY_CARD 1
Code: Select all
MIXER_OUTPUT_VOLUME_SET OUT1|0.5
Note: When using the 'Control-Commands Builder' you might notice, that 'Parameter' line might be populated with some 'help' text, which contains/describes the needed parameters. It is important to notice, that this text is really be some help text and does NOT reflect the syntax of the parameters.
Example (the "MIXER_OUTPUT_VOLUME_SET" action might show the following parameter help text):
Code: Select all
[<mixername>|]<volume(0.0...1.0)>
Any text enclosed in peaked brackets ('<', '>') specify one parameter and needs to be replaced by its actual parameter value.
Any text enclosed in round brackets ('(', ')') just gives you a hint about the possible value range.
In the example above it means:
<mixername> is optional and should be replaced by the name of the mixer-channel to use (e.g. replace this with OUT1, as shown above).
<volume(0.0...1.0)> is mandatory and should be replaced with the volume value to use (which might be between 0.0 and 1.0).
Trigger an internal 'action' when something 'happens' outside of ProppFrexx ONAIR
ProppFrexx ONAIR comes shipped with various external GPIO (general purpose input/output) interfaces, which can be used to communicate with external applications or hardware. These are:
- TCP Device: allows native communication with any TCP/IP based client
- MIDI Devices: allows receiving (and sending) MIDI messages from/to up to two different MIDI devices
- Serial I/O: allows receiving (and sending) data from/to a serial interface port
- GamePort: allows receiving events from a general game port or joystick device
- Keyboard Hotkey: allows you to assign commands to any keyboard event
- Open Sound Control (OSC): allows receiving (and sending) data from/to any other OSC client/host (via UDP)
- IO-Warrior: allows direct communication with a IO-Warrior interface card (contact closure support)
- Velleman: allows direct communication with a Velleman interface card (contact closure support)
Note, that you need to define a 'Mapping' between the external events (e.g. a MIDI Short Message or a GamePort button) and the control-command to be associated.
This is done in the respective 'Mapping Definition' dialog of the respective GPIO interface (just click on the flash arrow icon next to the 'Mapping' field to do so).