[Draft discussion] Snapshot system

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.

Ableton Live

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

Usine

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.

VCV

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.

Conclusion

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.

1 Like

for devices, there seems to be just enough space to put snapshot button, given that name of device is centered and lower part is reserved for maximum of 3 buttons, while top part is always just 2
image

however, folder button needs to be nudged a bit to fit snapshot icon. either way, here’s first rough mockup idea:

1 Like

One more idea is to implement preview of new values when hovering over snapshots from the list, so affected parameters would show relative change that would occur, just like when you hover over modulation arrow. except here when you actually choose a snapshot, these changes would apply in absolute manner, rather than relative as with modulations.

2 Likes

Thank you! Looks good overall. Ready to be promoted to #features in a couple of days if nobody has any objection.

1 Like

I’m gonna add more mockups and proposed ways of doing it.

for instance, I’m thinking if there could be intuitive way to also add ability to plot snapshots on Metasurface, so we could fade between states on a XY map.

1 Like

Looks ready now?

almost? If I don’t add anything today, let’s roll with what we got