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.
- 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.
just improvements on already existing module
- 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.
For sorting - no, not for arbitrary values inside Grid.
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.