without my editor configured correctly and haven't noticed. Sorry about
that.
git-svn-id: svn://localhost/ardour2/trunk@849 d708f5d6-7413-0410-9779-e7cbd77b26cf
Connect to jack before we start the metering thread in case
the connect fails and an exception is thrown.
* [Modified] SConstruct
Change back the pkg-config argument for the SoundTouch library
to the name used in the upstream tarball. Sorry drobilla, perhaps
there is a way to handle both.
git-svn-id: svn://localhost/ardour2/trunk@848 d708f5d6-7413-0410-9779-e7cbd77b26cf
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
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
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
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
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
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
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
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
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
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
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
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
b) various changes to ControlProtocol model/implementation
c) more attempts to get autoscroll to work nicely (unfinished)
d) move editor item types into their own header
git-svn-id: svn://localhost/trunk/ardour2@506 d708f5d6-7413-0410-9779-e7cbd77b26cf
a) measure lines extend the full height of the canvas
b) region name color bars and text positioning now adjusted to match
font size for different display resolutions
c) vertical scrollbar limited to cover visible tracks only
git-svn-id: svn://localhost/trunk/ardour2@486 d708f5d6-7413-0410-9779-e7cbd77b26cf
Moved items from gtk2_ardour/utils to pbd3/convert.
Various cleanups.
git-svn-id: svn://localhost/trunk/ardour2@475 d708f5d6-7413-0410-9779-e7cbd77b26cf
b) single-thread Tranzport implementation
c) implement BasicUI to share functionality across multiple
controllers
d) various minor fixes here and there
git-svn-id: svn://localhost/trunk/ardour2@468 d708f5d6-7413-0410-9779-e7cbd77b26cf
for text sizing
b) add back scroll-wheel functionality to plugin parameter controls
git-svn-id: svn://localhost/trunk/ardour2@460 d708f5d6-7413-0410-9779-e7cbd77b26cf
covers 0...full session + 10% of current zoom page size
b) add "big meter" mode to tranzport and fix more bugs with tranzport
support
git-svn-id: svn://localhost/trunk/ardour2@455 d708f5d6-7413-0410-9779-e7cbd77b26cf