Main Menu

OSC Control

Started by David, May 18, 2020, 01:22:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

David

** Please see post # 6 for the new command format **

Here's a list of commands that MultiPlay 3 accepts via OSC:

This activates the Emergency Stop function (any arguments are ignored):
/cue/estop

These activate the relevant action for the current cue if no argument is used.
/cue/go
/cue/stop
/cue/fade
/cue/pause
/cue/resume
/cue/restart
/cue/jumpfwd
/cue/jumpback

These activate the relevant action for the current cue if an argument of 0 (zero) is used.
/cue/go 0
/cue/stop 0
/cue/fade 0
/cue/pause 0
/cue/resume 0
/cue/restart 0
/cue/jumpfwd 0
/cue/jumpback 0

These activate the relevant action for all cues that it would apply to:
/cue/stop all
/cue/fade all
/cue/pause all
/cue/resume all
/cue/restart all
/cue/jumpfwd all
/cue/jumpback all

These activate the relevant action for a specific cue where ARG is the cue's Q text:
/cue/go ARG
/cue/stop ARG
/cue/fade ARG
/cue/pause ARG
/cue/resume ARG
/cue/restart ARG
/cue/jumpfwd ARG
/cue/jumpback ARG

These move the cue list selection (GO position):
/cue/up
/cue/down
/cue/pos ARG

David

#1
To enable OSC control of MultiPlay, go into Production Properties > Network > Control > OSC Control.  Select the port number that MultiPlay should listen on for OSC messages and enable the Active checkbox. If Windows pops up and asks if MultiPlay can access the network, say yes. That's pretty much it!

Use the port number you keyed in above as the destination port in whatever OSC control program you use. If the OSC control program is on the same computer as MultiPlay, you can use 127.0.0.1 as the destination IP address. If the OSC control program is on another computer / device, you'll need the IP address of the computer that MultiPlay is on. This can be found on the Statistics window in MultiPlay as Local IP Address.

David

I've been made aware that some of the OSC control apps only allow numeric arguments for their controls, even buttons.

This means you can't type in "all" as the argument for an action (to do a Stop All for example).

To get around this, MultiPlay will also accept -1 (minus one) as an alias for "all" with the stop, fade, pause and resume actions.

An argument of 0 (zero) or a blank argument still means the currently selected cue.

caleb_hopper

#3
I have created a TouchOSC custom Multiplay layout for anyone who is interested.

Here are the links to the apps:
https://play.google.com/store/apps/details?id=net.hexler.touchosc_a&hl=en_US
https://apps.apple.com/ca/app/touchosc/id288120394

There is also a page on the layout that requires a separate piece of software called TouchOSC Bridge, which basically allows multiplay to accept MIDI commands over the network as well. You have to set that up in the shortcut preferences and then "capture" each midi command one by one. That may or may not be necessary in the future, if more osc commands arise. Anyway, that software can be found here:
https://hexler.net/pub/touchosc/touchosc-bridge-1.5.0-win32.zip

Here is the link to my template, as well as some screen shots:https://drive.google.com/drive/folders/1Hdp1ZAZwnFyZBa_e9UwsZBhz2VpDu1ea?usp=sharing

David

I've rewritten the OSC command parser to make it extendable. This change is effective as of beta release 129.

Please note that none of the osc command text is case sensitive.

Cue actions targeted at a specific cue where {cue} is the Q# text (no spaces allowed):
/cue/{cue}/{action}

Cue actions targeted at the currently selected (GO position) cue:
/cue/playhead/{action} or /cue/current/{action}

Cue actions targeted at all playing or paused cues:
/cue/active/{action}

The {action} can be stop, start (or go), fade, pause, pausetoggle, resume, restart, jumpfwd, jumpback, cuepoint, position

Please note that /cue/active/start, /cue/active/go, /cue/active/cuepoint and /cue/active/position do nothing as those actions target a single cue.

Most of the new commands don't require an argument (and will ignore them), so should be easier to implement in OSC apps.

The cuepoint action requires an integer argument of the cue point you want. Cue points out of range are ignored.

The position action can use an integer or float argument that represents the time in seconds you want to jump to.

You can also move the GO position with these commands (no spaces allowed for {cue}):
/select/next
/select/prev or /select/previous
/select/{cue}

The GO action is triggered by /go
The e-stop action is triggered by /estop or /panic
The Stop All action is triggered by /stopall
The Fade All action is triggered by /fadeall

Some of these last commands are the same as /cue/current/{action}, just shorter.

David

These are the OSC commands as of beta release 130.

Please note that none of the osc command text is case sensitive.

Cue actions targeted at a specific cue where {cue} is the Q# text (no spaces allowed):
/cue/{cue}/{action}

Cue actions targeted at the currently selected (GO position) cue:
/cue/playhead/{action} or /cue/current/{action}

Cue actions targeted at all playing or paused cues:
/cue/active/{action}

The {action} can be stop, start (or go), fade, pause, pausetoggle, resume, restart, jumpfwd, jumpback, jumpend, cuepoint, position

Please note that /cue/active/start, /cue/active/go, /cue/active/cuepoint and /cue/active/position do nothing as those actions target a single cue.

Most of the new commands don't require an argument (and will ignore them), so should be easier to implement in OSC apps.

The cuepoint action requires an integer argument of the cue point you want. Cue points out of range are ignored.

The position action can use an integer or float argument that represents the time in seconds you want to jump to.

You can also move the GO position with these commands (no spaces allowed for {cue}):
/select/first
/select/prev or /select/previous
/select/next
/select/last
/select/{cue}

The GO action is triggered by /go
The e-stop action is triggered by /estop or /panic
The Stop All action is triggered by /stopall
The Fade All action is triggered by /fadeall

Some of these last commands are the same as /cue/current/{action}, just shorter.

David

#6
As of beta release 3.0.154.0 an action of exitloop can be used with the current or specified cue.