13
0
Commit Graph

584 Commits

Author SHA1 Message Date
Hans Fugal
92ab112480 Remove -x from ardbg, fix bug in memento command factory
git-svn-id: svn://localhost/ardour2/branches/undo@814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 23:19:56 +00:00
Hans Fugal
e0d1b7cb4b r338@gandalf: fugalh | 2006-08-12 16:30:19 -0600
Oops, forgot one


git-svn-id: svn://localhost/ardour2/branches/undo@813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 22:33:48 +00:00
Hans Fugal
0cde6a54ed git-svn-id: svn://localhost/ardour2/branches/undo@812 d708f5d6-7413-0410-9779-e7cbd77b26cf 2006-08-12 22:33:38 +00:00
Hans Fugal
5d965fb582 r329@gandalf: fugalh | 2006-08-12 15:54:49 -0600
Cleaning up some printf debugging


git-svn-id: svn://localhost/ardour2/branches/undo@811 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 22:33:20 +00:00
Hans Fugal
3bb693a79d r322@gandalf: fugalh | 2006-08-12 15:49:05 -0600
A few ardev and ardbg enhancements.


git-svn-id: svn://localhost/ardour2/branches/undo@810 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 22:33:10 +00:00
Hans Fugal
8ee6045cf4 r321@gandalf: fugalh | 2006-08-12 15:48:28 -0600
Behold serialized undo.


git-svn-id: svn://localhost/ardour2/branches/undo@809 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 22:33:00 +00:00
Hans Fugal
26e553caa8 git-svn-id: svn://localhost/ardour2/branches/undo@808 d708f5d6-7413-0410-9779-e7cbd77b26cf 2006-08-12 22:31:45 +00:00
Hans Fugal
1f20fbbad8 merge from trunk
git-svn-id: svn://localhost/ardour2/branches/undo@802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:57:07 +00:00
Hans Fugal
8e1c9186cb r329@gandalf: fugalh | 2006-08-12 15:54:49 -0600
Cleaning up some printf debugging


git-svn-id: svn://localhost/ardour2/branches/undo@801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:55:04 +00:00
Hans Fugal
9ff901b1e7 r322@gandalf: fugalh | 2006-08-12 15:49:05 -0600
A few ardev and ardbg enhancements.


git-svn-id: svn://localhost/ardour2/branches/undo@800 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:53:10 +00:00
Hans Fugal
81b9700c14 r321@gandalf: fugalh | 2006-08-12 15:48:28 -0600
Behold serialized undo.


git-svn-id: svn://localhost/ardour2/branches/undo@799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:52:56 +00:00
Hans Fugal
46af8c0211 The cscope and scons front-end makefile.
git-svn-id: svn://localhost/ardour2/branches/undo@798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:50:33 +00:00
Hans Fugal
57f7f71ce3 r316@gandalf: fugalh | 2006-08-11 17:06:48 -0600
Reconstitution. Comiples, untested.


git-svn-id: svn://localhost/ardour2/branches/undo@797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 21:49:20 +00:00
Hans Fugal
f995ac3786 merge from trunk
git-svn-id: svn://localhost/ardour2/branches/undo@794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 01:36:34 +00:00
Hans Fugal
1b45cf4044 r313@gandalf: fugalh | 2006-08-11 09:36:30 -0600
FLAC workaround snuck in again


git-svn-id: svn://localhost/ardour2/branches/undo@790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11 15:36:41 +00:00
Hans Fugal
af0680d49b r308@gandalf: fugalh | 2006-08-11 08:49:54 -0600
OS X MacTypes.h/libgnomecanvasmm Rect problem workaround when COREAUDIO=0


git-svn-id: svn://localhost/ardour2/branches/undo@788 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11 15:24:49 +00:00
Hans Fugal
a1aa6d2ae1 history snapshot name
git-svn-id: svn://localhost/ardour2/branches/undo@784 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-10 14:56:20 +00:00
Hans Fugal
74b19eadfa Can pass a core to ardbg now. Fixed sometimes crash on saving history by
creating a memory leak(?) that will go away with the transition of XMLNode* to
shared_ptr<>. A few bits toward restoring history from XML.


git-svn-id: svn://localhost/ardour2/branches/undo@779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-10 01:45:49 +00:00
Hans Fugal
cd3f8dba11 r294@gandalf: fugalh | 2006-08-09 15:38:00 -0600
Oops, that wasn't supposed to be checked in...


