13
0
Commit Graph

394 Commits

Author SHA1 Message Date
0c31e4c4f3 more object lifetime management fixes, plus a couple of tiny cleanups
git-svn-id: svn://localhost/ardour2/trunk@992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-18 17:42:59 +00:00
Jesse Chappell
bebd86d208 fixed double application of gain on tracks/busses with bypassed panners
git-svn-id: svn://localhost/ardour2/trunk@990 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-17 21:45:20 +00:00
33e626bad7 isomorphous fix for UndoTransaction death as was previously applied for MementoCommand (i.e. avoid delete this)
git-svn-id: svn://localhost/ardour2/trunk@989 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-17 21:15:41 +00:00
0ef71e47de reduce calls to fit_to_pixels(); flip back to old fix for rec regions botch; executable stack fix; avoid delete this in MementoCommand lifetime management
git-svn-id: svn://localhost/ardour2/trunk@988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-17 20:40:39 +00:00
2b90eeade9 session export starts from session start marker; add tooltips for rude solo + audition; start work on control protocol feedback control (unfinished but compiles and runs
git-svn-id: svn://localhost/ardour2/trunk@985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-13 15:07:50 +00:00
44e5462f9a again, remove valgrind debugging hack
git-svn-id: svn://localhost/ardour2/trunk@983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-12 15:29:21 +00:00
833f33b0c9 fixes for meter thread using free'd member of AudioEngine, audiostreamview accessing deleted crossfades, and mute button now has sensible text color when active
git-svn-id: svn://localhost/ardour2/trunk@982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-12 15:20:00 +00:00
6d6ca665ef revert valgrind debugging hack
git-svn-id: svn://localhost/ardour2/trunk@979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-11 21:57:55 +00:00
Sampo Savolainen
c44e6a62f6 Fix normal gain stage to use SSE / veclib optimizations.
git-svn-id: svn://localhost/ardour2/trunk@978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-11 21:07:43 +00:00
360a903069 make MementoCommand inherit from sigc::trackable so that we don't double-call its object-going-away handler; make big clock float ; do not use shared_ptr<T> in session region signalhandlers, just weak_ptr<T>
git-svn-id: svn://localhost/ardour2/trunk@976 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-11 19:50:15 +00:00
b94f199970 add control port to ardour.rc.in and fix crash bug caused by bad shared_ptr<Region>(this) construct, seen when invoking "Original Position" from region context menu
git-svn-id: svn://localhost/ardour2/trunk@973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-10 19:51:35 +00:00
6c56eb646b do not include install targets for conditionally-built subdirs
git-svn-id: svn://localhost/ardour2/trunk@969 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-10 02:36:18 +00:00
Sampo Savolainen
0c1bca807f VST plugin parameters restore properly
git-svn-id: svn://localhost/ardour2/trunk@965 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 21:48:27 +00:00
cdbcb1a4ea another tweak for VST building
git-svn-id: svn://localhost/ardour2/trunk@964 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 19:53:04 +00:00
c0192ee340 VST=1 support working in build scripts
git-svn-id: svn://localhost/ardour2/trunk@963 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 19:22:35 +00:00
Sampo Savolainen
af757a1b6a Give a different error message when AudioEngine::connect() tries to make
an connection which already exists.

Tempo bars will now stretch from top to bottom via a hackish but 
approved scheme.

Disconnect route inputs and outputs when removing them from the session.


git-svn-id: svn://localhost/ardour2/trunk@961 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 18:08:08 +00:00
048526fde8 do not conditionally add directories to "subdirs" because then they are not included in the src tarball if various scons flags are not set
git-svn-id: svn://localhost/ardour2/trunk@960 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 17:56:13 +00:00
0d0f71ee92 fix abort-capture path, including many subtle issues with shared_ptr<>; remove old automation feedback code; make new automation feedback code slightly configurable ; fix zoom focus options for playhead + edit cursor ; prevent zoom < 2 samples per pixel to avoid crashes ; peak building now uses shared_ptr<Source> not Source*
git-svn-id: svn://localhost/ardour2/trunk@959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 15:50:44 +00:00
Sampo Savolainen
af441a832e Fix speed quietning to respect the current setting.
git-svn-id: svn://localhost/ardour2/trunk@957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-08 19:27:33 +00:00
6bec40d859 prevent normal regions from moving with session start
git-svn-id: svn://localhost/ardour2/trunk@954 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-05 15:11:31 +00:00
a46aa719a6 display results of a bounce in the region list
git-svn-id: svn://localhost/ardour2/trunk@952 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-05 12:19:28 +00:00
ffdf5ada61 Generic MIDI control now saves+restores its state; PBD::ID now requires a buffer size for its print() method
git-svn-id: svn://localhost/ardour2/trunk@949 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-05 01:49:32 +00:00
Sampo Savolainen
5ad68cf2c5 Crossfades are restored off disk properly again.
git-svn-id: svn://localhost/ardour2/trunk@948 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-04 19:40:32 +00:00
60db13f98c added global revision info access
git-svn-id: svn://localhost/ardour2/trunk@943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-03 20:29:17 +00:00
a1695a570f the actual fix for width of string ID representation
git-svn-id: svn://localhost/ardour2/trunk@941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-03 19:59:07 +00:00
aabf0be5a9 floating point precision fix, after months of waiting, plus fix for width of string ID representation
git-svn-id: svn://localhost/ardour2/trunk@940 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-03 19:57:38 +00:00
c0fa196073 changes to make the tarball compile
git-svn-id: svn://localhost/ardour2/trunk@939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-02 20:29:57 +00:00
02115563fe fixes for various bugs including dangling ref to route in session, opening sessions from the NSD, closing a session leaving dangling pointers etc etc
git-svn-id: svn://localhost/ardour2/trunk@938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-02 18:09:34 +00:00
09ee5d9967 many important changes to configuration system and specific parameters
git-svn-id: svn://localhost/ardour2/trunk@935 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-29 21:39:39 +00:00
7adf76bbe6 modify design of configuration state saving to reflect discussions on IRC
git-svn-id: svn://localhost/ardour2/trunk@934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-29 13:10:46 +00:00
93c7aeba04 fixes for destructive track offsets of various kinds; move from jack_nframes_t -> nframes_t
git-svn-id: svn://localhost/ardour2/trunk@933 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-28 17:23:52 +00:00
3e6feb62ae VST support now builds a useful script and installs correctly; fix leftovers for solo_latch and solo_model in configuration changes
git-svn-id: svn://localhost/ardour2/trunk@932 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-26 21:54:51 +00:00
2bcdbf3028 Fix for building with SURFACES=1 (new config system broke tranzport).
git-svn-id: svn://localhost/ardour2/trunk@930 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-26 03:00:57 +00:00
1f3e5a8960 version of a patch from Ben Loftis to correct how offset destructive tracks are drawn. audio playback is not correct in myt tests
git-svn-id: svn://localhost/ardour2/trunk@929 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-26 00:44:08 +00:00
d8d238a6ec remove wierd handling of edit_mode
git-svn-id: svn://localhost/ardour2/trunk@928 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-25 22:38:44 +00:00
ac1272c0d4 the BIG CONFIG patch
git-svn-id: svn://localhost/ardour2/trunk@926 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-25 21:24:00 +00:00
Sampo Savolainen
7b99808a57 Fix the interchange/ directory structure for snapshots
git-svn-id: svn://localhost/ardour2/trunk@925 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-25 19:58:47 +00:00
Sampo Savolainen
75fd93406d Nick, I am your god.
(fix loading old sessions)


git-svn-id: svn://localhost/ardour2/trunk@924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-23 10:06:57 +00:00
41bc62b35b fixes for drag-n-drop broken by use of boost::shared_ptr<T>
git-svn-id: svn://localhost/ardour2/trunk@923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-20 16:24:24 +00:00
Sampo Savolainen
d89e7ff299 Make crossfades which appear as the result of a set_state() call (for
example undo or redo) appear in the gui.


git-svn-id: svn://localhost/ardour2/trunk@922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-19 13:45:51 +00:00
ea6de825fa better fix for duplicate regions, fix nasty side-effects from recent directory structure changes, debug info for d-n-d issue
git-svn-id: svn://localhost/ardour2/trunk@919 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-18 15:16:29 +00:00
3c45ab0846 never remove tape track source files even if empty, reconnect editor mute/solo buttons
git-svn-id: svn://localhost/ardour2/trunk@911 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-08 17:12:14 +00:00
Taybin Rutkin
7c95da93ab Fixed compilation of coreaudiosource.cc
git-svn-id: svn://localhost/ardour2/trunk@909 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-07 18:25:41 +00:00
f2c8ae66c0 remove all duplicated _id members from children of PBD::Stateful.
Sources now know about Session.
rearrange session directory heirarchy. remove tape_dir stuff. 
NSD allows absolute/relative paths to be typed straight into the text entry.
Session history reloaded after all 3rd party registrations done.
Editor restores its ID; other objects still need this.
use g_mkdir_with_parents() instead of mkdir()
one example of using g_file_test() instead of access.




git-svn-id: svn://localhost/ardour2/trunk@908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-07 15:07:14 +00:00
Sampo Savolainen
babf75d871 Fix declicking for phase inverted routes by stopping
process_output_buffers() from inverting the phase of a buffer twice. 
Also fixed bug in apply_declick() which resulted in incorrect phases for 
even buffers of p-reversed routes.



git-svn-id: svn://localhost/ardour2/trunk@906 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-05 17:53:54 +00:00
Nick Mainsbridge
e513d106d7 lower zoom step slightly, speed up autoscrolling when snapping to sub-beats (esp 32), make grid lines disappear when on coarse zoom, put grid lines in the idle thread (called from the idle thread.. interesting..), make current_bbt_points coarser so the bbt_ruler and grid lines can use it instead of making their own list, clean up bbt ruler.
git-svn-id: svn://localhost/ardour2/trunk@905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-04 16:04:09 +00:00
c1e5842565 Moved test for jack_port_ensure_monitor from SConstruct into
libs/ardour/SConscript.

Renamed define WITH_JACK_PORT_ENSURE_MONITOR to HAVE_etc to 
be more consistant.

Added a test in libs/ardour/SConscript for jack video support and 
ifdef'd the small code blocks in audioengine.cc and session_time.cc
where it was used.


git-svn-id: svn://localhost/ardour2/trunk@882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-01 02:58:33 +00:00
Taybin Rutkin
78e13c37f4 Synced string array in sfdb_ui.cc with ImportMode enum.
Cleaned up CoreAudioSource by using CAAudioFile.


git-svn-id: svn://localhost/ardour2/trunk@881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-01 01:59:41 +00:00
Taybin Rutkin
9bc22f6f86 Fixed compilation of CoreAudioSource
Seperated AUDIOUNITS support from COREAUDIO support.
Fixed metadata saving in SfdbUI.


git-svn-id: svn://localhost/ardour2/trunk@879 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31 16:34:42 +00:00
21d85f1854 merge changes from harrison branch back into trunk, by hand
git-svn-id: svn://localhost/ardour2/trunk@878 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31 13:23:43 +00:00
dde980289a Add a check for for jack function jack_port_ensure_monitor to
allow building successfully with older versions of jack.


git-svn-id: svn://localhost/ardour2/trunk@876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31 03:44:44 +00:00
Nick Mainsbridge
a61f25dfe9 ** requires svn jack ** Hardware monitoring should work, some canvas scrolling speed improvement, don't disconcertingly churn the disk if jack auto-start fails, mixer visibility state is saved per session, slow down meters a bit (too much?), zoom cleanups, remove some unused variables, use rwlock for tempo state for no reason other than that it might be useful one day, fix compiler warning.
git-svn-id: svn://localhost/ardour2/trunk@873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-30 20:48:16 +00:00
6535cd1b1d used shared_ptr<Source>, somewhat successfully
git-svn-id: svn://localhost/ardour2/trunk@861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-29 00:23:45 +00:00
3d1c0d729a new file
git-svn-id: svn://localhost/ardour2/trunk@854 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-25 01:34:33 +00:00
1b8af985b5 fix last minute code change
git-svn-id: svn://localhost/ardour2/trunk@853 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-25 01:14:16 +00:00
ce234f363e use shared_ptr<> for all region handling
git-svn-id: svn://localhost/ardour2/trunk@852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-25 01:07:15 +00:00
7e95f29ce9 Just some whitespace fixes from where it looks like I've been working
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
2006-08-24 11:55:23 +00:00
3bba45c773 * [Modified] audioengine.cc
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
2006-08-24 11:44:06 +00:00
4273f94813 fix for type error on 64 bit systems
git-svn-id: svn://localhost/ardour2/trunk@837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-17 16:56:23 +00:00
3c3a204ad3 further optimizations for multiple-track-at-once addition. as in "whoah!"
git-svn-id: svn://localhost/ardour2/trunk@836 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-17 02:12:20 +00:00
199dce57f3 make adding multiple tracks more efficient (a *lot* more efficient)
git-svn-id: svn://localhost/ardour2/trunk@834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-16 20:22:44 +00:00
Taybin Rutkin
279128c81e Merged fix from cocoa branch -r 831.
git-svn-id: svn://localhost/ardour2/trunk@832 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-16 15:58:40 +00:00
3ea92ec324 new file
git-svn-id: svn://localhost/ardour2/trunk@831 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-16 14:07:58 +00:00
1ae0948138 RCU-ification of AudioEngine port list, and DiskStreams. not well tested, but basically functional. better to get this in now rather than later.
git-svn-id: svn://localhost/ardour2/trunk@828 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-16 01:19:06 +00:00
Taybin Rutkin
c5619a0f98 Renamed id to _id for ObjC compatibility.
git-svn-id: svn://localhost/ardour2/trunk@826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-15 12:07:56 +00:00
Hans Fugal
81bec39eb0 less annoying debug
git-svn-id: svn://localhost/ardour2/trunk@816 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 23:30:59 +00:00
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
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
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
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
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
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
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
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
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
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