OSC - Any way to display Selected Cue and Currently Playing cue names

1,966 views
Skip to first unread message

Carl.

unread,
Jun 17, 2015, 8:31:28 AM6/17/15
to ql...@googlegroups.com
Sorry if this has been posted twice I couldnt see the original post.

I have an android tablet controlling a very basic OSC set up

PANIC
NEXT
PREVIOUS
GO

simple as that.

What would be really handy would be to be able to have the selected cues title displayed somewhere so as you press NEXT, NEXT, NEXT etc you can see what cue is highlighted.

Also a "Currently Playing" label??

Is any of this possible?

Cheers

Carl.



Carl

unread,
Jun 17, 2015, 9:30:18 AM6/17/15
to ql...@googlegroups.com
Android TouchOSC setup, controlling qLab great. Its a very basic control screen with just

PANIC
NEXT CUE
PREVIOUS CUE
GO

and thats it.

Is there any way to add the name of a selected cue into the OSC screen somehow, so that for example if you're on stage and the director says can you play "We Are The Champions" you could scroll through the NEXT CUE buttons until you see the name of the cue on the screen.

Also the same for displaying the "Currently Playing" Cue title.

Is this possible?

Carl.

Chris Ashworth

unread,
Jun 17, 2015, 9:35:00 AM6/17/15
to Carl., ql...@googlegroups.com
Hi Carl,

In QLab it is rather rare for only one cue to be playing at a time, so there is (usually) no such thing as a single “currently playing” cue.

The OSC API does have a mechanism for querying the selected and the active cues, but it’s unlikely you can use that information in your current setup.  You’d need to parse the replies, decode a JSON string, and then do something with the results.

You can read about the API for these methods at the bottom of the list of workspace methods here:


Best,
Chris

micpool

unread,
Jun 17, 2015, 11:46:24 AM6/17/15
to ql...@googlegroups.com, carlf...@gmail.com
On Wednesday, June 17, 2015 at 2:35:00 PM UTC+1, Chris Ashworth wrote:
Hi Carl,

In QLab it is rather rare for only one cue to be playing at a time, so there is (usually) no such thing as a single “currently playing” cue.

The OSC API does have a mechanism for querying the selected and the active cues, but it’s unlikely you can use that information in your current setup.  


However……..


If you are only going to be playing one cue at a time, the attached TouchOSC file and QLab workspace does roughly what you describe.

The Touch OSC display will only update when you press buttons on the TouchOSC device, so it will not reflect any auto follows or activity on the host computer.

It works by using a set of cues which your buttons start, which in addition to controlling the QLab workspace send the names of the last played  and next cues to your TouchOSC device via OSC.

Mic


TouchOSC with cue name feedback.cues
TouchOSC cue name feedback.touchosc

micpool

unread,
Jun 17, 2015, 12:12:53 PM6/17/15
to ql...@googlegroups.com, carlf...@gmail.com
On Wednesday, June 17, 2015 at 4:46:24 PM UTC+1, micpool wrote:

If you are only going to be playing one cue at a time, the attached TouchOSC file and QLab workspace does roughly what you describe.

 
 Here it is in action (No audio)
TouchOSC with cue name feedbacklores.mov

Chris Ashworth

unread,
Jun 17, 2015, 12:16:12 PM6/17/15
to ql...@googlegroups.com
MIC “THE MAGIC MAN” POOL

Dan Evans

unread,
Nov 30, 2015, 10:19:23 AM11/30/15
to QLab, carlf...@gmail.com
Hi Mic,

Have just tried your attached files and am getting an AppleScript error "A identifier can’t go after this identifier." when trying to "set the custom message of cue".

Has the OSC cue script property changed since you posted this?

Am looking at ways of providing an MD with a currently playing/next display.

Cheers,
Dan

On Wednesday, June 17, 2015 at 4:46:24 PM UTC+1, micpool wrote:

micpool

unread,
Nov 30, 2015, 6:14:24 PM11/30/15
to QLab, carlf...@gmail.com
Do you want to post your whole script

The line in my example was

set the custom message of cue "OPLAY" to thecustomstring

Which works fine as long as you have a cue numbered OPLAY and a previously defined string called thecustomstring (both of which need to be strings).

Mic

Dan Evans

unread,
Dec 1, 2015, 8:06:20 AM12/1/15
to QLab
Hi Mic,

I haven't actually got any further than trying to run your example script:

set playcue to the last item of (selected as list)
set playstring to the q list name of playcue
set thecustomstring to "/1/playing" & " \"" & playstring & "\""
set the custom message of cue "OPLAY" to thecustomstring
start cue "OPLAY"
go

I tried changing 'custom message' to 'q name' which works perfectly and changes the OPLAY cue's name accordingly which leads me to believe that its a problem with the 'custom message' property of the OSC cue.

The AppleScript QLab dictionary doesn't have a section for OSC cues unfortunately so I'm unable to see what exactly we can adjust.

If I can get this working, it'll be exactly what I'm after - many thanks for all your posts on here and the Cook Book, all of which have been particularly helpful when it comes to figuring out the world of QLab scripting...

Best,
Dan

micpool

unread,
Dec 1, 2015, 8:14:03 AM12/1/15
to QLab
Nothing has changed. That script works perfectly on my system
I'll contact you off list so you can send me your workspace

Mic

Rich Walsh

unread,
Dec 1, 2015, 11:08:24 AM12/1/15
to ql...@googlegroups.com
Are you on the right version? 3.1.17 has:

