QLab --> Resolume via OSC: Dropped Cues?

Post your questions here and we'll all try to help.
User avatar
Foggy_Lens
Is taking Resolume on a second date
Posts: 24
Joined: Fri Nov 24, 2017 21:35
Location: Los Angeles

QLab --> Resolume via OSC: Dropped Cues?

Post by Foggy_Lens »

Hi all,

Bit of a mind bender here and was wondering if anyone has had encountered a similar situation. I'm using QLab4 which is sending OSC cues to two separate Resolume servers. Due to the large nature of the show we split the composition into one server handing the video wall and one handling front projection. However, intermittently we have had dropped cues. Here are the symptoms:
  • - It seems to only happen when I have multiple cues tied together. For example, a cue triggering Column X on server #1 and an autofollow without a delay to a similar cue on server #2
    - It is truly intermittent. In our show of 70 cues (213 total counting autofollows and grouped triggers), a cue will be dropped on average once every other show. And so far never the same cue.
    - Older MacPro running QLab, two new trashcan MacPros running Resolume
    - Going back (up arrow) in qlab retaking the skipped cue will cause it to successfully trigger.
    - There doesn't seem to be any correlation between time between cues and this error, so some kind of network timeout doesn't seem likely
    - We have had occurrences of the misfire happening both when two simultaneous cues are sent to the same server AND when two simultaneous cues are sent to different servers, making me suspect the problem is not on Resolume's ability to parse two simultaneous signals...
    - All computers are connected via Ethernet, static IPs, isolated network with no internet connection
    - This problem has been encountered on two separate occasions, the other was a macbook running QLab3 and a single Resolume server on PC, with a direct adhoc network via Ethernet.
Of course, a solution I'm finding is by putting a .5 second delay between cues in QLab the problem goes away, but there are moments when even that is unacceptable. Some effects do need to be truly simultaneous. Does anyone have any ideas? Is this a fundamental flaw with OSC? Is there another type of cue delivery system which can audit itself (like with FedEx, I want whatever show control system I use with Resolume to require signature upon delivery, not just leave the package at the doorstep and pray it gets picked up...). Is MIDI or DMX a better call? Or perhaps something more beefy as a show control system? I've heard talk of Vezer?

It's not so much a big deal in fast paced shows, but when you've got a show with gentle fades on a 2400ft^2 video wall and it suddenly jumps past a transition cue, we're going to have a bad day. I need to figure out a system which I can rely on 100%.

Thanks everyone!
David Murakami
http://www.davidmurakami.com
Projection Designer, Film Director, & Adjunct Faculty at UC Irvine

Zoltán
Team Resolume
Posts: 7088
Joined: Thu Jan 09, 2014 13:08
Location: Székesfehérvár, Hungary

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Zoltán »

Are you using Resolume 5 or 6?
If you are using Resolume 6, you could check in the OSC inspector if the OSC messages are actually arriving in Resolume.
To open the OSC inspector go to Preferences - OSC, and click on the little play button on the top right corner in the preferences window.

If you are using Resolume 5 you could use OSC data monitor to check the incoming messages.
Software developer, Sound Engineer,
Control Your show with ”Enter” - multiple Resolume servers at once - SMPTE/MTC column launch
try for free: http://programs.palffyzoltan.hu

Joris
Doesn't Know Jack about VJ'ing or Software Development and Mostly Just Gets Coffee for Everyone
Posts: 5185
Joined: Fri May 22, 2009 11:38

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Joris »

I could tell you a joke about UDP, but I'm not sure if you'd get it.


...


Okay, I'll see myself out now, thank you.

User avatar
Foggy_Lens
Is taking Resolume on a second date
Posts: 24
Joined: Fri Nov 24, 2017 21:35
Location: Los Angeles

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Foggy_Lens »

Hi Zoltán,

Thank you, I am using 6 and will use the inspector to debug.

But moreover, Joris, I did NOT get your joke right away, but now that I've done some reading, I do get it and am even more concerned! Good joke, but I'm not laughing. Is there a way to use OSC over TCP instead of UDP?

Or is there a different protocol which would be more appropriate? What are other people's workflows?

Thank you!
David Murakami
http://www.davidmurakami.com
Projection Designer, Film Director, & Adjunct Faculty at UC Irvine

Zoltán
Team Resolume
Posts: 7088
Joined: Thu Jan 09, 2014 13:08
Location: Székesfehérvár, Hungary

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Zoltán »

If you are sending the same data to both machines, you could use the broadcast IP address of the range to send only one message instead of 2 separate to the 2 separate machines.

OSC is UDP only as far as I know.
Software developer, Sound Engineer,
Control Your show with ”Enter” - multiple Resolume servers at once - SMPTE/MTC column launch
try for free: http://programs.palffyzoltan.hu

Joris
Doesn't Know Jack about VJ'ing or Software Development and Mostly Just Gets Coffee for Everyone
Posts: 5185
Joined: Fri May 22, 2009 11:38

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Joris »

OSC works over UDP only. It's primary purpose is sending control data with very low latency, ie feverishly twisting knobs during a performance. A dropped message here and there is considered less important, since it will probably be overwritten by the next message in the stream anyway.

Interestingly enough, TCP is often more problematic, since a dropped message will result in a mess of crosstalk while the server keeps sending and sending as long as the client does not acknowledge.

If you like, you can make your own check if Resolume actually put the correct value by sending a "?" as argument to the address you want to know the value of. Resolume will then respond with the value of that control. You could go as far as continuously sending that request until you've received a reply.

