13
0
Commit Graph

172 Commits

Author SHA1 Message Date
Hans Baier
fc73f748b5 * completed MIDI::Name::MasterDeviceNames and implemented its set_state-Method
git-svn-id: svn://localhost/ardour2/branches/3.0@4293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-06 04:38:44 +00:00
Hans Baier
110170db95 * Added MIDI::Name::Note
git-svn-id: svn://localhost/ardour2/branches/3.0@4292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-06 00:07:07 +00:00
Hans Baier
d746b78319 * sending MIDI clock works, hooray\!
git-svn-id: svn://localhost/ardour2/branches/3.0@4268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-29 05:40:17 +00:00
Hans Baier
94537a47a1 * Added support for ChannelNameSetAssignments (midnam_patch.(cc|h)
git-svn-id: svn://localhost/ardour2/branches/3.0@4238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-23 19:42:09 +00:00
Hans Baier
2f07b77503 * added XML deserialisation for control and program changes
* added pointer checks
* fixed typos in comments


git-svn-id: svn://localhost/ardour2/branches/3.0@4234 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-22 15:40:19 +00:00
Hans Baier
6abd152d17 * removed unnecessary method calls (preparse/postparse) in JACK_MidiPort
* Changed calculation of current speed and transport position to double to avoid accumulating rounding errors

git-svn-id: svn://localhost/ardour2/branches/3.0@4106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-07 20:31:05 +00:00
Hans Baier
fd824717a7 * fixed jitter problems for midi clock and removed superfluous UI elements
git-svn-id: svn://localhost/ardour2/branches/3.0@4008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-25 08:28:10 +00:00
a2d2f738cb Move event specific ringbuffer stuff to evoral.
Sane event type interface between evoral and libardour (no more shared magic numbers).
Cleanup Evoral::Sequence iterator, fix bugs, probably introduce new ones.
Move MIDI specific event functions to Evoral::MIDIEvent (is-a Evoral::Event).


git-svn-id: svn://localhost/ardour2/branches/3.0@3785 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 16:28:02 +00:00
d357eca668 Factor out sequencing related things into an independant new library: "evoral".
Anything related to the storage of events/values over a range of time lives in evoral.
This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList),
	Automatable (Evoral::ControlSet), etc).
libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511.


