Paul Davis
d90e2b4221
rationalize (a bit) engine start/stop/restart so that it is possible to start up, disconnect from JACK and then reconnect
2013-08-08 16:31:08 -04:00
Paul Davis
9ac6bb9bef
part-way through getting the audioengine changes to compile
2013-07-24 19:29:45 -04:00
Julien de Kozak
16f8fc0657
Fix some compilation warnings
2013-03-23 14:50:58 +01:00
Carl Hetherington
fdffab5831
Add thought-to-be-missing break ( #4819 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11925 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 23:46:39 +00:00
Paul Davis
ed2beaffee
main fix: when transport stops, clear per-region per-playlist note trackers even if there is no capture data to process; side effects: remove unused MidiBuffer::merge() and add DEBUG::MidiTrackers as well as more and better MIDI debug tracing facilities
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 20:14:47 +00:00
Paul Davis
8ab4703173
remove extraneous debugging output from MidiBuffer::merge_in_place()
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 19:56:40 +00:00
Paul Davis
642ab99db8
reorganize MidiBuffer::merge_in_place() to cover the cases i wasn't thinking about and be more logical to anyone else
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 19:33:41 +00:00
Paul Davis
302ac289ba
likely fix for crash in MidiBuffer::merge_in_place() due to unwarranted assumption in the code
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 18:10:58 +00:00
Paul Davis
8d05ed8e8a
merge-in-place debugging (to be removed later)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 17:30:08 +00:00
Paul Davis
e0cf3b6354
more fun and games with meter and the tempo map: rename Meter::beats_per_bar() to Meter::divisions_per_bar() so that its clear(er) on what it is actually returning; use Meter::divisions_per_bar() in more (all?) places that need it; fix up dragging meter marks by removing the relevant meter section from the map while we drag; operator<< for some tempo-related objects
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 02:46:36 +00:00
Paul Davis
8480cf69ce
provide semantic ordering of simultaneous MIDI events; add operator== to MidiBuffer iterator; add empty() to MidiBuffer for no particular reason
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-01 16:22:51 +00:00
Paul Davis
8d2666e157
temporarily revert change that might be causing an endless loop while MIDI monitoring/recording
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10836 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-29 12:27:27 +00:00
Paul Davis
b27200688b
fix mis-ordering of MIDI events when merging MidiBuffers in-place
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 20:29:12 +00:00
Paul Davis
22f6b99130
#ifdef out some expensive code from midibuffer merging (debug only, and we pretty much know it works)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 16:36:05 +00:00
David Robillard
0906b39918
Fix my name :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
David Robillard
be3002c239
Fix more broken whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15 01:16:24 +00:00
Carl Hetherington
bc84cb7479
Make a couple of bits of debug conditional to avoid mallocs when they are turned off.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-10 17:31:43 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Paul Davis
ece5093234
change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 14:09:16 +00:00
Paul Davis
1e728e728a
basically, fix all kinds of odds and ends with MIDI playback, including missed notes and applying gain
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 13:00:54 +00:00
David Robillard
33da74c8e3
Fix MidiBuffer::merge_in_place and add aggressive correctness checking.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5854 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 14:46:47 +00:00
David Robillard
20f7592fab
Fix MIDI thru, though why this is any different from audio (monitoring) I don't know.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:53:26 +00:00
David Robillard
55ba5c60b3
Implement out-of-place MidiBuffer::merge.
...
Completely untested.
git-svn-id: svn://localhost/ardour2/branches/3.0@5817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:50:15 +00:00
David Robillard
bb9cc45cd2
Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
...
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent...
git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
Paul Davis
756fc18394
implement MidiBuffer::merge_in_place() and use to support MIDI passthrough (control over this feature to be added. historical note: implemented and debugged during keith packard's excellent presentation on X at 25 during LPC2009
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5686 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-25 05:08:23 +00:00
Paul Davis
fa4e858eb3
do not allow smf_source's reads to stomp on cached read_end position in parent class, which creates chaos by being out of sync with MidiSource::_model_iterator. this doesn't totally fix MIDI playback, but it helps
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-16 01:08:51 +00:00
Paul Davis
e7e071db1a
more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that "object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 16:06:08 +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
Paul Davis
86f24d20e1
first pass (ok, third really) at internal send+return - audio routing inside ardour without JACK. lots still to do, but at least the obvious works
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-16 14:58:33 +00:00
Carl Hetherington
98b9896fe1
Remove aliased _size member.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5141 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 22:50:49 +00:00
David Robillard
ca10cc82a4
Preliminary MIDI plugin support.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5036 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04 15:50:51 +00:00
David Robillard
848df74e58
Fix MIDI playback.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-01 17:32:48 +00:00
Paul Davis
2836879341
remove offset from process callback tree. some breakage may have occured. yes, really.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-23 17:48:37 +00:00
David Robillard
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
David Robillard
fd1a3cfa4c
Gracefully ignore illegal MIDI events at the buffer level (i.e. from Jack).
...
Ardour should now be able to more or less tolerate crazy incoming MIDI (except for SYSEX).
git-svn-id: svn://localhost/ardour2/branches/3.0@4592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 00:53:26 +00:00
David Robillard
550613a898
verbosity--
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 20:47:40 +00:00
Hans Baier
ae2e090e74
* fixed crash: MidiBuffer::reserve returned wrong write location
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 08:50:28 +00:00
David Robillard
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
David Robillard
44ac5f5097
Removed fixed/maximum event size assumption/limitation from MIDI buffer.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01 21:04:12 +00:00
David Robillard
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
Sakari Bergen
3d239bb9d5
Fix some compiling warnings and errors in OS X
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-29 19:50:19 +00:00
David Robillard
8cbbfa4159
Fix immediate event delivery (panic button, controller sliders, etc).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4353 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-27 19:52:02 +00:00
David Robillard
15cdf454ea
Apply MIDI looping patch from torbenh, with minor changes.
...
General idea: use internal events to mark loop boundaries in MIDI buffers so readers can make sense of timestamps.
git-svn-id: svn://localhost/ardour2/branches/3.0@3905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-10 00:39:29 +00:00
Paul Davis
89e4d35244
torben's port buffer reworking; torben's panner automation loading patch (allows loading of 2.X sessions)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@3890 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-08 20:14:22 +00:00
David Robillard
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
David Robillard
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
Paul Davis
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
David Robillard
7ffed4e61c
Remove pointless Byte typedef that didn't really match any other typedef in ardour anyway.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@3409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 19:32:16 +00:00
David Robillard
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