Feature request - support Bank Select (CC0/CC32) as discrete dimension selectors
Synchron player is fun, but it seems like the control system is entirely too much optimized for humans fiddling with faders and keyswitches, i.e. live performance and recordings thereof.
Sequencing with SP, and especially doing notation expression maps, is a bear. A key problem is that several common dimensions (esp Articulation and Type) are logically discrete, not continuous. But the CC mapping system is only continuous, and is terrible at e.g. mapping a CC to a dimension with 7 values. How does that split up? We can't see, need to do math etc. Several people have asked for the discrete, settable CC splits we had in VIPro, but that can't work because the same CC is used for different counts (e.g. one articulation has 5 types, another has 7 types, another has 3 types, and they all must share a controller). Furthermore, if you do figure out how 128 divides by five, and later add another slot, all the numbers realign and your maps break.
Keyswitches are discrete, but they don't chase, pollute scores and pianos rolls etc. I want nothing to do with them. (If you like them fine, please don't fill this discussion with your thoughts on their superiority, this feature is for people that don't want to use keyswitches).
That leaves only program change as a discrete, chase-able dimension selector, and support for PC from hosts is mixed (looking at you Cubase/Dorico).
However, the MIDI spec clearly indicates that Bank Select CC0 (and its LSB partner, CC32) are intended for discrete control - selecting particular patches via particular values. I recommend you support CC0/32 as discrete selectors for dimensions.
What does that mean? It means if a dimension is assigned CC0, then CC0 value 0 selects the first slot (no matter how many there are), and CC0 value 1 selects the second slot etc. Ditto CC32. In this way everything is predictable, adding a slot doesn't break anything, accommodating different numbers of children for the artics is not a problem etc. There's no awkward math. And they'll chase. And they are well supported.
Yes, these won't work great with faders - but there are plenty of other CCs available. CC0/32 were never intended for faders/wheels etc. They were in fact intended for exactly the same problem as selecting Articulation+Type.
Adopting Bank Select (CC0/32) as discrete in addition to PC will give us 3 chase-able discrete controllers and greatly facilitate the creation of robust expression maps for sequencing and notation.
Please consider.
Thanks,
Rich