User avatar
Foggy_Lens
Is taking Resolume on a second date
Posts: 24
Joined: Fri Nov 24, 2017 21:35
Location: Los Angeles

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Foggy_Lens »

Can you elaborate on how a "?" would work? I took a look at the documentation and see that it returns the active state of something, but I'm not sure how to integrate that into a workflow.

For example, if I trigger a column, causing a sequence of clips to begin playing, is there a way to use "?" to prompt qlab to take it again if the UDP packet is lost? For example, can qlab wait for the response from Resolume and IF it never comes back, retake the cue? Or, if not, is there another show control system that can?

Of course, if it were me handling this personally, I could just see that the clip isn't playing and take it again, but in the professional opera setting where I work, by union rules I'm not allowed to be the one operating the system. A board operator runs the show, who often has no idea what the show is supposed to look like. So a self-contained system that can error-correct is essential.

I understand that in the context of how people use resolume, the fast "feverishly twisting knobs" is ideal, but for my purposes, I might send a single message every two minutes, triggering a cascade of images which simply MUST happen. For example, the current project: https://vimeo.com/200083681

If a message is lost, it could mean being in the wrong scene for minutes before unceremoniously jumping past the smooth transition cue.

Thanks!
David Murakami
http://www.davidmurakami.com
Projection Designer, Film Director, & Adjunct Faculty at UC Irvine

Zoltán
Team Resolume
Posts: 7088
Joined: Thu Jan 09, 2014 13:08
Location: Székesfehérvár, Hungary

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Zoltán »

Foggy_Lens wrote:Can you elaborate on how a "?" would work? I took a look at the documentation and see that it returns the active state of something, but I'm not sure how to integrate that into a workflow.
For example, if I trigger a column, causing a sequence of clips to begin playing, is there a way to use "?" to prompt qlab to take it again if the UDP packet is lost? For example, can qlab wait for the response from Resolume and IF it never comes back, retake the cue? Or, if not, is there another show control system that can?
Sending the "?" to an address makes Resolume send the value of that Address.
You could send for example a /composition/layers/2/clip/2/connected to check if a clip is playing.
Bu I'm pretty sure that Qlab won't be able to react to an incoming message like this, and I don't think that there is any other software that would.
You'd probably have to build your own.
Foggy_Lens wrote:Of course, if it were me handling this personally, I could just see that the clip isn't playing and take it again, but in the professional opera setting where I work, by union rules I'm not allowed to be the one operating the system. A board operator runs the show, who often has no idea what the show is supposed to look like. So a self-contained system that can error-correct is essential.

I understand that in the context of how people use resolume, the fast "feverishly twisting knobs" is ideal, but for my purposes, I might send a single message every two minutes, triggering a cascade of images which simply MUST happen. For example, the current project: https://vimeo.com/200083681

If a message is lost, it could mean being in the wrong scene for minutes before unceremoniously jumping past the smooth transition cue.
Thanks!

The operator should familiarize him/herself with the production he/she's doing IMO.
In a well designed wired network, I think the chances of an UDP packet getting lost is pretty small.
Make sure the NICs have enough capacity to process incoming packets.

You could use Wireshark to check on the sender machine if the packets are actually getting out, on the receiver machines also if they are getting in, and also check in Resolume OSC monitor if they arrive at Resolume.
This would tell you where the packets were lost.
Software developer, Sound Engineer,
Control Your show with ”Enter” - multiple Resolume servers at once - SMPTE/MTC column launch
try for free: http://programs.palffyzoltan.hu

User avatar
Foggy_Lens
Is taking Resolume on a second date
Posts: 24
Joined: Fri Nov 24, 2017 21:35
Location: Los Angeles

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by Foggy_Lens »

Thanks for the reply Zoltán,

Your response has made me think I need to not only invest in my own media servers, but all networking infrastructure and the triggering computer as well, test thoroughly with Wireshark, then rent as a bundled unit. I'm usually relying on whatever networking infrastructure the theater has. It does seem like some sort of systemic issue though, as it's come up on two shows so far, neither of which shared any hardware whatsoever. (Both wired, and I have no reason to doubt the network quality).

Thank you so much.
David Murakami
http://www.davidmurakami.com
Projection Designer, Film Director, & Adjunct Faculty at UC Irvine

daan.hzndnk
Is taking Resolume on a second date
Posts: 30
Joined: Sat Feb 14, 2015 20:50
Location: Utrecht

Re: QLab --> Resolume via OSC: Dropped Cues?

Post by daan.hzndnk »

Hi David,

I'm using the same showcontrol workflow like you: Qlab OSC over a wired network to a Mediaserver with Resolume. I havn't ever experienced a packet loss over a wired network but I do have over wireless connection (even 5ghz).
I like to work wireless some times during rehearsals. So I read your message and made me think about how to send the message twice with minimal delay.

Now I know Qlab has changed the behaviour of a network cue since a year or so: you can set the duration of the cue. If I make a Network-cue with a duration of 0.00 or 0.01 sec the message will be send once. Set it to 0.02 sec, the message will be send 5 times. Make sure the refresh rate is set higher than 10fps otherwise strange things will happen. With 30fps selected Resolume received the first message at time 0.000s and the 5th message at 0.050s - This is tested over localhost. But anyway: let's say we're triggering a column, Resolume will play the first frame of the movie twice I guess. That might be acceptable, right?

I havn't tested this in real-life but I thought it might be useful.

Post Reply