Complete Help Docs

Laser Show Technology for Lighting Professionals

User Tools

Site Tools


beyond:osc_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
beyond:osc_commands [2020/01/10 13:06]
Bob Varkevisser [Server: ZONE]
beyond:osc_commands [2021/04/16 11:10] (current)
Bob Varkevisser
Line 6: Line 6:
  
 ===== OSC Message ===== ===== OSC Message =====
- 
  
 OSC Message contains 3 parts:  OSC Message contains 3 parts: 
Line 15: Line 14:
 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. 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.
  
-===== Supported Argument types =====+ 
 +===== OSC in Object tree ===== 
 + 
 +To find OSC commands/addresses the easy way is to make usage of the Object tree. 
 +Open up the tools menu and click object tree to make it visible. 
 + 
 +{{:beyond:object-tree.png?400|}} 
 + 
 +Once the Object tree is visible, you are able to browse the tree it self by double clicking on items. 
 + 
 +{{:beyond:object-tree-3.png?400|}} 
 + 
 +Once you clicked on an address or command you can take the command from the OSC address bar and use that on various locations. 
 + 
 +The OSC address bar with command is highlighted in the example below. 
 + 
 +{{:beyond:object-tree-4.png?400|}} 
 + 
 +This OSC address can be used in many locations. 
 + 
 +- Internally in the Pangoscript editor 
 +- In BEYOND Universe 
 +- At the midi controller configuration panels 
 +- In third-party OSC applications like Lemur, TouchOSC etc. 
 + 
 +  Note that not all third-party OSC applications will process OSC as they should.  
 +  A known issue is that TouchOSC is not able to process OSC commands to use the  
 +  cue grid to its full potential. 
 + 
 + 
 +=====   OSC to PangoScript GATEWAY ===== 
 + 
 + 
 +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|Any TTS|'ii', base channel, value, value, value... and so on.| 
 +|/beyond/general/ChannelOut|ii| 
 +|/beyond/general/OscOut|Any TTS|sii ClickCode:'OscOut "/beam1/xy", -5, 100 - set beam 1 position to [-5,100]';),
 +|/beyond/general/StopZoneByName|s| 
 +|/beyond/general/StopProjectorByName|s| 
 +|/beyond/general/ControlMaster|-| 
 +|/beyond/general/ControlCue|ii| 
 +|/beyond/general/ControlZone|i| 
 +|/beyond/general/ControlTrack|i| 
 +|/beyond/general/ControlProjector|i| 
 +|/beyond/general/ControlSmart|i| 
 +|/beyond/general/StopCode|s| 
 + 
 + 
 + 
 +==== Supported Argument types ====
  
 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. 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.
Line 44: Line 225:
   /beyond/zone/<MyVariable>/select 1   /beyond/zone/<MyVariable>/select 1
  
-===== Direct servers =====+===== Other OSC Servers ===== 
 +==== Direct servers ====
  
 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. 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.
Line 171: Line 353:
 ==== Server: ProTrack ==== ==== Server: ProTrack ====
  
-  /beyond/protrack/#/select f      0-unselect. 1-select 2-toggle state +|Function|Type|Commentary| 
-  /beyond/protrack/#/mute f        0-default, unmuted. 1-mute. 2-toggle state +|/beyond/protrack/#/select|f|0-unselect. 1-select 2-toggle state| 
-  /beyond/protrack/#/livecontrol/... +|/beyond/protrack/#/mute|f|0-default, unmuted. 1-mute. 2-toggle state| 
-  /beyond/protrack/#/CODENAME      CODENAME is a name of "deamon" script defined inside protrack object. Function "start" the scripter+|/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+# is index or NAME  of the protrack object defined in Setup dialog
  
  
-Server: FIXTURE+==== Server: FIXTURE ====
  
-  /beyond/fixture/NAME/FUNCTION+/beyond/fixture/NAME/FUNCTION
  
-  "NAME" is index or NAME of the FIXTURE object defined in Setup dialog +"**NAME**" is index or NAME of the FIXTURE object defined in Setup dialog. 
-  "FUNCTION" is name of function that exists in the Fixture+"**FUNCTION**" is name of function that exists in the Fixture
  
-=====   OSC to PangoScript GATEWAY ===== 
  
  
-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/... +==== Server: MIDI DEVICES CONTROL ====
-  /beyond/master/... +
-  /beyond/cue/... +
-  /beyond/zone/... +
-  /beyond/projector/... +
-  /beyond/protrack/...+
  
