[QLab] Disarming tracks in a repeat-random playlist

987 views
Skip to first unread message

crgwllms

unread,
Jun 10, 2011, 12:23:14 AM6/10/11
to ql...@lists.figure53.com
G'day

I'd like to be able to create a playlist that will play through randomly, and not repeat a track.

(specifically, I have a group containing songs that I'd like to play as pre-show, interval, or post-show house music. In random order any given night, and not repeating any tracks on any particular night.)


I thought I had it figured out by putting each track in its own little subgroup, with a self-referential disarm cue. This works...once the cue has played, the whole group the track is in is disarmed.

These subgroups were under the main group "House Music", which I commanded to "Fire random track and go to next cue".

By putting a Goto command after it, which sends the playback cursor back to the top of the House Music group again, I ALMOST get what I want....the random track plays, then disarms itself, and another random track from the same group plays, etc.

THE PROBLEM:
Disarming a track doesn't stop it from being triggered! It only stops it from playing out loud. So eventually the random firing will try to play a track that has been disarmed. And if I randomly trigger a song whose group has already been disarmed, it still goes through the motions of playing, although no sound is played - this disrupts the playlist and we get a minute or two of silence while the "disarmed" track plays, until the next armed track can be heard again.


I thought "disarming" a track would mean it would not get triggered and could be skipped?

Any thoughts on how I can structure it to achieve what I want?

(At the moment, to randomise the house music requires physically dragging the tracks into a different order).


Perhaps a future upgrade ought to somehow redefine a track that is actually disabled as opposed to a track that is simply muted..? (both options could be useful!)


Thanks!

Craig Williams

Perth, Australia

________________________________________________________
WHEN REPLYING, PLEASE QUOTE ONLY WHAT YOU NEED. Thanks!
Change your preferences or unsubscribe here:
http://lists.figure53.com/listinfo.cgi/qlab-figure53.com
Follow Figure 53 on Twitter here: http://twitter.com/Figure53

Rich Walsh

unread,
Jun 10, 2011, 9:21:49 AM6/10/11
to Discussion and support for QLab users.
On 10 Jun 2011, at 05:23, crgwllms wrote:

> I'd like to be able to create a playlist that will play through randomly, and not repeat a track.

Does this help:

http://groups.google.com/group/qlab/browse_thread/thread/8ce1367477fd3eff/c5895409f4a3e9b7

(There's a slight mistake in it: it should be "...some item of items 1 thru -2...".)

I've also had this knocking around for a while, but can't find/remember if I ever posted it:

-- Play a random child of a Group Cue that isn't already running (you should turn this into a Script Cue)

tell application "QLab"
set userGroupCueNumber to "1" -- Change this to the q number of the Group Cue
tell front workspace
set possibleCues to cues of cue userGroupCueNumber whose running is false
try -- In case there aren't any possible cues
start some item of possibleCues
end try
end tell
end tell

You could modify that to be "set possibleCues to cues of cue userGroupCueNumber whose armed is true" and use it to trigger your "House Music" Group Cue for each new track, rather than using the random mode of the Group Cue (which doesn't allow any further parameters, like "don't try to play cues that are already playing" or "don't play cues that are disarmed").

What's more, if you disarm an Audio Cue once it has started playing it carries on playing, so you could have the script disarm the cue it has started - which would cut out a lot of other programming. I just tested a quick "Fire all children simultaneously" group (numbered "1") with alternating Audio Cues (set to auto-follow) and Start Cues targeting this Script Cue:

set userGroupCueNumber to "1" -- Change this to the q number of the Group Cue
tell front workspace
set possibleCues to cues of cue userGroupCueNumber whose armed is true and q type is "Audio"
try -- In case there aren't any possible cues
set randomCue to some item of possibleCues
start randomCue
set armed of randomCue to false
end try
end tell

Fire the Script Cue, and all the cues in the Group Cue play in a random order. You can fade out and stop the Group Cue, and the cues you've played preshow will stay disarmed for the interval. The Group Cue could even be a separate cue list, which makes it look marginally less inelegant.

Rich

Reply all
Reply to author
Forward
0 new messages