MIDI override vs select vs merge vs math

I’ve got a use case that I’ve been banging my head against, and could use some insight regarding best practices.

I have n # of midi devices with the same names and channels… I want any device to be able to override the value passed because its the most recently updated channel.

A select chop will rename channels with the same name, so that’s not what I want.
A merge will accept only the last ops input, that’s not what I want.
A math chop gets close if I add or average the channels, but I just want the most recently updated value to override
An overrideCHOP is the obvious answer, but it won’t pass unique values, it only updates channels that are present already in the first input

My ideal solution is an option for override chop to pass any unique values that aren’t present in the first input. Second to that, an option for selectCHOP to override channels with the same names based on most recently updated values without prepending a unique name or creating a new index would be nice. A mathCHOP option for overriding recently updated channels under combine CHOPs would also do the trick.

While we’re on the subject, the behavior of the overrideCHOP also leaves something to be desired in options for pickup mode. Most midi capable applications offer an option for a hard jump in values, vs the override only executing when the new value == the old value, so that a new controller won’t cause a hard cut but a gradual pickup… a pickup mode toggle for the override chop would be nice for interfaces that can accept native control or values from an external controller.

Finally, the ability to use pattern matching to reference ops in the math, override and merge chops so they behave similarly to a selectCHOP would be stellar.

Interested in any thoughts about how best to achieve my desired behavior

did you try bindCHOP?

I don’t know how I missed that… I’ve only bound to those channels before, never used multiple inputs into a bindCHOP. Replicator with connectors into bindCHOP does exactly what I’m looking for

1 Like

Cool. Was designed specifically for external controller wrangling. You can add a parameter into the mix now too by binding directly to the channel.

2 Likes