-  "generaluse for variety of script commandsAll others are for specific features of objector for live control (see above)+|Function|Type|Commentary| 
 +|/midi/close|-|close all 4 ports| 
 +|/midi/open|-|open all 4 ports| 
 +|/midi/index|f|set current device index, 0..3| 
 +|/midi/sysex|fff...f|send sysex to current (index) device| 
 +|/midi/CODENAME|-|codename is name of script defined in "daemons" of the MIDI MAPPINGWorks for current only| 
 +|/midi/1/...|-|or /midi/<devicename>/...|  
 +|/midi/2/...|-|or /midi/<devicename>/...|  
 +|/midi/3/...|-|or /midi/<devicename>/...|  
 +|/midi/4/...|-|or /midi/<devicename>/...|  
 +|/midi/1/devicein|s|  
 +|/midi/1/deviceout|s| 
 +|/midi/1/sysex|fff...f| 
 +|/midi/1/CODENAME|-|codename is name of script defined in "daemons" of the MIDI MAPPING. Here the device index specified. sono need to set pair-index.|
  
-  The "general" serve contain embedded Scripter-object that always exists. +==== Server: PROJECTION ZONE SETUP ====
-  basically, you supply a command into embedded scripter and then it wait for +
-  the next command +
-Address Type +
-/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 sii ClickCode:'OscOut "/beam1/xy", -5, 100 // set beam 1 position to [-5,100]';), +
-/beyond/general/StopZoneByName s +
-/beyond/general/StopProjectorByName s +
-/beyond/general/ControlMaster - +
-/beyond/general/ControlCue ii +
-/beyond/general/ControlZone i +
-/beyond/general/ControlTrack i +
-/beyond/general/ControlProjector i +
-/beyond/general/ControlSmart i +
-/beyond/general/StopCode s +
-/beyond/general/CallMenu s +
- +
- +
- +
-Server: MIDI DEVICES CONTROL +
-/midi/close - close all 4 ports +
-/midi/open - open all 4 ports +
-/midi/index f - set current device index, 0..3 +
-/midi/sysex fff...f - send sysex to current (index) device +
-/midi/CODENAME - codename is name of script defined in "daemons" of the MIDI MAPPING. Works for current only +
-/midi/1/... or /midi/<devicename>/...  +
-/midi/2/...  +
-/midi/3/...  +
-/midi/4/...  +
-/midi/1/devicein s  +
-/midi/1/deviceout s  +
-/midi/1/sysex fff...f  +
-/midi/1/CODENAME codename is name of script defined in "daemons" of the MIDI MAPPING. Here the device index specified. so, no need to set pair-index. +
- +
- +
- +
-Server: PROJECTION ZONE SETUP +
-/beyond/zonesetup/zone f - set index of current zone +
-/beyond/zonesetup/nextzone - increase index (go to next zone) +
-/beyond/zonesetup/prevzone decrease index (go previews zone)  +
-/beyond/zonesetup/param f set index of current parameter - size, pos, etc +
-/beyond/zonesetup/nextparam  +
-/beyond/zonesetup/prevparam  +
-/beyond/zonesetup/ax f  +
-/beyond/zonesetup/ay f  +
-/beyond/zonesetup/bx f  +
-/beyond/zonesetup/by f  +
-/beyond/zonesetup/x f equal to ax +
-/beyond/zonesetup/y f equal to ay +
-/beyond/zonesetup/xsize f  +
-/beyond/zonesetup/ysize f  +
-/beyond/zonesetup/xposition f  +
-/beyond/zonesetup/yposition f  +
-/beyond/zonesetup/zrotation f  +
-/beyond/zonesetup/xlinearity f  +
-/beyond/zonesetup/ylinearity f  +
-/beyond/zonesetup/xsymmetry f  +
-/beyond/zonesetup/ysymmetry f  +
-/beyond/zonesetup/xsymmetryoffset f  +
-/beyond/zonesetup/ysymmetryoffset f  +
-/beyond/zonesetup/xkeystone f  +
-/beyond/zonesetup/ykeystone f  +
-/beyond/zonesetup/xpincussion f  +
-/beyond/zonesetup/ypincussion f  +
-/beyond/zonesetup/xpincussionoffset f  +
-/beyond/zonesetup/ypincussionoffset f  +
-/beyond/zonesetup/xbow f  +
-/beyond/zonesetup/ybow f  +
-/beyond/zonesetup/xbowoffset f  +
-/beyond/zonesetup/ybowoffset f  +
-/beyond/zonesetup/xshear f  +
-/beyond/zonesetup/yshear f +
  
 +|Function|Type|Commentary|
 +|/beyond/zonesetup/zone|f|set index of current zone|
 +|/beyond/zonesetup/nextzone|-|increase index (go to next zone)|
 +|/beyond/zonesetup/prevzone|-|decrease index (go previews zone)|
 +|/beyond/zonesetup/param|f|set index of current parameter - size, pos, etc|
 +|/beyond/zonesetup/nextparam|
 +|/beyond/zonesetup/prevparam|
 +|/beyond/zonesetup/ax|f|
 +|/beyond/zonesetup/ay|f|
 +|/beyond/zonesetup/bx|f|
 +|/beyond/zonesetup/by|f|
 +|/beyond/zonesetup/x|f|equal to ax|
 +|/beyond/zonesetup/y|f|equal to ay|
 +|/beyond/zonesetup/xsize|f|
 +|/beyond/zonesetup/ysize|f|
 +|/beyond/zonesetup/xposition|f|
 +|/beyond/zonesetup/yposition|f|
 +|/beyond/zonesetup/zrotation|f|
 +|/beyond/zonesetup/xlinearity|f|
 +|/beyond/zonesetup/ylinearity|f|
 +|/beyond/zonesetup/xsymmetry|f|
 +|/beyond/zonesetup/ysymmetry|f|
 +|/beyond/zonesetup/xsymmetryoffset|f|
 +|/beyond/zonesetup/ysymmetryoffset|f|
 +|/beyond/zonesetup/xkeystone|f|
 +|/beyond/zonesetup/ykeystone|f|
 +|/beyond/zonesetup/xpincussion|f|
 +|/beyond/zonesetup/ypincussion|f|
 +|/beyond/zonesetup/xpincussionoffset|f|
 +|/beyond/zonesetup/ypincussionoffset|f|
 +|/beyond/zonesetup/xbow|f|
 +|/beyond/zonesetup/ybow|f|
 +|/beyond/zonesetup/xbowoffset|f|
 +|/beyond/zonesetup/ybowoffset|f|
 +|/beyond/zonesetup/xshear|f|
 +|/beyond/zonesetup/yshear|f|
  
 +==== Server: Universe window ====
  
