I've got a show which makes heavy use of OSC to update the show file when it is moved from venue to venue. The scripting to do this was developed against Eos 2.6, and has been working fine, but when we recently tried with 2.7, it seems to have broken.
/eos/newcmd messages seem to be being interpreted by the console in a different way with 2.7. For instance, when I send /eos/newcmd="Delete Cue 2/" the console seems to interpret that as "Delete Cue 0.3 Part 2 >> 2/"
Here's the relevant bit from the console logs:
2018 09 19 11:36:54:901 OnyxConsol [OSC Packet] /eos/newcmd, Delete Cue 2/(s)2018 09 19 11:36:54:902 Key_Event U:0: Clear_CmdLine 2018 09 19 11:36:54:902 Key_Event U:0: Delete Cue 2/ 2018 09 19 11:36:54:903 Context Syntax: Delete Cue 0.3 Part 2 >>2/ - Error: Syntax Error
Is there something I'm missing here - is there any way of formatting the OSC message so that the console doesn't try to interpret it in this way?
Most recently reproduced with 2.7.3 build 10 running as Nomad on Mac OS X, but we originally observed the issue on a real console.
What are you using to send the OSC messages to Eos?
I would expect that console syntax to be deleting a whole cue list, in this case Cue List 2. Is that what you are trying to delete?
If i wanted to delete a cue list remotely driving over the confirmation and via the command line OSC messages i would probably do:
/eos/newcmd "Delete Cue 1 / Enter Enter"(s)
and for a single cue:
/eos/newcmd "Delete Cue 1 Enter Enter"(s)
It is also worth mentioning that deleting a single cue operates differently depending on whether you are in Live or Blind, as you could be selected on a part of that cue. As such the syntax would either delete the part your are selected at in Blind, or the whole cue when in Live. I would probably preface the message with forcing the console to Live, possibly with something like:
The messages are being sent from a python script running pythonosc. From the diagnostics, it looks like they are being received correctly by the console, and Wireshark suggests that the encoding on the wire is what I would expect. The messages are being sent via UDP.
I am trying to delete the whole of cue list 2. The console is already in Live (I'm using /eos/key/Live to get there).
Doing "Delete Cue 2 / Enter Enter"(s) solves this specific issue, but doesn't seem to generalise more widely.
In particular, doing "Delete Event 2 / Enter Enter"(s) gives a syntax error (I'm trying to delete the whole of event list 2).
And, curiouser and curiouser, I tried saving this as a Macro (to see what the actual commands should be) - so I created a Macro containing "Delete Event 2/ Enter Enter".
Running that macro in Live or Blind posts "Delete Cue 2/ Enter Enter" to the command line, and indeed deletes cue list 2, not event list 2. Only if you are in the Show Control tab does running the macro do the right thing.
All of this definitely worked in 2.6.
I think I've got something that works now, but with the following changes. I'm going to leave these here in the hope that they're of use to someone else who is trying similarly crazy things.
*) '#' no longer seems to work instead of 'Enter' to end a command line
*) Whitespace around '/' seems to be much more critical. In 2.6, doing "Cue 2/" would work, in 2.7 "Cue 2 /" seems to be required. If in doubt, add spaces!
*) Using the 'Event' command now seems to require being in the show control tab. It seems impossible to get into that tab from purely OSC - doing /eos/newcmd "Show_Control" doesn't work, nor does /eos/key/show_control (even with displays then more_softkeys before it). I eventually worked around this by putting "Show_Control" into a macro, and firing that macro via OSC.
Thanks for pointing me in the right direction!