since it turns out we have a way to address multiple devices from teletype by using the global address
0 i’d like to propose taking advantage of that feature. i suggest adding ops for universal commands that can control multiple modules at once (to distinguish them they can all start with the same character - maybe U for “universal”? i was also considering G for “global” but G is already associated with grid ops).
of course, each follower firmware will need to be updated to support this - i can commit to adding it for WW/ES/MP/orca and possibly ansible. as you can see there are a lot of commands, but not all commands have to be supported, even if something only supports a universal clock and a universal reset that would already be a very useful feature.
the obvious use case for this is using teletype as a meta sequencer - clock and reset multiple modules at once, load presets, control some common parameters.
i would also like to use this feature to add the ability to send and receive sequences/scales. imagine creating a sequence in white whale and then getting it into teletype for further processing and mangling (or the opposite, create it on tt and send it to ww). or using teletype to get a sequence from earthsea and send it to kria!
another useful universal op would be to get a CV or a gate. this (and receiving sequences/scales) is slightly different in that it would still be sent to the global address 0 but will also include a device address, and only one device will respond. this is to cover a scenario where, say, you have a scene that reads CV from ansible levels. now if you want to use cycles instead you have to modify the scene. if you use a universal op instead you say “get CV from ansible #1”, and it will respond based on whatever app is currently running on ansible (whether it’s cycles/levels/mp or kria). this is only possible using the global address.
here is the list of universal ops i thought would be useful. that’s 30 commands, i suggested we reserve 64 for global which leaves us plenty of room to grow.
go to next preset
go to prev preset
go to next pattern
go to prev pattern
set loop start
set loop end
set current scale
get TR state