b825b86862
generalize hans' midi_clock_timestamp to be a general timestamp for incoming MIDI data (from JACK); make JACK_MidiPort::read() abort, because it should never ever be called; make JACK_MidiPort::~JackMIDIPort() unregister ports when it is destroyed; pass along the timestamp to MTC qtr and full signals
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 18:31:00 +00:00
d2426538ad
more changes to try to improve MTC handling even in slightly pathological cases
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 13:24:08 +00:00
47c88ff7d1
support for MMC track mute register, in addition to existing track record status register
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-23 17:34:11 +00:00
67601c6c50
fix stupid MIDI::Manager design to properly handle multiple MIDI ports with the same "device" specification
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-13 19:50:39 +00:00
8713667ec1
rework Stateful::set_state() patch to avoid default version argument
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20
Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
...
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.
So don't do that unless you make a backup of the session file first.
git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
Carl Hetherington
b65f8073ba
Fix some unused parameter warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
Carl Hetherington
3b89d9eaa0
Remove most using declarations from header files.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +00:00
e0aaed6d65
*** NEW CODING POLICY ***
...
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.
Do this:
#include "ardour/types.h"
NOT this:
#include <ardour/types.h>
Rationale:
This is best practice in general, to ensure we include the local version
and not the system version. That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.
More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly. That is:
!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!
Failure to comply is punishable by death by torture. :)
P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).
git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
caf103c0af
Fix warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:39:19 +00:00
1f9c3f34d9
Fix MIDI controller feedback.
...
Make control surfaces menu less weird.
git-svn-id: svn://localhost/ardour2/branches/3.0@4625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 20:53:54 +00:00
2463be97f7
Make sure Evoral::MIDIEvent XML stuff is entirely unused in midi++ for now (resolve ticket #0002491 ).
...
Remove empty midi++ README etc files (and ancient nearly-empty midi++ ChangeLog).
git-svn-id: svn://localhost/ardour2/branches/3.0@4621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 18:04:54 +00:00
166ef64e3d
Make (MIDI) event time stamp type a template parameter.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 02:36:05 +00:00
e666c8e98f
Templateify MidiBuffer iterators (avoid code duplication since they're about to get less trivial).
...
Clean up MidiBuffer code.
git-svn-id: svn://localhost/ardour2/branches/3.0@4469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01 03:15:31 +00:00
Hans Baier
3705a2d630
* MIDI control lanes: Set Interpolationtype according to Parameter
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28 04:55:31 +00:00
Hans Baier
625507fc1a
* extend MIDNAM support (PatchBanks containing the bank select MIDI Commands)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-15 03:13:24 +00:00
Hans Baier
e9a9fe30cf
* added comments to midi_region_view.h
...
* implemented choosing patches with context menu on the program change flag
* added convenience method and a little refactoring in midi_patch_manager.h
Conflicts:
.cproject
build-tmp.sh
git-svn-id: svn://localhost/ardour2/branches/3.0@4338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 06:03:45 +00:00
Hans Baier
5e7ae490c1
* first working prototype of changing program changes by scroll wheel (still some automation points issues)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-15 11:05:41 +00:00
Hans Baier
bf7e792e3e
* some refactoring of patch name stuff in preparation for altering program changes events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14 22:56:44 +00:00
493339e969
fix up java-style expression to have correct C++ semantics
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-13 14:02:28 +00:00
Hans Baier
2c017baa4a
* fixed memory management bugs for midi patchname handling
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 05:17:53 +00:00
Hans Baier
e009016b03
* added myself to about.cc
...
* created ArdourCanvas::CanvasFlag as a base class for flags
* removed obsolete cruft from midi_model
* made MidiTimeAxisView and MidiRegionView work together to display program changes as
names by means of MidiPatchManager
git-svn-id: svn://localhost/ardour2/branches/3.0@4307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11 08:06:27 +00:00
Hans Baier
dfed4965b7
* make patch selection appear only when there are patches loaded
...
* add combobox to select CustomDeviceMode
* add code to resolve patch names by their msb, lsb and program change number
git-svn-id: svn://localhost/ardour2/branches/3.0@4306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-10 10:54:45 +00:00
Hans Baier
457f06855e
* first working prototype of selecting instruments in the MIDI track header
...
* parsing patchfiles works
git-svn-id: svn://localhost/ardour2/branches/3.0@4304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-09 07:42:19 +00:00
Hans Baier
a9bb336fc4
* first primitive implementation of MidiPatchManager
...
* some cosmetic changes
* added midi_patch_path() to libs/ardour/ardour/session_directory.h
git-svn-id: svn://localhost/ardour2/branches/3.0@4299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-08 09:50:19 +00:00
Hans Baier
72f55cd8b6
* completed MIDI::Name::MIDINameDocument and implemented its set_state-Method, added constructor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-06 05:00:20 +00:00
Hans Baier
c61283d35e
* changed all lists in midnam_patch.h to std::list
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-06 04:43:11 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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