-Server: Universe window +  /u/ Layout Name / Object Name / Property Name
- +
- /u/ Layout Name / Object Name / Property Name+
  
 Universe window is the most flexible because the content defined exclusively by BEYOND User. The name of Layout, same as name of Object inside the Layout are completelly used defined. Universe window is the most flexible because the content defined exclusively by BEYOND User. The name of Layout, same as name of Object inside the Layout are completelly used defined.
-/value i,f,ii, ff define value of object. Designed for sliders and buttons. An object such as XY Par require two coordinates, the OCS Client should send two integer of floats. 
-/x i,f equal to "value", define the value of slider 
-/y i,f define Y value for object such as XY Pad 
-/visible i,f control visibility of object. Value above 0.01 will make it visible, below 0.01 - invisible 
-/selected i,f control Selected state of object. Value above 0.01 will make it Selected, below 0.01 - un selected. Used with Zone, Fixture objects in layouts 
-/minvalue i,f define minimum value of slider 
-/maxvalue i,f define maximum value of slider 
-/timeshift i,f define time shift property of component 
-/dropduration i,f duration of drop effect in seconds 
-/radius i,f radius of spatial effect 
-/caption s define caption text of object. 
-/start tart script execution 
-/stop stop script execution 
-/LabelName This allow do a jump to Label defined in the scripts. Labels used with GOTO commands. You also can execute goto by means of this message 
  
 +|Function|Type|Commentary|
 +|/value|i,f,ii, even|define value of object. Designed for sliders and buttons. An object such as XY Par require two coordinates, the OCS Client should send two integer of floats.|
 +|/x|i,f|equal to "value", define the value of slider|
 +|/y|i,f|define Y value for object such as XY Pad|
 +|/visible|i,f|control visibility of object. Value above 0.01 will make it visible, below 0.01 - invisible|
 +|/selected|i,f|control Selected state of object. Value above 0.01 will make it Selected, below 0.01 - un selected. Used with Zone, Fixture objects in layouts|
 +|/minvalue|i,f|define minimum value of slider|
 +|/maxvalue|i,f|define maximum value of slider|
 +|/timeshift|i,f|define time shift property of component|
 +|/dropduration|i,f|duration of drop effect in seconds|
 +|/radius|i,f|radius of spatial effect|
 +|/caption|s|define caption text of object|
 +|/start|-|start script execution|
 +|/stop|-|stop script execution|
 +|/LabelName|-|This allow do a jump to Label defined in the scripts. Labels used with GOTO commands. You also can execute goto by means of this message|
  
