automatic instrument change with the right clips

Julien Bayle's icon

Julien Bayle

1月 04 2010 | 9:55 午前

hello,
a little thing I built for my own need.
it is easy and I guess a lot of experts already use it since the 23th november.
but for the others, I give it :)

I'm using only one set per live perfomance.
for me, a song is 8 tracks x 6 scenes.
there is an instrument rack in each track, and as many chain as instruments needed (generally: one instrument per song in each track)
so I need to change my chain selector each time I trigger a clip in a [i]new[/i] song.

before max for live, I created an envelope for each clip (copy/paste was my friend) in order to make this.
max for live drives me into a smarter thing.

I observe the playing_slot_index property in each track.
when it changes, I trigger a change in the chain selectort value trough live API.
easy. working. just do what I needed!
and ... it removes another thing that was in the liveset, by putting it in the patch.
it makes the liveset more independant!

the patch is for the track number 2. you can alter it for your own use :)

BUT I have a little problem with this patch.

I trigger a clip.
It is playing.
as soon he begins to play, the chain selector goes on the correct value.
right.
I trigger another clip, the chain selector goes on the correct value ... but a little bit too late and the previous playing clip plays his first note :-(

could someone help me...?

Max Patch
Copy patch and select New From Clipboard in Max.
Julien Bayle's icon

Julien Bayle

1月 06 2010 | 8:54 午前

up (sorry)

any ideas? advices?

broc's icon

broc

1月 06 2010 | 2:28 午後

I would think that such delayed reaction is a common problem and needs to be compensated by sending the trigger in advance by some appropriate time.

Julien Bayle's icon

Julien Bayle

1月 12 2010 | 8:11 午後

I discussed with Andrew Pask (thanks to him for his precious time!)
Andrew has confirmed that " You cannot trigger API stuff from callbacks "

Indeed, it is written in the max for live documentation for the live.observer objects:

Also, it is not possible to modify the live set from a notification, i.e. while you are receiving a value message spontaneously sent by a live.observer 's outlet.

so I'll continue with clip envelopes for changing the rack chain selectors value :) (more boring, but working!)