git-svn-id: svn://localhost/ardour2/branches/undo@774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-09 21:38:44 +00:00
Hans Fugal
a160eb92db merge from trunk
git-svn-id: svn://localhost/ardour2/branches/undo@773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-09 21:31:36 +00:00
Hans Fugal
c26215c1e5 r283@gandalf: fugalh | 2006-08-09 08:13:37 -0600
Save state basics, including adding PBD::ID to the delinquents. Compiles but needs to be tested (because I can't get the whole thing to compile on OSX due to the Rect problem).


git-svn-id: svn://localhost/ardour2/branches/undo@769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-09 14:15:05 +00:00
Hans Fugal
5fc16bf95f r282@gandalf: fugalh | 2006-08-08 16:24:45 -0600
grr
 


git-svn-id: svn://localhost/ardour2/branches/undo@768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-09 14:14:55 +00:00
Hans Fugal
a32175bd41 r274@gandalf: fugalh | 2006-08-07 19:53:48 -0600
Nuke Serializable in favor of Stateful. Got rid of some warnings with stub
 code.


git-svn-id: svn://localhost/ardour2/branches/undo@767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-09 14:14:17 +00:00
Hans Fugal
f07cb624c0 pull from trunk
git-svn-id: svn://localhost/ardour2/branches/undo@764 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-08 21:11:23 +00:00
Hans Fugal
5756373841 Really fixed conflicts. Ready to merge into trunk.
git-svn-id: svn://localhost/ardour2/branches/undo@757 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-04 03:42:34 +00:00
Hans Fugal
79986643c0 r269@gandalf: fugalh | 2006-08-03 20:18:05 -0600
Trunk merge conflicts resolved


git-svn-id: svn://localhost/ardour2/branches/undo@756 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-04 02:18:45 +00:00
Hans Fugal
b0b7234458 r260@gandalf: fugalh | 2006-08-03 15:53:50 -0600
It compiles and runs and seems to still work. Still needed is the actual
 serialization. Time to merge back to trunk so things can be tested by all.


git-svn-id: svn://localhost/ardour2/branches/undo@754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-03 21:54:14 +00:00
Hans Fugal
1f1c4981de Compiles, but doesn't link. The link errors are mostly expected and are
tomorrow's task.

git-svn-id: svn://localhost/ardour2/branches/undo@719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-29 03:17:11 +00:00
Hans Fugal
277b771a97 r209@gandalf: fugalh | 2006-07-28 17:38:21 -0600
global {solo,mute,record enable,metering} state commands. Same philosophy as
 the MementoCommand but using only the appropriate state and not the entire
 state of the session.
 


git-svn-id: svn://localhost/ardour2/branches/undo@718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 23:38:30 +00:00
Hans Fugal
6aeb09062f r206@gandalf: fugalh | 2006-07-26 18:19:07 -0600
A couple more Command conversions. Now all that's left are the half dozen
 or so global mementos.


git-svn-id: svn://localhost/ardour2/branches/undo@698 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 00:19:27 +00:00
Hans Fugal
656d56b12d r205@gandalf: fugalh | 2006-07-26 18:11:47 -0600
More Command conversions


git-svn-id: svn://localhost/ardour2/branches/undo@697 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 00:19:12 +00:00
Hans Fugal
ed31a9a262 r200@gandalf: fugalh | 2006-07-26 17:28:46 -0600
Oops, missed one.


git-svn-id: svn://localhost/ardour2/branches/undo@696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-26 23:29:20 +00:00
Hans Fugal
8e301e875a r199@gandalf: fugalh | 2006-07-26 17:22:38 -0600
Memento(Redo|Undo)Command has a noop for the undo or redo respectively, and
 we don't need both before and after state. This is primarily useful for
 drag start/finish callbacks, and really only makes sense where wrapped by
 (begin|commit)_reversible_command (a composite command).
 
 Also a few more "normal" MementoCommands.


git-svn-id: svn://localhost/ardour2/branches/undo@695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-26 23:28:54 +00:00
Hans Fugal
b7bffbe7a2 r191@gandalf: fugalh | 2006-07-24 19:50:10 -0600
All the obvious MementoCommand grunt work. Now there's some
 add_undo/add_redo_no_execute sprinkled around where one is separated from the
 other (e.g. in different callbacks) or perhaps even where there's only an undo
 and no redo. Also some sigc-based undo/redo pairs that probably need their own
 Command class.


git-svn-id: svn://localhost/ardour2/branches/undo@692 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-25 01:50:20 +00:00
Hans Fugal
55159005b9 r189@gandalf: fugalh | 2006-07-18 17:54:25 -0600
This is the first swath of changes, replacing add_undo with MementoCommand
 pattern, through most of the editor_mouse.cc file. However there were a few
 places that weren't symmetrical that I need to think about. The question is
 whether to tweak things so that they are symmetrical (add_undo paired with
 add_redo*), or to allow Commands to not be undoable or not be redoable. Your
 thoughts are welcome.


git-svn-id: svn://localhost/ardour2/branches/undo@685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-18 23:54:31 +00:00
Hans Fugal
d819b922e1 r184@gandalf: fugalh | 2006-07-17 19:02:10 -0600
(begin|commit)_reversible_command in Editor and Session


git-svn-id: svn://localhost/ardour2/branches/undo@684 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-18 17:47:12 +00:00
Hans Fugal
72168803ee r183@gandalf: fugalh | 2006-07-17 19:01:39 -0600
Use XMLNode instead of templating memento types.


git-svn-id: svn://localhost/ardour2/branches/undo@683 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-18 17:46:20 +00:00
Hans Fugal
0bd3b0b670 r168@gandalf: fugalh | 2006-07-11 16:29:22 -0600
I just had an epiphany. I tried so many ways to make saving function name and
 args work, it never occured to me that you could just as easily save undo
 information as a pair of mementos, even in the Command-based structure we
 agreed on.
 
 Since many (read: almost all) existing undo commands take this form:
 
     begin_reversible_command (_("change fade in length"));
     session->add_undo (arv->region.get_memento());
     arv->region.set_fade_in_length (fade_length);
     session->add_redo_no_execute (arv->region.get_memento());
     commit_reversible_command ();
 
 We are already doing the save a memento before and after work. All we need to
 do is instantiate an appropriate instance of MementoCommand. So the above
 becomes:
 
 
     begin_reversible_command (_("change fade in length"));
     MementoCommand<arv_region_t, arv_region_memento_t>  before, after;
     before = arv->region.get_memento();
     arv->region.set_fade_in_length (fade_length);
     after = arv->region.get_memento();
     session->add_command(arv->region, before, after);
     commit_reversible_command ();
 
 (With apologies for being too lazy to go look up what arv_region_t and
 arv_region_memento_t are)
 
 Note that the true command approach is still possible, and encouraged (both by
 dictate and design). 
 


git-svn-id: svn://localhost/ardour2/branches/undo@680 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 22:29:39 +00:00
Hans Fugal
ab1b29bcb2 r162@gandalf: fugalh | 2006-06-30 19:30:58 -0600
some macros for MementoCommand()


git-svn-id: svn://localhost/ardour2/branches/undo@666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-06 18:25:58 +00:00
Hans Fugal
a5386f8d59 r155@gandalf: fugalh | 2006-06-30 11:21:45 -0600
MementoCommand - for the lazy at heart


git-svn-id: svn://localhost/ardour2/branches/undo@661 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-30 17:24:16 +00:00
Hans Fugal
21af0d4ae2 r154@gandalf: fugalh | 2006-06-30 11:16:27 -0600
fixed guard defines


git-svn-id: svn://localhost/ardour2/branches/undo@660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-30 17:23:12 +00:00
Hans Fugal
6337a1894c r132@gandalf: fugalh | 2006-06-29 12:45:16 -0600
Coding for undo/redo starts in earnest. Paul and I decided to go with a
 standard gang of four Command pattern, with serialization. This overcomes the
 terrible difficulties we were having with static type checking and the sigc++
 approach.  I'm adding the requirement that each command support undo,
 simplifying undo/redo. NOTE that an important fallout here is that
 Command::operator()() is the opposite of the old UndoAction::operator()(), i.e.
 Command::operator()() is execute/redo, and Command::undo() is undo.
 
 This commit is a reworking of the infrastructure, and won't compile until
 creating Command subclasses for the various commands being performed. That is
 primarily where you find get_memento and/or calls to add_(undo|redo.*).


git-svn-id: svn://localhost/ardour2/branches/undo@655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 18:49:03 +00:00
Hans Fugal
5b289d3006 r115@gandalf: fugalh | 2006-06-23 12:36:05 -0600
pass the object instead of an id


git-svn-id: svn://localhost/ardour2/branches/undo@654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 18:45:41 +00:00
Hans Fugal
7968974c01 merging trunk
git-svn-id: svn://localhost/ardour2/branches/undo@652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 14:19:37 +00:00
Hans Fugal
7ff370e798 Merging from trunk
git-svn-id: svn://localhost/ardour2/branches/undo@638 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-22 23:40:55 +00:00
Hans Fugal
fd742b30fa r111@gandalf: fugalh | 2006-06-22 17:38:14 -0600
progress on UndoCommand constructors


git-svn-id: svn://localhost/ardour2/branches/undo@637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-22 23:38:19 +00:00
Hans Fugal
4078b9ec64 r80@gandalf: fugalh | 2006-06-22 16:37:01 -0600
reworked templatization of UndoCommand


git-svn-id: svn://localhost/ardour2/branches/undo@636 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-22 22:37:08 +00:00
Hans Fugal
7c9361b865 r59@gandalf: fugalh | 2006-06-15 12:16:20 -0600
renamed UndoCommand to UndoTransaction, and created new UndoCommand class and
 its templated subclass SlotCommand. Those two are still in considerable flux.


git-svn-id: svn://localhost/ardour2/branches/undo@606 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-15 18:21:31 +00:00
Hans Fugal
eb3f77df57 pulling trunk
git-svn-id: svn://localhost/ardour2/branches/undo@586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-14 18:37:57 +00:00
Hans Fugal
3038d8ce4a r42@gandalf: fugalh | 2006-06-07 17:08:39 -0600
Memento skeleton. RFC
 Compiles, but obviously somewhat unimplemented.


git-svn-id: svn://localhost/ardour2/branches/undo@572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-07 23:08:56 +00:00