I can at least answer the last question:
Depends on what you mean by handshake routine, but if you
are using UDP QLab will still reply to external queries and since
UDP is connectionless it just sends the reply to port 53001 on the
IP address it got the request from.
Thus, if you have something that can parse the reply you
can use it that way.
One additional feature that could help here is the new
ability (in version 4) to specify a reply format. By default,
it looks like this:
But the Application Methods :
includes the command /replyFormat which you can use to set
a custom format for your client.
You can use this to simplify the kid of reply you get
back, so that if you don’t want to e.g. parse JSON you can set it
up to just send back ONLY the data of the reply and no other
information. (it’s still OSC though; there’s no text-only protocol
at this time)
-C
I’ve hit a dead end in my
understanding of OSC. Thanks to Mic’s work on animated eyeballs I
can see how to use the response to an OSC “query” as a variable in
another OSC command, but I can’t work out how to use a response in
a more general way…
For example, something like /cue/{cue_number}/maxTimeInCueSequence
looks quite interesting and useful, but not if I can’t get the
answer into AppleScript to work with.
I know how to use nc to send commands to QLab, but I haven’t found
a simple solution to listen for the reply yet. Is there one? Do I
need to use something like Python to do this – which is a little
bit beyond my knowledge at the moment?
It’d be a shame to have to use a dummy cue and do things like
"/cue/999/preWait # /cue/1/maxTimeInCueSequence #”, and then query
cue 999.
Has anyone written a neat little shell script that can send an
arbitrary OSC command to QLab and parse the answer? Does QLab even
reply to external queries without going through a whole handshake
routine?
Thanks.
Rich