Grid Merge/Split module improvements

There are number of things that could be improved about Merge and Split modules, I got at least 2 examples:

  • Expand max in/out slots from 8 to 64 (to match limit of many other modules like Steps or Phase counter).
  • Add sorting modes for Selection in Merge module, at the very least ascending and descending orders of current signals in each input.
  • Add optional common Sample and Hold input for Merge module, as well as auto-hold with selection threshold (for both Merge and Split), so whenever slot selection amount is less than defined threshold it would automatically hold whatever value was in the slot. Specifically for Merge it would make more sense to hold when selection is active, and for Split when it’s inactive.

What problem(s) would this feature resolve?

  • Expansion of available slots per module would simplify patching a lot and is needed for sorting operations for more than 8 inputs at once. It’s not obvious how to stack Merge/Split in first place, so better just make it more user-friendly for everyone.
  • Currently there’s just no way to instantly and efficiently sort bunch of incoming signals in specific order, so Merge could help with that, especially considering that use cases when it’s needed often involve using Merge/Split in first place.
  • Integrated Sample and Hold features could help simplify lots of use cases where we have to instead have parallel Merge/Split modules triggering bunch of S/H modules for each in/out. this makes patches for some things unnecessary large.

How does this feature fit in Bitwig as a product?

just improvements on already existing module

Is there already an alternative way to achieve this on Bitwig?

  • Stacking these modules is possible, but not obvious on how and not quite efficient.
  • No way of instant ‘array’ sorting.
  • Possible to recreate S/H behavior described, but it makes patches messy and not so efficient.

Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?

For sorting - no, not for arbitrary values inside Grid.

Could it be provided by a VST or something else reasonably integrated with Bitwig?

No

Are there other products that offer this feature?

For the most part Merge/Split in Grid replace features that ‘array’ type modules have in other modular environments, but Merge/Split are heavily limited for those purposes.