“Global” undo feature means: undo/redo history that applies to not just editor as of now but also mixer and plugin controls (at least all controls exposed to Ardour for automation).
This would tremendously boost workflow for all producers and artists on Ardour, I think no explanation is really needed here. (Minutes to hours wasted trying to recreate plugins/tracks that were accidentally deleted; quick A/B testing for any mixer/plugin changes; etc.)
It is an often requested feature (last time was December for plugin undo, March for mixer undo) and always shutdown citing “complications”. What is the main difficulty in implementing this feature?
It is quite common in other DAWs: e.g. Ableton, Logic, Bitwig all have global undo, and FL studio by default restricts undo to “arranger/piano roll” but has “Undo knob tweaks” option for plugins state in settings. Could this be included at least as an experimental feature that can be enabled in preferences for Ardour?
The major difficulty is deciding what constitutes a change. You really need touch start/end events for that, which exist for mouse/pad users, but not necessarily for control surfaces. Someone could turn a knob on a control surface and generate several hundred undo/redo points, because we have no way of transforming the whole sequence into “press … fiddle … release”
The hack is to use timeouts, but that really is a hack.
We will never provide undo for track deletion.
A/B testing is much better done with specific support for it, rather than via undo/redo.
Do other DAWs just use the timeout hack? Because I totally agree that it’s hard to know what constitutes a change, and I’m sure other DAWs have also grappled with that.
“Ardour only accesses the editor for undo/redo, not the plugins, which is great. For example, with the TDR Nova, there is a left arrow for undo and a right arrow for redo, which I can only click with the mouse. This means that the editor undo/redo and the plugin undo/redo are independent. I think that’s good.”
A question: Is it possible to import a left and right arrow into the plugin in general? Perhaps next to the presets? This would allow you to use any plugin with undo/redo.
Plugin behavior is private to plugins. There is no plugin API that covers undo/redo. A plugin might offer undo/redo itself, but Ardour knows nothing about that (other than the simple fact that some parameters might change).
To be honest, it is presently the only thing that I struggle with in Ardour…
For me the biggest cause of concern is hitting ctr+z to undo a minor change in a parameter, ending up removing whatever was recorded last and not noticing until it’s to late… Annoyingly it has happened more than once… At least a simple “are you sure” pop-up button would be very helpful…
“Are you sure” for every undo operation seems very burdensome to most users. The undo/redo system doesn’t know the contents of the operations it is undo-ing/redo-ing, so there’s no way to do that “just for things that would remove recorded material”.
Yeah, a confirmation dialog would be disruptive. Would it be possible to add some type of non-modal/transient notification, something like "undid set loop range from selection’?
Perhaps if one can select whether or not the notification appears…Like in a lot (most?) softwares…
I’m honestly one of those who would like very much to adopt Ardour as the main DAW but (for me) the problem of its undo function behaviour not being typical of most software is a serious barrier… It’s not just a matter of educating myself to use something DAW-specific differently, its a matter of forgetting ctrl-Z for everything else…
For instance, in a text editor, if I undo making something bold in reverts to plain, doesn’t delete the text… In other DAWs if I undo after a gain adjustment the fader comes back to where it was, it does not delete the track… In an image editor, if undo after applying a filter it takes it away, does not delete the picture… Even the editor for this message behaves like this(just checked ).
Please don’t get me wrong, just trying to reinforce on something that is a nuissance to may of us…
Again, thanks for all the effort put into Ardour and please let me know if I may be missing something…
I’ve never experienced any software that asked me before performing an undo.
Ardour doesn’t delete anything in any operation that is subject to undo/redo. If you “delete” a region from a track, nothing has been “deleted” - you’ve edited the playlist for that track so that the region is no longer present in it. But the region still exists (undo will bring it back, of course, at that moment in time). The only operation where we genuinely delete something (removing a track) has warning dialogs that note that you cannot undo it.