Is it possible to modify undo history with the API?

Post Reply New Topic
RELATED
PRODUCTS

Post

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.

Post

Does the API allow appending to the undo history?
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.

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.
Also, would it be possible to implement a snapshots system using the API?
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.

Post Reply

Return to “Controller Scripting”