Tools
Support
Pangolin Family of websites
Pangolin Laser Systems, Inc.
Kvant Lasers
Unity Lasers
ScannerMAX
Lasorb
Tools
Support
Pangolin Family of websites
Pangolin Laser Systems, Inc.
Kvant Lasers
Unity Lasers
ScannerMAX
Lasorb
This is an old revision of the document!
BEYOND offer control by means of OSC protocol. BEYOND act as server, what meat that it execute commands (messages) sent by OSC Client. There are many OSC Client applications for various platforms. Typically OSC Client application allow to create or adjust User Interface that will generate the messages. BEYOND will receive and execute the message. BEYOND has ready for use OSC Server that do not require any configuration or settings. You (client application) need to send the message corresponding address and corresponding arguments. Information about OSC messages is below.
OSC Message contains 3 parts:
As example, for control of master position. The address is /beyond/master/livecontrol/position. Together with the address the OSC Client must send 2 or 3 values - X, Y (optional Z) axis. As example, in TouchOSC you will need to enter the address and define the value range (min, max). The value and its type will be added automatically by TouchOSC.
BEYOND support integer number (i), float point number (f), and string (s). Other data types ignored. You need to ensure that OSC client send correct type of argument to BEYOND.
Supported addressing schemes.
Characters: , / [ ] { } * ? ! ' ' # are used for address format and can not be used in names. These characters.has special functionality:
Extended syntax when use OSC servers in PangoScript. (not relating to OSC clients such as TouchOSC, Lemur and so on)
It is possible to use OSC syntax in PangoScript. You type an address and arguments. Scripter will analyze and supply for execution into BEYOND OSC servers. You can use variables of script inside address. Variable name should be inside < >
Example:
var MyVariable MyVariable = 0 /beyond/zone/<MyVariable>/select 1
This kind of server provide a direct access to internal object of BEYOND. No extra layers, or something in between. BEYOND receive the OSC packet, analyze the address and if the address point on direct server, the BEYOND execute it right after the address parsing. Such servers has fixed address part and number of arguments.
Server: DMX Input | ||
Address | Argument type(s | Commentary |
/beyond/dmx | fff..f | Gateway. array of f (floats) goes to DMX output. value 0..255. “-1” is special “undefined” state |
Server: Beams | ||
Address | Argument type(s) | Commentary |
/beyond/beams | fff..f | Gateway. Control beams. Works as brightness control per beam. 0 - off. 255 - on. |
Server: Channels | ||
Address | Argument type(s) | Commentary |
/beyond/channels | fff..f | Gateway. Control channels. Value range 0..1 |
Server: MULTI TOUCH interface | ||
Address | Argument type(s) | Commentary |
/beyond/touch/x | f | value 0..1. |
/beyond/touch/y | f | value 0..1. |
/beyond/touch/z | f | value 0..1, means a pressure. 1 full pressure. 0 - off |
There are a few areas where used Live Control object:
/beyond/master/... /beyond/cue/... /beyond/zone/... /beyond/projector/... /beyond/protrack/...
example of full path to Live Control:
/beyond/master/livecontrol/size /beyond/cue/0/0/livecontrol/size /beyond/zone/0/livecontrol/size /beyond/projector/0/livecontrol/size /beyond/spatial/0/livecontrol/size /beyond/smart/0/livecontrol/size
NOTE 1
/beyond/protrack/ - here can be used index or name of protrack-object /beyond/zone/ - here can be used index or name of zone-object
In the table below a list of functions (ending name of the address):
Function | Type | Commentary |
size | f | -400..400 - one size for all 3 axis |
sizex | f | -400..400 |
sizey | f | -400..400 |
sizez | f | -400..400 |
zoom | f | 0..100 |
posx | f | -32768 .. 32768 . Coordinate for output 16 bit |
posy | f | -32768 .. 32768 . Coordinate for output 16 bit |
posz | f | -32768 .. 32768 . Coordinate for output 16 bit |
anglex | f | -360*8 .. 360*8 . 8 rounds |
angley | f | -360*8 .. 360*8 . 8 rounds |
anglez | f | -360*8 .. 360*8 . 8 rounds |
rotox | f | -360*4 .. 360*4 . 4 rounds per second |
rotoy | f | -360*4 .. 360*4 . 4 rounds per second |
rotoz | f | -360*4 .. 360*4 . 4 rounds per second |
brightness | f | 0..100 |
visiblepoints | f | 0..100 |
colorslider | f | 0..255 |
anispeed | f | 0..400 |
scanrate | f | 10..200. 100 default |
red | f | 0..255 |
green | f | 0..255 |
blue | f | 0..255 |
alpha | f | 0..255 |
fx1 | f | -1..47. -1 means stop. 0..47 - effect index. 48 effects per row |
fx2 | f | -1..47. -1 means stop. 0..47 - effect index. 48 effects per row |
fx3 | f | -1..47. -1 means stop. 0..47 - effect index. 48 effects per row |
fx4 | f | -1..47. -1 means stop. 0..47 - effect index. 48 effects per row |
fx1action | f | 0..100. effect action. 100 means fill action |
fx2action | f | 0..100. effect action. 100 means fill action |
fx3action | f | 0..100. effect action. 100 means fill action |
fx4action | f | 0..100. effect action. 100 means fill action |
size | ff | size by x,y axis. -400..400 |
pos | ff | position by x,y axis. -32768 .. 32768 |
size | fff | size by x,y,z axis. -400..400 |
pos | fff | position by x,y,z axis. -32768 .. 32768 |
angle | fff | angle by x,y,z axis |
roto | fff | rotation speed by x,y,z axis |
fx | ffff | four FX indexes. -1 means stop. 0..47 - effect index. 48 effects per row |
/beyond/master/livecontrol/…
/beyond/cue/#/#/livecontrol/… require two indexes - page and cue
Function | Type | Commentary |
/beyond/zone/#/select | f | 0-undelect. 1-select, 2-toggle state |
/beyond/zone/#/mute | f | 0-default, unmuted. 1-mute. 2-toggle state |
/beyond/zone/#/livecontrol/… |
# is the index of the zone
Function | Type | Commentary |
/beyond/projector/#/livecontrol/… | ||
/beyond/projector/#/sizex | f | -100..100 |
/beyond/projector/#/sizey | f | -100..100 |
/beyond/projector/#/posx | f | -100..100 |
/beyond/projector/#/posy | f | -100..100 |
/beyond/projector/#/swapxy | f | 0-off, 1-on, 2-toggle |
/beyond/projector/#/invx | f | 0-off, 1-on, 2-toggle |
/beyond/projector/#/invy | f | 0-off, 1-on, 2-toggle |
# is index of the spatial defined in UI
Function | Type | Commentary |
/beyond/protrack/#/select | f | 0-unselect. 1-select 2-toggle state |
/beyond/protrack/#/mute | f | 0-default, unmuted. 1-mute. 2-toggle state |
/beyond/protrack/#/livecontrol/… | ||
/beyond/protrack/#/CODENAME | CODENAME | is a name of “deamon” script defined inside protrack object. Function “start” the scripter |
# is index or NAME of the protrack object defined in Setup dialog
/beyond/fixture/NAME/FUNCTION
“NAME” is index or NAME of the FIXTURE object defined in Setup dialog. “FUNCTION” is name of function that exists in the Fixture
Server transform the OSC message to the command first and then the command goes to execution. The command appear in the system in the same way as it could be from the keyboard, or the mouse. This kind of servers also has fixed address and corresponding set of arguments. Actually, the address of such OSC server is a way to describe BEYOND command. And it was main intention - to give OSC the ability to do the same what the Script can do. Both parts (OSC and Script) produce a Command at the end, and why not to mix both worlds.
Address of message and number of arguments should correspond to the PangoScript command. Available following addressing:
/beyond/general/... /beyond/master/... /beyond/cue/... /beyond/zone/... /beyond/projector/... /beyond/protrack/...
“general” use for variety of script commands. All others are for specific features of object, or for live control (see above)
The “general” serve contain embedded Scripter-object that always exists. Basically, you supply a command into embedded scripter and then it wait for the next command
Address | Type | Commentary |
/beyond/general/CueDown | ii or iii | |
/beyond/general/CueUp | ii or iii | |
/beyond/general/PauseCue | iii | |
/beyond/general/RestartCue | ii | |
/beyond/general/StopAllNow | - | |
/beyond/general/StopAllSync | f | |
/beyond/general/StopAllAsync | f | |
/beyond/general/StopCueNow | ii | |
/beyond/general/StopCueSync | iif | |
/beyond/general/StopZone | if | |
/beyond/general/StopZonesOfProjector | i | |
/beyond/general/BlackOut | - | |
/beyond/general/EnableLaserOutput | - | |
/beyond/general/DisableLaserOutput | - | |
/beyond/general/MasterPause | i | |
/beyond/general/VirtualLJ | i | |
/beyond/general/VLJFX | ii | |
/beyond/general/BeatTap | - | |
/beyond/general/SetBpm | f | |
/beyond/general/SetBpmDelta | f | |
/beyond/general/BeatResync | - | |
/beyond/general/OneCue | - | |
/beyond/general/OnePer | - | |
/beyond/general/MultiCue | - | |
/beyond/general/Transition | i | |
/beyond/general/ClickSelect | - | |
/beyond/general/ClickToggle | - | |
/beyond/general/ClickRestart | - | |
/beyond/general/ClickFlash | - | |
/beyond/general/ClickSoloFlash | - | |
/beyond/general/ClickLive | - | |
/beyond/general/TimerBeat | - | |
/beyond/general/AudioBeat | - | |
/beyond/general/ManualBeat | - | |
/beyond/general/ClickScrollZoom | f | |
/beyond/general/ClickScrollSize | f | |
/beyond/general/ClickScrollFade | f | |
/beyond/general/ClickScrollVPoints | f | |
/beyond/general/ClickScrollScanRate | f | |
/beyond/general/ClickScrollColor | f | |
/beyond/general/ClickScrollAniSpeed | f | |
/beyond/general/ClickScrollR | f | |
/beyond/general/ClickScrollG | f | |
/beyond/general/ClickScrollB | f | |
/beyond/general/ClickScrollA | f | |
/beyond/general/SetLimiterProfile | i | |
/beyond/general/SetLimiterPerZone | i | |
/beyond/general/SetLimiterPerGrid | i | |
/beyond/general/SetLimiterFlash | i | |
/beyond/general/SetLimiterHold | i | |
/beyond/general/SetLimiterBeam | i | |
/beyond/general/SetLimiterDMX | i | |
/beyond/general/SetLimiterShow | i | |
/beyond/general/MasterTransitionIndex | i | |
/beyond/general/MasterTransitionTime | f | |
/beyond/general/MasterTransition | i | |
/beyond/general/DisplayPopup | ANY TTS | |
/beyond/general/DisplayPreview | si | |
/beyond/general/MasterSpeed | f | |
/beyond/general/UnselectAllSmart | - | |
/beyond/general/SelectSmart | ANY TTS | |
/beyond/general/UnselectSmart | ANY TTS | |
/beyond/general/ToggleSelectSmart | ANY TTS | |
/beyond/general/UnmuteAllSmart | - | |
/beyond/general/MuteSmart | ANY TTS | |
/beyond/general/UnmuteSmart | ANY TTS | |
/beyond/general/ToggleMuteSmart | ANY TTS | |
/beyond/general/UnselectAllFixt | - | |
/beyond/general/SelectFixt | ANY TTS | |
/beyond/general/UnselectFixt | ANY TTS | |
/beyond/general/ToggleSelectFixt | ANY TTS | |
/beyond/general/UnmuteAllZone | - | |
/beyond/general/MuteZone | ANY TTS | |
/beyond/general/UnmuteZone | ANY TTS | |
/beyond/general/ToggleMuteZone | ANY TTS | |
/beyond/general/MuteSelected | i | |
/beyond/general/UnselectAllZones | - | |
/beyond/general/SelectZone | ANY TTS | |
/beyond/general/SelectZoneName | ANY TTS | |
/beyond/general/UnSelectZone | ANY TTS | |
/beyond/general/UnSelectZoneName | ANY TTS | |
/beyond/general/ToggleSelectZone | ANY TTS | |
/beyond/general/ToggleSelectZoneName | ANY TTS | |
/beyond/general/MuteSelectedZones | i | |
/beyond/general/SetGridSize | ii | |
/beyond/general/MasterPauseTime | i | |
/beyond/general/StoreZoneSelection | - | |
/beyond/general/ReStoreZoneSelection | - | |
/beyond/general/SelectGrid | i | |
/beyond/general/SelectTabName | s | |
/beyond/general/SelectTab | i | |
/beyond/general/SelectNextTab | - | |
/beyond/general/SelectPrevTab | - | |
/beyond/general/SelectPageName | - | |
/beyond/general/SelectPage | i | |
/beyond/general/SelectNextPage | - | |
/beyond/general/SelectPrevPage | - | |
/beyond/general/SelectAllCat | - | |
/beyond/general/SelectCatName | s | |
/beyond/general/SelectCat | i | |
/beyond/general/SelectNextCat | - | |
/beyond/general/SelectPrevCat | - | |
/beyond/general/FocusCell | ii | |
/beyond/general/FocusCellIndex | i | |
/beyond/general/StartCell | - | |
/beyond/general/ReStartCell | - | |
/beyond/general/StopCell | - | |
/beyond/general/ShiftFocus | i | |
/beyond/general/MoveFocus | ii | |
/beyond/general/SelectCue | s | |
/beyond/general/StartCue | s | |
/beyond/general/StopCue | s | |
/beyond/general/LoadCue | s | |
/beyond/general/LoadWorkspace | s | |
/beyond/general/SetPage | i | |
/beyond/general/GetPage | - | |
/beyond/general/SelectMidi | i | |
/beyond/general/MidiOut | iii | |
/beyond/general/DmxOut | AnyTTS | 'ii', base channel, value, value, value… and so on. |
/beyond/general/ChannelOut | ii | |
/beyond/general/OscOut | Any TTS |