git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 00:47:49 +00:00
1c299d5a5c merge Sakari's (sbergen) branch back into 3.0, removing libsndfile and adding taglib
git-svn-id: svn://localhost/ardour2/branches/3.0@3736 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 08:44:51 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
Hans Baier
8164a0992d * fixed JACK_MidiPort to get the events into the slave
git-svn-id: svn://localhost/ardour2/branches/3.0@3662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 22:22:35 +00:00
Hans Baier
ed990de604 * first implementation of MIDI Clock Slave support
git-svn-id: svn://localhost/ardour2/branches/3.0@3652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-04 22:37:24 +00:00
Jesse Chappell
01f18f325f fixed pitchbend byte ordering
git-svn-id: svn://localhost/ardour2/branches/3.0@3608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-07-15 04:08:49 +00:00
449aab3c46 rollback to 3428, before the mysterious removal of libs/* at 3431/3432
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:41:35 +00:00
Doug McLain
9c0d7d72d7 remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 05:02:28 +00:00
Hans Baier
911c5717bc * splitted midi++/event.h in header and implementation
* added to_string(), to_xml() and from_xml() to MIDI::Event
* added partial support for midnam-Patchfiles (http://www.sonosphere.com/dtds/MIDINameDocument.dtd): midnam_patch.h/.cc
* added validation support to xml++.cc/.h
* added XMLNode::add_property(const char *name, const long value)
* added test to pbd/tests/xpath.cc


git-svn-id: svn://localhost/ardour2/branches/3.0@3412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-25 23:35:23 +00:00
Hans Baier
4aa9d17ab1 * added midnam test file for xpath
* added to_string() to MIDI::Event
* added XMLNode::attribute_value for attribute nodes
* debugging output in MidiModel (incorrect rendering of Pitchbender events: Notes lost
* added xpath tests for midnam files


git-svn-id: svn://localhost/ardour2/branches/3.0@3406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 10:36:51 +00:00
54bec37b5a Fix corrupt MIDI file writing when meta events are present (fixes missing first note issue on some imported files).
Reduce number of buffer allocations on MIDI read/write.


git-svn-id: svn://localhost/ardour2/branches/3.0@3395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 21:36:27 +00:00
96384d65a6 More petty clean ups of MIDI stuff.
Use more complete header I had laying around for MIDI controller names / depollute Automatable.


git-svn-id: svn://localhost/ardour2/branches/3.0@3378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 18:07:31 +00:00
05801cc3d6 Eliminate excessive allocation (for every event) during MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:00:28 +00:00
a25be81b5d Fix event allocation issues with MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 00:15:26 +00:00
8ca72c4eca Fix various MIDI corruption bugs.
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.


git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 02:40:48 +00:00
Hans Baier
8d44391f4b * adjusted formatting a bit to style guide
* fixed: velocity value left on canvas
* fixed: end-of-track problem still showed up sometimes
* enabled heaps of debugging output in order to debug MidiModel corruption 


git-svn-id: svn://localhost/ardour2/branches/3.0@3329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 11:28:14 +00:00
Hans Baier
8557d0c69f * bugfix: SMFSource: track footer overwrote the last MIDI event
git-svn-id: svn://localhost/ardour2/branches/3.0@3319 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 09:15:45 +00:00
Hans Baier
0e394fb66b * removed old implementation for Program Changes from MidiModel
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch

git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:09:32 +00:00
da45f489dd Fixes for GCC 4.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@3303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 18:35:05 +00:00
Hans Baier
f41f334be6 * forgot to commit this last time
git-svn-id: svn://localhost/ardour2/branches/3.0@3291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-26 09:07:32 +00:00
Hans Baier
f91006d8d2 * added methods for pich bender/pgm change/aftertouch to MidiEvent
git-svn-id: svn://localhost/ardour2/branches/3.0@3282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-23 02:27:27 +00:00
Hans Baier
c4bdcb82af * fixed bug: crash because of invalidated iterator while removing midi notes from model
git-svn-id: svn://localhost/ardour2/branches/3.0@3253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-15 23:00:06 +00:00
Hans Baier
1a0044b35d * implemented persistent undo for MidiModel::DeltaCommand. Deserializing works, but weirdly has no effect when undo/redo is applied in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@3240 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-09 15:33:01 +00:00
6554200e66 hans' patches for MIDI note resizing++
git-svn-id: svn://localhost/ardour2/branches/3.0@3184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-26 11:11:47 +00:00
022c45361e fix up delivery of MTC & MMC; add zero=last_timestamp semantics to JACK midi port write call; setup parser execution for JACK MIDI ports
git-svn-id: svn://localhost/ardour2/branches/3.0@3159 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-19 21:15:28 +00:00
4808f7fe8b fix up and re-enable MTC transmission
git-svn-id: svn://localhost/ardour2/branches/3.0@3158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-19 18:10:51 +00:00
d9faaed2c1 reduce (from 5k to 512) the number of events that non-process() threads may write into a JACK_MidiPort per process cycle
git-svn-id: svn://localhost/ardour2/branches/3.0@3157 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-19 17:30:42 +00:00
3a29796405 reinstate Ye Olde MIDI (input) thread; fix up a few startup warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@3156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-19 17:25:37 +00:00
eb4a1fdbb8 refactor JACK MIDI port to allow writing from a non-process() thread, and move ARDOUR::MidiEvent into MIDI namespace along with midi_events.h header
git-svn-id: svn://localhost/ardour2/branches/3.0@3155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-18 03:42:32 +00:00
d69f4e9e3d band-aid fix for wrong-thread-MIDI-writes
git-svn-id: svn://localhost/ardour2/branches/3.0@3154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-18 00:58:36 +00:00
4d94305cc9 Fix install path problems (s/ardour2/ardour3).
Fix finding of keybindings file when running from source tree (via ardev/ardbg).
Fix clashing keybindings for zoom stuff.
Add note tool keybinding and menu entry.


git-svn-id: svn://localhost/ardour2/branches/3.0@3099 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-21 19:30:01 +00:00
80c3677c83 Merge with 2.0-ongoing R2988
git-svn-id: svn://localhost/ardour2/branches/3.0@2991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 17:22:04 +00:00
f7f9d6fdc4 merge from 2.0-ongoing by hand, minus key binding editor
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-11 22:07:47 +00:00
b9b6ba8be4 merge changes to libmidi++ API from 2.0-ongoing
git-svn-id: svn://localhost/ardour2/trunk@2256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 14:19:19 +00:00
Taybin Rutkin
91b67c1d98 fix for linking midi++ on MacOSX.
git-svn-id: svn://localhost/ardour2/trunk@1879 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-18 03:01:52 +00:00
5183f9b772 require new JACK API; fix inheritance bug in AudioRegion::verify_*()
git-svn-id: svn://localhost/ardour2/branches/midi@1789 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-07 03:26:43 +00:00
ebe4fc9d88 Update Jack system port names to reflect new Jack naming scheme.
git-svn-id: svn://localhost/ardour2/branches/midi@1787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-07 00:06:07 +00:00
7c9db826bc Use Jack trunk MIDI. This needs proper fixing..
git-svn-id: svn://localhost/ardour2/branches/midi@1784 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-04 23:57:01 +00:00
b8e9b3f071 Real fix for Jack MIDI crash. Maybe!
git-svn-id: svn://localhost/ardour2/branches/midi@1782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-04 02:50:31 +00:00
acdfe9857a Possible fix for Jack MIDI crash on jack_get_buffer_size some are seeing.
git-svn-id: svn://localhost/ardour2/branches/midi@1780 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-04 01:47:13 +00:00
0c7b7216ef initial fixes to get build to work without new JACK MIDI, and to get it running with an older session, at least somewhat
git-svn-id: svn://localhost/ardour2/branches/midi@1773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-01 23:26:14 +00:00
2e8f80e37a Merged with trunk R1719.
Updated for Jack MIDI SVN branch (required for now).


git-svn-id: svn://localhost/ardour2/branches/midi@1720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-14 18:39:01 +00:00
99904735e0 Merged with trunk R1612.
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18 06:07:08 +00:00
eb270e70a1 Compilation fix.
git-svn-id: svn://localhost/ardour2/branches/midi@1430 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-02-07 15:19:34 +00:00
f9f5ec85fb Merged with trunk R1393.
git-svn-id: svn://localhost/ardour2/branches/midi@1395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-28 17:44:13 +00:00
532f6aad4a Merged with trunk R1283.
NOTE: Compiles, but broken (crash on adding MIDI track).


git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09 23:24:54 +00:00
ef6b25432d Merged with trunk R1141
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19 16:45:16 +00:00
fedf3d34f3 Merged with trunk R992.
Completely untested other than it compiles, runs, and records somewhat (need to merge again).


git-svn-id: svn://localhost/ardour2/branches/midi@999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21 19:01:50 +00:00
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
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
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
868f557f26 Merged with trunk (painfully)
git-svn-id: svn://localhost/ardour2/branches/midi@581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-13 07:27:52 +00:00
2f4392f043 Removed excessive debug printing, added missing files for SMPTE namespace and Jack libmidi++ ports
git-svn-id: svn://localhost/ardour2/branches/midi@577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-09 01:48:38 +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
0c1b9afc63 - Documentation fixes
- Fixed boolean return values in libmidi++ to return bool instead of int


git-svn-id: svn://localhost/trunk/ardour2midi@538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-26 22:30:54 +00:00
1da9bb0c26 Install ardour as a binary, a script and a set of shared
libraries. Libraries are discovered via {LD,DYLD}_LIBRARY_PATH


git-svn-id: svn://localhost/trunk/ardour2@481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-26 00:45:27 +00:00
Taybin Rutkin
49ab3aa0b3 All included libraries now link dynamically instead of statically.
Moved items from gtk2_ardour/utils to pbd3/convert.
Various cleanups.


git-svn-id: svn://localhost/trunk/ardour2@475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-25 20:23:50 +00:00
7df20e1166 2006-03-04 Tim Mayberry <mojofunk@gmail.com>
* Remove debug output preventing compilation on x86_64.
	* Build shared libraries for all libs/* when DEVBUILD=1 to fix linking for x86_64/non-x86.
	* Simplify/consolidate the dev scripts a bit.
	* Export ARDOUR_COLORS variable in dev scripts.
	* Remove G_DISABLE_DEPRECATED from glibmm CXXFLAGS to allow compilation with newer versions of glib.
	* Build soundtouch with SYSLIBS=1, hopefully we can link to system soundtouch soon.


git-svn-id: svn://localhost/trunk/ardour2@344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-04 11:26:25 +00:00
cf0da62ff0 miscellaneous fixes post-jesse's 24 bit file format changes
git-svn-id: svn://localhost/trunk/ardour2@317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-11 02:34:03 +00:00
4e2d99fd21 fix computation of MMC base track for MMC rec enable (Ben Loftis)
git-svn-id: svn://localhost/trunk/ardour2@301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-28 13:35:31 +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
a9e38032a3 route list + edit group list now pretty much functional, plus preparations for ardour2.0-alpha1
git-svn-id: svn://localhost/trunk/ardour2@253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-10 04:25:47 +00:00
Jesse Chappell
bd21c474e5 committed RWlock fixes to libardour. added hw monitoring fixes from nick_m. minor alsa midi fix and update rate settings.
git-svn-id: svn://localhost/trunk/ardour2@244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-06 04:59:17 +00:00
Taybin Rutkin
d09f6b3016 Initial revision
git-svn-id: svn://localhost/trunk/ardour2@4 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-05-13 20:47:18 +00:00