13
0
Commit Graph

34 Commits

Author SHA1 Message Date
8277d134b9 Merged with trunk R708
git-svn-id: svn://localhost/ardour2/branches/midi@712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 01:08:57 +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
74dd5bd706 Committed filthy mess of a working copy solely for moving between machines.
Nothing to see here, move along now...


git-svn-id: svn://localhost/trunk/ardour2midi@575 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-08 23:46:42 +00:00
a157537898 a) moved metering and meter falloff code into libardour
b) added initial "big meter" mode for tranzport
c) fixed some lock issues in ARDOUR::IO objects
d) generic_midi control surface module now compiles and loads


git-svn-id: svn://localhost/trunk/ardour2@450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-10 03:54:00 +00:00
Nick Mainsbridge
825d7a769d fix incorrect marker/range marker right-click menus, try to clarify the text in them, select all between cursors ('u' is the shortcut) separate regions using range marker (a new right click menu on a range matker), easter egg
git-svn-id: svn://localhost/trunk/ardour2@438 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-01 00:21:25 +00:00
3aa346b253 significant changes in code to handle import/embedding - much cleaner and less code, plus the import progress bar now works; unify response handling for Gtkmm2ext::Choice
git-svn-id: svn://localhost/trunk/ardour2@415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-22 17:03:00 +00:00
004a49b0c7 Gtkmm2ext::Choice now inherits from Gtk::Dialog; embed/import rate mismatch dialog no longer hangs in recursive Main::run() call
git-svn-id: svn://localhost/trunk/ardour2@414 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-21 21:08:24 +00:00
eb3fc0d966 add crossfade and layering options to menu system; add missing crossfade editor curve image; add control for destructive recording xfade; remove dead options from options editor
git-svn-id: svn://localhost/trunk/ardour2@411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-21 15:27:57 +00:00
Jesse Chappell
1511423e4e capitalized menus. minor header fix
git-svn-id: svn://localhost/trunk/ardour2@365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-09 16:28:07 +00:00
5a39bf595c export range markers patch (revisited), change selection model, copy-drag tempo+meter marker patch
git-svn-id: svn://localhost/trunk/ardour2@349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-05 19:39:16 +00:00
Nick Mainsbridge
69c9f3d7ce select all in time range, show object selection while in range mode, trim range ends by a frame when selecting, make things semantically a bit better.
git-svn-id: svn://localhost/trunk/ardour2@329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-15 12:15:29 +00:00
da093c7939 restore many keybindings from ardour 0.99
git-svn-id: svn://localhost/trunk/ardour2@313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-07 13:58:33 +00:00
98046ce92d remove editor mixer button, fix up editor mixer state save/restore
git-svn-id: svn://localhost/trunk/ardour2@306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-31 03:27:25 +00:00
Sampo Savolainen
60dc0ef48f Edit menu reorganization, abort if problems with ardour.menus.
git-svn-id: svn://localhost/trunk/ardour2@304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-28 23:45:06 +00:00
81ef56fba9 fix (mostly) measure lines and click box text and meter markings
git-svn-id: svn://localhost/trunk/ardour2@300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-28 13:33:54 +00:00
Nick Mainsbridge
dfcd837d67 select all, musical (fuzzy) loop/punch/range region selections, soundtouch patch for gcc 4.1, needs 's' key to not clear selection.
git-svn-id: svn://localhost/trunk/ardour2@289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-23 16:02:48 +00:00
Sampo Savolainen
51093cc589 Reorganized edit menu: edit cursor related actions into one submenu, and
region operations into another one.


git-svn-id: svn://localhost/trunk/ardour2@288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-22 19:53:26 +00:00
Nick Mainsbridge
048e756240 new keymouse action mute/unmute region (m)
git-svn-id: svn://localhost/trunk/ardour2@287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-22 15:46:30 +00:00
Nick Mainsbridge
b0686e9056 new keymouse binding 'set region sync point'
git-svn-id: svn://localhost/trunk/ardour2@286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-22 13:29:08 +00:00
Nick Mainsbridge
ad2ee02728 a nice excuse for some keybindings, make some markers larger vertically
git-svn-id: svn://localhost/trunk/ardour2@282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-20 12:36:24 +00:00
a20f41ab39 a metric ton of changes
git-svn-id: svn://localhost/trunk/ardour2@246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-08 02:56:49 +00:00
b75112adea make show all option on region list context menu work
git-svn-id: svn://localhost/trunk/ardour2@236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-04 04:10:08 +00:00
c1b2177d27 many options moved to menus, region list context menu sort of operational
git-svn-id: svn://localhost/trunk/ardour2@219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-31 18:20:42 +00:00
f69c9ed564 lots and lots of keybindings working again, with lots more menu items
git-svn-id: svn://localhost/trunk/ardour2@209 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-24 18:25:26 +00:00
541ff63201 button hacks and more
git-svn-id: svn://localhost/trunk/ardour2@200 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-21 21:37:18 +00:00
3733c995c5 editor window layout changes, and lots more
git-svn-id: svn://localhost/trunk/ardour2@187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-12 20:54:55 +00:00
3ff9964885 advance compiling to the m*.cc point
git-svn-id: svn://localhost/trunk/ardour2@108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-24 14:59:36 +00:00
Nick Mainsbridge
54a8032106 Gnome::Canvas -> ArdourCanvas and some other small fixes
git-svn-id: svn://localhost/trunk/ardour2@107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-23 17:21:12 +00:00
fb45ffea71 strip keyboard.cc of noxious focus handling stuff, and cleanup
git-svn-id: svn://localhost/trunk/ardour2@106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-23 04:13:32 +00:00
cdc2d055f1 more fixes on the long road to compiling
git-svn-id: svn://localhost/trunk/ardour2@103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-17 21:31:37 +00:00
1a3a776077 incomplete changes based on karsten's megapatch
git-svn-id: svn://localhost/trunk/ardour2@81 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-12 22:07:07 +00:00
2d32c7da36 more work on actions and general compilability
git-svn-id: svn://localhost/trunk/ardour2@56 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-10 20:38:53 +00:00
56cf3469db new registration system for editor actions set up and compiles
git-svn-id: svn://localhost/trunk/ardour2@54 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-09 17:58:06 +00:00
c38fdbc64c "finalmunge" patch from nick, plus work on editor region list and actions infrastructure from me
git-svn-id: svn://localhost/trunk/ardour2@52 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-09 05:03:29 +00:00