osc cuen [inh. cue] : An OSC Cue.
elements inherited from cue
contains cues; contained by workspacescues.
properties
patch (integer) : OSC destination patch number.
osc message type (qlab/‌custom/‌udp) : The type of OSC message.
q_num (text) : The QLab cue number, for QLab type messages.
q_command (number) : The QLab OSC command, for QLab type messages.
q_params (text) : The QLab command parameters, for QLab type messages. Not all messages have parameters.
custom message (text) : The custom OSC message, for custom type messages.
udp message (text) : The raw UDP message, for udp type messages.
properties inherited from cue
uniqueID (text, r/o) : The unique ID of the cue.
parent (cue, r/o) : The parent cue of this cue.
q type (text, r/o) : The name of this kind of cue, e.g. "Audio", "Video", "MIDI", etc.
q number (text) : The number of the cue. Unique if present.
q name (text) : The name of the cue. Not unique.
q list name (text, r/o) : The name of the cue as displayed in the cue list. (i.e. Might be a default name.)
q display name (text, r/o) : The name of the cue as displayed in the standby view. (i.e. Never empty.)
q default name (text, r/o) : The name QLab would give the cue by default, if any.
notes (text) : The notes for this cue.
cue target (cue) : The cue this cue targets, if any.
file target (file) : The file this cue targets, if any.
pre wait (real) : The time in seconds before the action is triggered.
duration (real) : The duration of the cue's action in seconds. Not editable for all cue types.
post wait (real) : The time in seconds until continuing on to the next cue.
continue mode (do_not_continue/‌auto_continue/‌auto_follow) : Continue mode of the cue.
flagged (boolean) : Is this cue flagged?
autoload (boolean) : Does this cue auto load?
armed (boolean) : Is this cue armed?
hotkey trigger (enabled/‌disabled) : State of the HotKey trigger.
midi trigger (enabled/‌disabled) : State of the MIDI trigger.
midi command (note_on/‌note_off/‌program_change/‌control_change/‌key_pressure/‌channel_pressure/‌pitch_bend) : Type of MIDI command that will trigger the cue. (NOTE: pitch_bend messages are NOT accepted as remote MIDI triggers.)
midi byte one (integer) : Byte 1 of the MIDI trigger.
midi byte two (integer) : Byte 2 of the MIDI trigger.
midi byte one string (text) : Display String of Byte 1 of the MIDI trigger.
midi byte two string (text) : Display String of Byte 2 of the MIDI trigger.
timecode trigger (enabled/‌disabled) : State of the timecode trigger.
wall clock trigger (enabled/‌disabled) : State of the wall clock trigger.
wall clock hours (integer) : Hours field of the wall clock trigger.
wall clock minutes (integer) : Minutes field of the wall clock trigger.
wall clock seconds (integer) : Seconds field of the wall clock trigger.
loaded (boolean, r/o) : Is this cue loaded?
running (boolean, r/o) : Is this cue running?
paused (boolean, r/o) : Is this cue paused?
broken (boolean, r/o) : Is this cue broken?
pre wait elapsed (real, r/o) : The time in seconds that have elapsed on the pre wait.
action elapsed (real, r/o) : The time in seconds that have elapsed in the action of the cue.
post wait elapsed (real, r/o) : The time in seconds that have elapsed on the post wait.
percent pre wait elapsed (real, r/o) : The percent of the pre wait that has elapsed.
percent action elapsed (real, r/o) : The percent of the cue's action that has elapsed.
percent post wait elapsed (real, r/o) : The percent of the post wait that has elapsed.

Rich

micpool

unread,
Dec 1, 2015, 11:29:11 AM12/1/15
to QLab
Indeed, an old version was Dan's problem.

Mic

Dan Evans

unread,
Dec 1, 2015, 11:34:45 AM12/1/15
to QLab
Yes, sorry - was meaning to post again. I was running an older version on my home mac. Foolish me - should have checked for a new version before posting to be honest! Usually I get reminders about updates.

Thank you all anyway!

Best,
Dan

SSound

unread,
Dec 5, 2015, 6:57:53 PM12/5/15
to QLab, carlf...@gmail.com
This is great Mic.

How would I change the script so that it was firing a specific cue list rather than the whole workspace?

Cheers
Tom


On Wednesday, June 17, 2015 at 4:46:24 PM UTC+1, micpool wrote:

micpool

unread,
Dec 5, 2015, 9:34:54 PM12/5/15
to QLab, carlf...@gmail.com
I assume what you are wanting to do is run a cue list in the foreground and have OSC run a cuelist which is not the selected cuelist and know where it is in the hidden list.

I'm not a great fan of sending go triggers blind  to hidden cue lists, it's often better just to run a second workspace.

If you want to do it then the GO script would change to something like:

tell application id "com.figure53.qlab.3" to tell front workspace
try
set playcue to the playback position of cue list 2
set playstring to the q list name of playcue
set thecustomstring to "/1/playing" & " \"" & playstring & "\""
set the custom message of cue "OPLAY" to thecustomstring
start cue "OPLAY"
start cue list 2
set nextcue to the playback position of cue list 2
set playstring to the q list name of nextcue
set thecustomstring to "/1/next" & " \"" & playstring & "\""
set the custom message of cue "ONEXT" to thecustomstring
start cue "ONEXT"
end try
end tell


You can modify the other scripts using

the playhead position (you can get and set this)
the cue after 
the cue before

SSound

unread,
Dec 6, 2015, 3:54:19 AM12/6/15
to QLab, carlf...@gmail.com
Perfect thanks again Mic!

nu...@hotmail.com

unread,
Sep 4, 2016, 8:37:36 AM9/4/16
to QLab, carlf...@gmail.com
Hej Micpool

Is it possible to make a little change to the "GO" applescript so it also stops (panic) the current track when you press "GO".
That way I can start the next track and fade out the track currently playing with one touch. 
Reply all
Reply to author
Forward
0 new messages