[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