13
0
Commit Graph

786 Commits

Author SHA1 Message Date
6f4a92f740 Heavy-duty abstraction work to split type-specific classes into
specializations of (new, for the most part) generic bases.  (eg. most everything
from the MIDI branch except for actual MIDI things, so merges have a chance of
succeeding).  Also the new edit toolbar, and various other cleanup things I did
along the way.

Should be functionally equivalent (except the toolbar), this is just design work.

She's a big'un....



git-svn-id: svn://localhost/ardour2/trunk@727 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-01 03:23:35 +00:00
Taybin Rutkin
ba0c8bc2ef Use UTF8 instead of ASCII in CFString conversion.
git-svn-id: svn://localhost/ardour2/trunk@725 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-31 22:24:05 +00:00
Taybin Rutkin
2e2e20563c Start of AudioUnit work. COREAUDIO=y is a little destable for now.
git-svn-id: svn://localhost/ardour2/trunk@724 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-31 22:05:28 +00:00
Sampo Savolainen
4be1ccc43f Editing text now works even with num lock or caps lock on.
git-svn-id: svn://localhost/ardour2/trunk@723 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-31 21:58:01 +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
Taybin Rutkin
2df8147e35 Updates to get CoreAudioSource linking again.
git-svn-id: svn://localhost/ardour2/trunk@715 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 19:46:50 +00:00
Jesse Chappell
7aad85ed02 fixed flac sconstruct checklib questionably by adding a language=CXX param
git-svn-id: svn://localhost/ardour2/trunk@714 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 18:30:56 +00:00
Sampo Savolainen
2d5b1ab4aa shared_ptr fixes
git-svn-id: svn://localhost/ardour2/trunk@709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 22:16:35 +00:00
caf0739b59 add forgotten rcu.h header
git-svn-id: svn://localhost/ardour2/trunk@708 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 16:58:20 +00:00
cc2767caf3 added RCU handling of Session route list, and major use of shared_ptr<T> everywhere else. plus a few bug fixes for issues discovered with -Wextra
git-svn-id: svn://localhost/ardour2/trunk@707 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 16:52:14 +00:00
Taybin Rutkin
d23fec7b9a sfdb paths are saved and restored.
git-svn-id: svn://localhost/ardour2/trunk@700 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-27 03:30:03 +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
Taybin Rutkin
690e04ed42 Minor updates for PathList and OptionEditor.
git-svn-id: svn://localhost/ardour2/trunk@694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-26 22:18:55 +00:00
Taybin Rutkin
f8f8497330 Added PathList widget to Gtkmm2ext. It is for adding and removing directory
paths to a list.  It'll be used for sfdb_paths and raid_paths in the OptionEditor.


git-svn-id: svn://localhost/ardour2/trunk@693 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-26 19:22:06 +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
Taybin Rutkin
3a5a338f80 Fixed double delete in Stateful::add_instant_xml().
git-svn-id: svn://localhost/ardour2/trunk@690 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-22 16:21:10 +00:00
Taybin Rutkin
433d9a5fc3 Removed unused midicontrollable.cc
Enum and namespace syntax fixes to satisfy -pedantic
Resolved a couple "code never reached" areas to satisfy -Wextra


git-svn-id: svn://localhost/ardour2/trunk@688 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-19 16:47:04 +00:00
Taybin Rutkin
50a4504e48 Updated config.guess file
Added mac specific ardour2_mac_ui.rc file
Fixed some memory leaks in add_instant_xml() usage.
Added EXTRA_WARN scons option for pedants.
Reformatted xml++.cc into something that wouldn't drive me insane.


git-svn-id: svn://localhost/ardour2/trunk@686 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-19 03:49:52 +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
edde9b5983 destructive track work: regions now display offset by bwf timeline reference, cannot rec-enable before session start
git-svn-id: svn://localhost/ardour2/trunk@681 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-13 13:58:05 +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
Sampo Savolainen
f0484eee89 Make it possible to edit multiple pan automation lines
git-svn-id: svn://localhost/ardour2/trunk@679 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 20:43:39 +00:00
f535b0f491 make waveforms centered when height hits NAME_HIGHLIGHT_THRESHOLD
git-svn-id: svn://localhost/ardour2/trunk@678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 15:45:19 +00:00
e7efb38fc5 removed references to midi controls from VST plugin support
git-svn-id: svn://localhost/ardour2/trunk@677 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 14:30:19 +00:00
c5fbb8234b fix for playhead/edit cursor having wrong z-order placement; fix fader mouse control
git-svn-id: svn://localhost/ardour2/trunk@676 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 14:15:55 +00:00
Taybin Rutkin
2161752a1b Fix for compiling on gcc4.
AudioLibrary now stateful.


git-svn-id: svn://localhost/ardour2/trunk@675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-11 04:15:29 +00:00
c3b4df9867 BWF offset changes from Ben Loftis, hacked by hand into current svn
git-svn-id: svn://localhost/ardour2/trunk@674 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-10 20:12:48 +00:00
26843b34fd modification to make generic MIDI actually work again
git-svn-id: svn://localhost/ardour2/trunk@673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-10 20:01:47 +00:00
05f8fcd189 save+restore ID counter; fix buglet introduced with ID's when saving region state
git-svn-id: svn://localhost/ardour2/trunk@672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-08 19:39:53 +00:00
3dec68cd6b remove UUIDs as implemention of PBD::ID, use static counter (not finished - counter state not saved)
git-svn-id: svn://localhost/ardour2/trunk@671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-08 13:26:07 +00:00
eaf5d6d21f add new files
git-svn-id: svn://localhost/ardour2/trunk@670 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-08 00:25:34 +00:00
8b46567e06 id_t becomes a fully-fledged object, UUID's used for IDs, generic MIDI now owns bindings, MIDI binding concept removed from libardour itself in favor of generic Controllables
git-svn-id: svn://localhost/ardour2/trunk@669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-07 23:51:30 +00:00
Sampo Savolainen
6f2e8de6a0 Fixed compile warnings.
git-svn-id: svn://localhost/ardour2/trunk@668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-06 21:25:45 +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
Jesse Chappell
ee58e757e9 - fixed editor forced minimum size issue
- fixed thinko in selectable
- fixed incorrect virtual method signature in fft_graph



git-svn-id: svn://localhost/ardour2/trunk@665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-06 13:00:20 +00:00
Sampo Savolainen
118175a3a2 Fix midi control for log plugin parameters.
git-svn-id: svn://localhost/ardour2/trunk@663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-02 20:51:16 +00:00
Sampo Savolainen
aebd64bb6a Rename pbd3 to pbd
git-svn-id: svn://localhost/ardour2/trunk@662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-02 09:19:24 +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
Taybin Rutkin
481f7c3965 Fixed i18n system.
Renamed pbd3 back to pbd, since it's version 4.1 now.
Very minor fixes


git-svn-id: svn://localhost/ardour2/trunk@656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 22:21:30 +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
Taybin Rutkin
d1a4f74ef2 Added path.cc and tokenizer.h from win32 branch.
Added mountpoint.cc support for non-getmntent() systems.


git-svn-id: svn://localhost/ardour2/trunk@653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 16:29:19 +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