I’m going to try and make some mockups later with proposed designs on how it could work, but here’s some thoughts on pros and cons of mentioned implementations in other products.
While by restricting number of parameters stored by number of maximum available macros (which is up to 16 I believe) it ensures quick state changes with no hiccups, but at the same time it’s a very limiting approach and doesn’t suit Bitwig’s workflow
While it’s snapshot system is present across whole DAW and is very powerful, it can be easily abused over capacity of your computer to switch states fast enough, as by default it saves states of all modules and their parameters, which can add up to a huge data set especially when you want to switch states on top (project) level. So solution there is to disable state saving for specific modules or even whole patches.
It works fine, but you have to be constantly aware of what’s saving and what is not when using snapshot system later, and you can’t easily exclude some parameters from snapshot so they affect only what you want, and not the whole device or project at once.
in VCV there are modules that can save states of parameters of other modules when you arm saving state and touch parameters you want to include. While it mitigates mentioned problem with Usine where you can’t easily select per-parameter what’s saved in the snapshot, on the flip side it’s a bit too broad since you can add parameters from all modules present and there’s no preview for the snapshots stored.
So taking this examples into consideration I think that Bitwig needs snapshot editor where you can edit (remove or add to) list of stored parameters, including their stored values. it could be done via separate panel like Remote Controls editor has, or it could be done via inspector panel. Perhaps quick snapshot save button would by default save state of changed parameters since device (or preset) was loaded, or since last snapshot was saved. this would optimize stored data set with relevant parameters only, so we can ensure that states can be switched quickly with no hiccups. and we could add modifier key for snapshot save button that would force saving states of all available parameters, for those who know what they’re doing.