[ardour-dev] undo's
vanDongen/Gilcher
gml at xs4all.nl
Sun Jun 6 16:21:10 PDT 2004
Some loose thoughts for post 1.0
I just started thinking about undo and ended up with scripting .
The current undo function is straightforward and functional.
It's purpose is the "oops, i didn't mean to do that" undo.
Going back to a part of a specific state in the past can be done with
snapshots and multiple playlists. This requires some thought of the user, but
that is not bad.
A possible scenario is this:
1)I edit the rhythm-section .
2)I edit the solos and then realize I have to redo some stuff in 1)
I don't want to undo the solo edit that took me all afternoon.
What I need to do now is: copy the solo playlists. [undo] n times (because I
didn't make a snapshot). Redo the rhythm-section, reinstate the solo using
the playlist copies.
What was nice about the playlist edit-lists, was that it organized the
edithistory into multiple stacks that were mutually exclusive. It's use was
to "selectively" undo only certain actions. So the above could be done
without the playlist copies.
The problem is the interaction with the user-expected global undo.
What could be a solution is to have a edit-list organized as a set of
collumns, one for each route.
On each each line an action taken, ordered in the appropiate collumn,
for instance like so:
audio1 audio2 masterout
-1 move_region
-2 trim_region
-3 add_region
-4 set automation point
-5 add_region remove_region
etc...
Where 5 is moving a region from audio2 to audio1.
clicking on a field highlights the affected region or brings up the details
shift-right-clicking on a field removes it and all its decendants,
but that should be undoable as well, hmm this needs more thought.
It could be a neat way to make scripts as well ....
or more complicated selections, using regular expressions .
Maybe reverse the ordering so you get a "command line" at the bottom :)
Make it a minibuffer, add some lisp, embed a emacs major mode, where will it
end?
Gerard
--
electronic & acoustic musics-- http://www.xs4all.nl/~gml
More information about the Ardour-Dev
mailing list