summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_diskstream.cc
AgeCommit message (Collapse)Author
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-18make switching between input+disk monitoring work "right" for MIDI tracks; ↵Paul Davis
also fix a bug that led to messages about notes already being on at program start because of a double seek with no read in between git-svn-id: svn://localhost/ardour2/branches/3.0@12762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16Fairly major change to the way in which crossfades are handled;Carl Hetherington
they are now done with region fades, rather than separate objects. After this commit, Ardour will try to convert your session files to the new crossfade format, but will make a backup in your session folder first. If you have works in progress using Ardour 3 it is ***STRONGLY RECOMMENDED*** that you back up session files before updating to this commit. git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06likely fix for crash-by-assert just after a MIDI diskstream overwrite (e.g. ↵Paul Davis
just after an edit, while playback is active) git-svn-id: svn://localhost/ardour2/branches/3.0@11455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06even more debugging info for zthPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11454 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06yet more debugging info for zthPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11453 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06some more debugging info for zthPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06removed #ifdef'ed trace_midi() code (dup'ed from libmidi++)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-06some debugging infoPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30Add assert.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11390 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18fix two major assert failures arising from the optional monitor section ↵Paul Davis
commit; separate numbering of aux sends, sends and listens to fix #3671 (still testing, but the assert failures are critical) git-svn-id: svn://localhost/ardour2/branches/3.0@11263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26a grab bag of changes correcting and improving the way MIDI note on/off ↵Paul Davis
tracking is done. may/should fix a number of problem with spurious note-offs under a variety of circumstances git-svn-id: svn://localhost/ardour2/branches/3.0@11074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23Clarify ensure vs. request for JACK monitoring, naming-wise.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11064 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23Do some renaming in the ARDOUR::Port class tree.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11062 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22main fix: when transport stops, clear per-region per-playlist note trackers ↵Paul Davis
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-10fix for most (all? we can dream ...) issues involved in #4399 (editing ↵Paul Davis
multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id() git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15Slightly fudged but basically reasonable fix for reports ofCarl Hetherington
playback buffer problems when playing an empty MIDI track (#4388). git-svn-id: svn://localhost/ardour2/branches/3.0@10619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04Remove non-RT-safe alloc in the MIDI process() call.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31Fix compensation of roll delay with MIDI tracks; dataCarl Hetherington
should be obtained from playback_sample, not transport_frame (should fix #4172). git-svn-id: svn://localhost/ardour2/branches/3.0@10362 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31Take commit() out of process() in both types ofCarl Hetherington
diskstream, and call commit() where appropriate. git-svn-id: svn://localhost/ardour2/branches/3.0@10361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31Remove Diskstream member playback_distance that can beCarl Hetherington
passed directly from process() to commit(). git-svn-id: svn://localhost/ardour2/branches/3.0@10359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28Use shared_ptr for Port in the AudioEngine; improves thread-safety of the ↵Carl Hetherington
audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another. git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-24Remove unused read/write data count code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21correctly track monitoring changes in libardour and the GUI; required ↵Paul Davis
removing propagation of session rec-enabled status through process chain and replacing it with call to Session::actively_recording() where necessary (may require a new RT event) git-svn-id: svn://localhost/ardour2/branches/3.0@10265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19Trim include tree.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18make Stateful::_id private and provide appropriate methods to set it, and ↵Paul Davis
use them throughout ardour git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30fixes for 98% of all the warnings/errors reported by OS X gcc on tigerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-18Remove unused rec_monitors_input variables.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10091 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-26remove some MIDI I/O debugging (hopefully all)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-20try to fix data loss at end of a capture pass for MIDI - add a new virtual ↵Paul Davis
method to MidiSource that specifies what should be done with stuck notes, remove duplicate(i hope) _last_flush_frame from SMFSource that mirrored, more or less, MidiSource::_last_write_end; use new virtual method when stopping after capture. git-svn-id: svn://localhost/ardour2/branches/3.0@9910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19even more MIDI IO debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9907 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19yet more MIDI IO debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9906 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14more midi I/O debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13more midi io debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13MIDI IO debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-12add incoming MIDI stream debuggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-02Fix some set-but-not-used variable warnings from gcc 4.6Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-28basic infrastructure for enabling/disabling MIDI input to a given trackPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9772 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-21change default overlapping note strategy to "relax" (i.e. do nothing); fix ↵Paul Davis
crash when looping with MIDI data; add back note-off resolution at loop point (if it was actually there) so that notes are turned off (but don't forget Ye Olde Sustain Pedal/Controller) when looping; minor other non-functional tweaks git-svn-id: svn://localhost/ardour2/branches/3.0@9753 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30(1) push a locate all the way through the processing heirarchy so that MIDI ↵Paul Davis
output ports can resolve any notes currently playing (2) remove MidiStateTracker from MidiPort and use a fixed set of MIDI messages (sustain-off and all-notes-off, per channel) to do note resolution (3) move note resolution caused by a LoopEvent psuedo-event to within the main MidiPort::flush_output() loop, so that we resolve (turn off) Notes that come before the loop point, rather than send them out after the note resolution messages git-svn-id: svn://localhost/ardour2/branches/3.0@9635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-08Ensure that empty drag-created MIDI regions get a file on disk so that there ↵Carl Hetherington
aren't missing file errors on reload (#4024). git-svn-id: svn://localhost/ardour2/branches/3.0@9486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-08Make a new write source when the diskstream name changes so that sources ↵Carl Hetherington
don't get a name which includes the old name. git-svn-id: svn://localhost/ardour2/branches/3.0@9485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09correctly reset capture alignment at session load; for MIDI diskstreams, ↵Paul Davis
don't try to set capture alignment based on connectivity, always set _source_port ASAP and check _source_port when recording git-svn-id: svn://localhost/ardour2/branches/3.0@9334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04Fix broken whitespace (no functional changes).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04when overwriting existing MIDI buffers in a MidiDiskstream be sure to update ↵Paul Davis
file_frame so that the *next* read is from the right location in the source; plus slighly improved debugging git-svn-id: svn://localhost/ardour2/branches/3.0@9284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04move some DEBUG::Graph traces to DEBUG::ProcessThreads ; remove ↵Paul Davis
Diskstream::rename_write_sources() which is no longer relevant (sources are not created on disk until needed); fixup calling Diskstream::non_realtime_input_change() when calling Diskstream::set_track() with a track that doesn't yet have any I/O (i.e. typical case) git-svn-id: svn://localhost/ardour2/branches/3.0@9281 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15fix all manner of things relating to io connections, setting capture ↵Paul Davis
alignment, and so on. still needs more tests of actual precise placement of newly recorded material git-svn-id: svn://localhost/ardour2/branches/3.0@9155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15Fix more broken whitespace.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9152 d708f5d6-7413-0410-9779-e7cbd77b26cf