- +==== OSC to Script servers ====
- +
- +
-OSC to Script servers.+
  
 This section assume that you already checked the information about BEYOND Commands. The Command of BEYOND contain information about the recipient of the command, code of operation, and the list of arguments. The Command may be addressed to various objects inside BEYOND such as Cue, Projection Zone, Master Live Control, etc. So, BEYOND has a gateway that allow transform OSC messages directly to the Command and send the Command to execution. This section assume that you already checked the information about BEYOND Commands. The Command of BEYOND contain information about the recipient of the command, code of operation, and the list of arguments. The Command may be addressed to various objects inside BEYOND such as Cue, Projection Zone, Master Live Control, etc. So, BEYOND has a gateway that allow transform OSC messages directly to the Command and send the Command to execution.
Line 426: Line 457:
 The initial addresses of gateway are below: The initial addresses of gateway are below:
  
-/cue +  /cue 
-/zone +  /zone 
-/projector +  /projector 
-/master +  /master 
-/general+  /general
  
 Lets consider for example Cue server.  Lets consider for example Cue server. 
  
-/cue/+  /cue/
  
 The addressing the cue we need to supply the page index and the cue index inside the page. The final address looks like this: The addressing the cue we need to supply the page index and the cue index inside the page. The final address looks like this:
-/cue/pageindex/cueindex/commandname+ 
 +  /cue/pageindex/cueindex/commandname 
 where: where:
-pageindex is number that define index of the page +"**pageindex**" is number that define index of the page, "**cueindex**" is a number that define index of cue inside the page, "**commandname**" is the name of operator that can be found in document about the PangoScript.
-cueindex is a number that define index of cue inside the page +
-commandname is the name of operator that can be found in document about the PangoScript.+
  
-What happens technically is this. The Command is an object with a few properties. The OSC server create Command obejct and start to initialize the properties of the object, one by one. "/cue" prefix tell that the recipient is cue. Page index, Cue index point on exact cue. So, we have two more numbers for Command object. After this, we have Command name as string. the Server find the command code by the command name and as a result initialize corresponding property of Command object. The list of arguments from OSC message directly goes into Command object, without analysis. So, we initialize the Command object by the data from OSC message and send to execution. Exactly this is a purpose of the gateway - to transform OSC message to the Command.+What happens technically is this. The Command is an object with a few properties. The OSC server create Command obejct and start to initialize the properties of the object, one by one. "/cue" prefix tell that the recipient is cue. Page index, Cue index point on exact cue. So, we have two more numbers for Command object. After this, we have Command name as string. the Server find the command code by the command name and as a result initialize corresponding property of Command object. The list of arguments from OSC message directly goes into Command object, without analysis. So, we initialize the Command object by the data from OSC message and send to execution.  
 + 
 +Exactly this is a purpose of the gateway - to transform OSC message to the Command.
  
 The code of execution check all arguments and addressing and if something is not correct, then the Command may be blocked completelly. All will depends on exact situation. The code of execution check all arguments and addressing and if something is not correct, then the Command may be blocked completelly. All will depends on exact situation.
  
 Example of the OSC address for this server: Example of the OSC address for this server:
-/cue/1/2/sizex (f) + 
-/cue/0/0/position (fff) +  /cue/1/2/sizex (f) 
 +  /cue/0/0/position (fff) 
  
 What commands can be served by /cue/ server? The most definitely is the Live Control group commands, and FX. The command like cue start, or cue stop, is an area of /general/ server What commands can be served by /cue/ server? The most definitely is the Live Control group commands, and FX. The command like cue start, or cue stop, is an area of /general/ server
- 
-OSC to Object server. 
- 
-Address of server start from prefix /object . After this follow name of object and finally the name of property. As example, we have object Main Graphics (projection zone) and it has property SizeX. The address for access is 
-/object/maingraphics/sizex 
-The message must comes with one value (argument). It could be string or number. 
  
  
beyond/osc_commands.1578658012.txt · Last modified: 2020/06/11 19:23 (external edit)