Since Bitwig is extremely stubborn about not fixing the bug of plugin undo/redo not working, I would like to know if it's possible for me to develop an extension that will solve the issue.
Does the API allow appending to the undo history? Say I've selected a VST device, I listen for changes and when a change occurs, I append to the undo history. Is this possible?
Also, would it be possible to implement a snapshots system using the API? e.g. save a snapshot of a device's entire parameter state, then later I can "recall" that snapshot to reset to the saved parameter state.
Thanks.
Latest News: Bitwig updates Bitwig Studio to v5.1
Is it possible to modify undo history with the API?
-
- KVRer
- 14 posts since 17 Oct, 2017
Highly unlikely, but you can implement your own undo-history. It would be a complete mess if you want it to cover actions universally, and you would only be able to track things you can add observers to. Further, to undo an action, you need to record a state-change and be able to reverse it. Thus, the API needs to have an action to do the opposite of what the action did. Changing a parameter from a to b and then undoing is easy, but what about changing the length of a note in the arranger? Working with notes in the API is kind of limited because the API is modeled after what physical controllers need to be able to do, and some things are just not accessible from the API.Does the API allow appending to the undo history?
Device parameters is one such thing that would be pretty easy to implement, so it's probably possible. I'm not currently sure if it's possible to uniquely identify a specific device via a reference or something like that.
Most likely possible. I'm thinking about doing this myself at the moment, and I don't think I'm far off. I still need to answer the question of whether it's possible to uniquely and robustly identify specific devices, even when device chains change, or tracks switch position and name.Also, would it be possible to implement a snapshots system using the API?