13
0
Commit Graph

20739 Commits

Author SHA1 Message Date
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
0cdb918d4d Work towards removal of Session's Diskstream list.
Havn't managed to completely remove it because of Session loading from XML - the
Diskstreams are separate from the Tracks (I assume as a throwback to when they
were distinct) so the Diskstreams need to be stored somewhere until the Tracks
are loaded.  Ideally tracks should completely own their Diskstreams - not sure
how to accomplish this without breaking Session loading though...


git-svn-id: svn://localhost/ardour2/branches/midi@687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-19 05:44:23 +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
50a3102b9b Merge big changes (mostly Controllable) from trunk
git-svn-id: svn://localhost/ardour2/branches/midi@682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-14 03:43:32 +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
edd841895b Loading/Saving of sessions containing MIDI tracks and/or busses
git-svn-id: svn://localhost/ardour2/branches/midi@667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-06 19:45:23 +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
22c20ab6f2 Merged with trunk, and a few trivial GUI updates etc.
git-svn-id: svn://localhost/ardour2/branches/midi@664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-05 19:47:25 +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
5dc4abef79 More toolbar tweaking - Ardour fits on 1024x768!
git-svn-id: svn://localhost/ardour2/branches/midi@659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-30 17:15:45 +00:00
f57bc15a6c Complete edit toolbar overhaul
git-svn-id: svn://localhost/ardour2/branches/midi@657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-30 08:03:43 +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
Jesse Chappell
2fa75950c7 added ladspa path stuff to osx exporter script
git-svn-id: svn://localhost/ardour2/trunk@651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-29 03:53:23 +00:00
Taybin Rutkin
43c054a005 Removed Cassowary library. (best laid plans...)
git-svn-id: svn://localhost/ardour2/trunk@650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-28 22:06:31 +00:00
728835e5e7 many fixes to audio file code, SMPTE offset now works correctly
git-svn-id: svn://localhost/ardour2/trunk@649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-28 22:00:09 +00:00
216b012e0b A couple GUI tweaks - minor toolbar reorganization, trying to get the width down below 1024 (and make things more organized and easier to use in general). Not quite there yet....
git-svn-id: svn://localhost/ardour2/branches/midi@648 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-28 07:08:10 +00:00
Taybin Rutkin
fdda19d3d4 CoreAudioSource moved to coreaudiosource.cc.
Compiles with new libsndfile class hierarchy.


git-svn-id: svn://localhost/ardour2/trunk@647 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-27 21:57:15 +00:00
Taybin Rutkin
17916d84bc Start of app_build script.
git-svn-id: svn://localhost/ardour2/trunk@646 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-27 15:39:33 +00:00
Taybin Rutkin
71862247ad Components of Ardour.app package.
git-svn-id: svn://localhost/ardour2/trunk@644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-27 00:45:25 +00:00
b7f3a63507 Actually added the code mentioned in my last commit. Whoops.
git-svn-id: svn://localhost/ardour2/branches/midi@643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26 20:29:45 +00:00
2336aa1a50 Added missing file
git-svn-id: svn://localhost/ardour2/branches/midi@642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26 16:49:59 +00:00
fe13d08874 Large nasty commit in the form of a 5000 line patch chock-full of completely
unecessary changes.  (Sorry, doing a "sprint" based thing, this is the end of the first one)

Achieved MIDI track and bus creation, associated Jack port and diskstream creation, and minimal GUI stuff for creating them.  Should be set to start work on actually recording and playing midi to/from disk now.

Relevant (significant) changes:

- Creation of a Buffer class.  Base class is type agnostic so things can point to a buffer but not care what kind it is (otherwise it'd be a template).  Derived into AudioBuffer and MidiBuffer, with a type tag because checking type is necessary in parts of the code where dynamic_cast wouldn't be wise.  Originally I considered this a hack, but passing around a type proved to be a very good solution to all the other problems (below).  There is a 1:1 mapping between jack port data types and ardour Buffer types (with a conversion function), but that's easily removed if it ever becomes necessary.  Having the type scoped in the Buffer class is maybe not the best spot for it, but whatever (this is proof of concept kinda stuff right now...)

- IO now has a "default" port type (passed to the constructor and stored as a member), used by ensure_io (and similar) to create n ports.  IO::register_***_port has a type argument that defaults to the default type if not passed.  Rationale:  previous IO API is identical, no changes needed to existing code, but path is paved for multiple port types in one IO, which we will need for eg synth plugin inserts, among other things.  This is not quite ideal (best would be to only have the two port register functions and have them take a type), but the alternative is a lot of work (namely destroying the 'ensure' functions and everything that uses them) for very little gain.  (I am convinced after quite a few tries at the whiteboard that subclassing IO in any way is not a feasible option, look at it's inheritance diagram in Doxygen and you can see why)

- AudioEngine::register_audio_input_port is now register_input_port and takes a type argument.  Ditto for output.

- (Most significant change) AudioDiskstream abstracted into Distream, and sibling MidiDiskstream created.  Very much still a work in progress, but Diskstream is there to switch references over to (most already are), which is the important part.  It is still unclear what the MIDI diskstream's relation to channels is, but I'm pretty sure they will be single channel only (so SMF Type 0) since noone can come up with a reason otherwise.

- MidiTrack creation.  Same thing as AudioTrack but with a different default type basically.  No big deal here.

- Random cleanups and variable renamings etc. because I have OCD and can't help myself. :)

Known broken:  Loading of sessions containing MIDI tracks.




git-svn-id: svn://localhost/ardour2/branches/midi@641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26 16:01:34 +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
2b5d095464 correctly forward configure events to plugin windows, and cleanup FST code
git-svn-id: svn://localhost/ardour2/trunk@635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-22 21:04:47 +00:00