Problem with OSC disconnectall + connect

Post your questions here and we'll all try to help.
Post Reply
0x80
Posts: 52
Joined: Fri Apr 19, 2013 10:59

Problem with OSC disconnectall + connect

Post by 0x80 »

I am running into a problem with osc connect message in combination with disconnectall.

I made a cue system where every cue is mapped to a list of osc messages being sent to resolume. These messages start clips in certain slots. Sometimes, from one cue to the other, besides triggering new clips the currently playing clips need to stop.

This is an example of a cue stopping all currently playing and starting two:

/composition/disconnectall 1
/layer1/clip4/connect 1
/layer4/clip4/connect 1

The problem with this is it doesn't work as you would expect. There seems to be something weird going on with disconnectall. It only works if you send it last:

/layer1/clip4/connect 1
/layer4/clip4/connect 1
/composition/disconnectall 1

Or put a delay in between:

/composition/disconnectall 1
...wait
/layer1/clip4/connect 1
/layer4/clip4/connect 1

:? That doesn't seem right.... right?

A second problem I'm experiencing, and it appears to be related, is that "connect 1" is not the same as triggering a slot with the mouse. When the targeted layer has no transition effect (T=0), the message seems to behave pretty much in the same way as clicking: the clip starts playing at position 0.

This also works in combination with disconnectall (although still you have to send disconnectall after connect):

with T=0 :
/layer1/clip4/connect 1
/composition/disconnectall 1
-> all clips stop playing
-> clip 4 triggers from position 0

My problem is that this doesn't work if you have a transition time set:

with T=0.5 :
/layer1/clip4/connect 1
/composition/disconnectall 1
-> all clips start fading out
-> clip 4 is not affected, it keeps playing at its current position

But without disconnect all it behaves the same as clicking:

with T=0.5:
/layer1/clip4/connect 1
-> clip 4 triggers from position 0

During rehearsals or setting up I often want to jump back to a cue even if it was the most recent, but this behavior means I can't trigger the same cue twice and get all the clips to start at position 0.

My workaround now is to first trigger a disconnectall separately, then wait for all the transition times to pass, and then trigger the cue again. This is of course doable, but if the above behaviour doesn't have a reasoning behind it it would be very nice to have it fixed. I would think "connect 1" should always triggers a clip consistently on the start of its playback setting, and in the same way as clicking on the slot.

User avatar
Oaktown
Resolume honorary member
Posts: 2837
Joined: Tue May 08, 2012 15:19
Location: Oakland, CA

Re: Problem with OSC disconnectall + connect

Post by Oaktown »

0x80 wrote:/composition/disconnectall 1
/layer1/clip4/connect 1
/layer4/clip4/connect 1
Try:

/layer1/clip4/connect 0
/layer4/clip4/connect 0

then:

/composition/disconnectall 1
/layer1/clip4/connect 1
/layer4/clip4/connect 1

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

Re: Problem with OSC disconnectall + connect

Post by Zoltán »

why don't you trigger columns instead?
all emply slots on layers will stop playing clips on their layer, and the clips in the column will start playing.

with one osc message, just like clicking in resolume.

if you send disconnect all it acts as you would trigger an empty column, with transitions and all, and if transition time > 0 you should wait with clip connect until transitions are finished.
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

0x80
Posts: 52
Joined: Fri Apr 19, 2013 10:59

Re: Problem with OSC disconnectall + connect

Post by 0x80 »

Try:

/layer1/clip4/connect 0
/layer4/clip4/connect 0

then:

/composition/disconnectall 1
/layer1/clip4/connect 1
/layer4/clip4/connect 1
I don't understand what the point is of disconnectall if I still have to keep track of all playing clips and disconnect them each individually? Besides that, connect 0 doesn't seem to be a valid message.
why don't you trigger columns instead?
all emply slots on layers will stop playing clips on their layer, and the clips in the column will start playing.
That would be quite convenient yes, but unfortunately that doesn't cut it in my case. For example I have a clip playing in column 1 that lasts 2 minutes. After 30sec another layer needs to start on top of that. If I put the second clip in column2 it will stop de first one. If I duplicate the first clip to the second slot the column trigger will cause it to start from position 0 again.

I was thinking about this earlier, and was planning to file a feature request for this, because this could work if we had something similar to Ableton's "legato" trigger mode; if you trigger a slot with the same clip as is already playing, it will continue to play the clip at the current location. This would allow you to span the playback of a clip over multiple columns.

We already have the "continue" play mode, but the legato mode would have to be more clever in that it detects that the previous clip was the same file as the new one and then inherits the playback position from the previous clip, or something similar.

But, I think I've found a solution to my problem. Just need to do some more tests...

0x80
Posts: 52
Joined: Fri Apr 19, 2013 10:59

Re: Problem with OSC disconnectall + connect

Post by 0x80 »

Yes got it!

So basically I was after the same behaviour as clicking on a slot. It turns out that sending "connect 1" twice for the same clip results in that.

To pick up on my last example:
with T=0 :
/layer1/clip4/connect 1
/composition/disconnectall 1
-> all clips stop playing
-> clip 4 triggers from position 0

My problem is that this doesn't work if you have a transition time set:

with T=0.5 :
/layer1/clip4/connect 1
/composition/disconnectall 1
-> all clips start fading out
-> clip 4 is not affected, it keeps playing at its current position
The solution is:

with T=0.5 :
/layer1/clip4/connect 1
/layer1/clip4/connect 1
/composition/disconnectall 1
-> all clips start fading out
-> clip 4 triggers from position 0

Clip 4 gets the transition applied too.

Sweet! :)

Still I believe there is a bug in the disconnectall implementation, or I am very curious to hear why it needs to be sent last. Just to be clear:

with T=any :
/composition/disconnectall 1
/layer1/clip4/connect 1
(/layer1/clip4/connect 1)
-> all clips start fading out
-> ... nothing plays

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

Re: Problem with OSC disconnectall + connect

Post by Zoltán »

0x80 wrote:
That would be quite convenient yes, but unfortunately that doesn't cut it in my case. For example I have a clip playing in column 1 that lasts 2 minutes. After 30sec another layer needs to start on top of that. If I put the second clip in column2 it will stop de first one. If I duplicate the first clip to the second slot the column trigger will cause it to start from position 0 again.
right click on column 2 layer 1 slot select ignore column trigger, voila.
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

0x80
Posts: 52
Joined: Fri Apr 19, 2013 10:59

Re: Problem with OSC disconnectall + connect

Post by 0x80 »

right click on column 2 layer 1 slot select ignore column trigger, voila.
I read about this featured but never realized it also applies to empty slots :oops: This saves me quite a bit of hassle having to look up what clips to starts on every cue. Thanks for waking me up :)

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

Re: Problem with OSC disconnectall + connect

Post by Zoltán »

you're welcome.

if you want to save you some time check out the link in my signature.
you open the composition file in thie little program, and you only need to hit enter to cue thru your show,
with automatic transition time adjustment, bpm setting and more.
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

0x80
Posts: 52
Joined: Fri Apr 19, 2013 10:59

Re: Problem with OSC disconnectall + connect

Post by 0x80 »

Thanks but Windows is not an option for me, and I already have the system set up. My cues are triggered from Ableton Live and mapped to OSC in Max.

Cheers

Post Reply