Routing data by 1st Instance, 2nd Instance...

Igneous Rock's icon

Hello! I'd appreciate advice on a question that I think applies broadly to analyzing and organizing MIDI data.

I'm trying to process polyphonic MIDI data from from my ROLI by the order in which it is received. If a voice parameter has a certain high value (y-axis location, in this case), I want it to control part of my synth. And when the SECOND instance of this high-value-parameter appears in a different voice, I'd like it to control another part of my synth. This data can evolve, and I need it to stay assigned to its voice #!

Can it be done mostly within [poly~]? Is it a matter of [coll] or [table]? I know there must be an elegant way of doing this, but I'm stuck and would appreciate advice.

Igneous Rock's icon
Max Patch
Copy patch and select New From Clipboard in Max.

This is the best method I can think of currently... though I've done something wrong here because it's not working

broc's icon

Try using the [cycle] object.

Max Patch
Copy patch and select New From Clipboard in Max.

Igneous Rock's icon

Broc I tried out using [cycle] but I don't think it is useful here–I'm looking at multiple subpatchers communicating about their instance #, when a certain parameter is present.

Igneous Rock's icon
Max Patch
Copy patch and select New From Clipboard in Max.

This took far too long, but I have a working version. I'd be really interested to see if anyone could streamline this or suggest a different method.