summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_diskstream.cc
AgeCommit message (Collapse)Author
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
2011-03-11sorta-kinda working latency compensation, latency reporting and capture ↵Paul Davis
alignment ... working except that we report the wrong information to JACK and i've noticed a couple of odd circumstances where turning on a latent plugin caused punch recording to fail git-svn-id: svn://localhost/ardour2/branches/3.0@9121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09add new concept for managing alignment style (AlignChoice); switch to using ↵Paul Davis
worst_playback_latency() just about everywhere we were using worst_output_latency() - the former includes plugin latency. answer appears to break earlier fixes to alignment, but is semantically right, so plan to investigate in another 8 hours or so git-svn-id: svn://localhost/ardour2/branches/3.0@9112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08lots of stuff related to capture alignment. things appear to be working now, ↵Paul Davis
but require the right alignment setting, which doesn't persist correctly at present git-svn-id: svn://localhost/ardour2/branches/3.0@9107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-05fix monitoring so that MIDI tracks don't work the same way as audio ↵Paul Davis
(basically, they are always in "ardour does monitoring" mode git-svn-id: svn://localhost/ardour2/branches/3.0@9081 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02remove entire "stub" file concept; open new audio and MIDI files on demand ↵Paul Davis
(at first write); could be a few gotchas with some corner case scenarios, but apparently works OK git-svn-id: svn://localhost/ardour2/branches/3.0@9038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01Make an aborted MIDI capture due to no data being received behave the same ↵Carl Hetherington
as an explicitly aborted capture. git-svn-id: svn://localhost/ardour2/branches/3.0@8999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01Make the session watch sources' DropReferences and drop accordingly. Remove ↵Carl Hetherington
a now-redundant call to remove_source in AudioDiskstream. Make the MidiDiskstream drop references on write sources that it wants rid of, so that the sources are actually destroyed. git-svn-id: svn://localhost/ardour2/branches/3.0@8998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01Hopefully fix disappearing MIDI recorded regions on the first record of a ↵Carl Hetherington
new session. git-svn-id: svn://localhost/ardour2/branches/3.0@8993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-25Fix previous patch a bit better.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-25Move playback_distance up to AudioDiskstream from Diskstream since it is ↵Carl Hetherington
only used there. git-svn-id: svn://localhost/ardour2/branches/3.0@8958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-25Fix midi playback stopping after moving a note (#3718).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-21Only calculate length_beats from length (in frames) if length property (in ↵David Robillard
frames) is given, but length_beats property is not. git-svn-id: svn://localhost/ardour2/branches/3.0@8319 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-21Set new (recorded) MIDI source length to length of entire capture (instead ↵David Robillard
of length from start to last actual recorded event). Precisely set length_beats of newly captured MIDI regions to source length in beats (no conversion). git-svn-id: svn://localhost/ardour2/branches/3.0@8317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20Fix more broken whitespace.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@8313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-12Clear existing data before reading new to make overwrite_existing_buffers() ↵Carl Hetherington
work correctly. Should fix #3481. git-svn-id: svn://localhost/ardour2/branches/3.0@8256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03Remove all use of nframes_t.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-08Update recorded MIDI regions as notes arrive. Fixes one cause of infinite ↵Carl Hetherington
note-lengths during record. Fix various problems with multiple captures of MIDI during one pass. git-svn-id: svn://localhost/ardour2/branches/3.0@7887 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-05Improve GUI display during MIDI record in various ways.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-02Small cleanup.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-23Fix assert. Remove some debug output.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7833 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags ↵Paul Davis
for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-30Auto-connect outputs that appear as a result of e.g. instruments being added ↵Carl Hetherington
to MIDI tracks. Fixes #3368. git-svn-id: svn://localhost/ardour2/branches/3.0@7720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25clear_history -> clear_changes and some comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-17forward port 2.X changes up to and including rev 6909Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13Hopefully fix dropped MIDI notes on loop. Fixes #3133.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16newly created files for use in recording appear in a .stubs folder, and are ↵Paul Davis
moved out of it when recording stops git-svn-id: svn://localhost/ardour2/branches/3.0@7426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-01add MidiModel::sync_to_source() to push model state into its existing ↵Paul Davis
source; mark SMFSource as non-removable after its called SMF::end_write(); some indentation fixes git-svn-id: svn://localhost/ardour2/branches/3.0@7350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29allow zero-length SMF files on disk again; fix some gcc 4.X optimization-on ↵Paul Davis
compile warnings git-svn-id: svn://localhost/ardour2/branches/3.0@7329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-26lots of details relating to MIDI file management; try to ignore ALSA ↵Paul Davis
sequencer MIDI ports named "Midi-Through" git-svn-id: svn://localhost/ardour2/branches/3.0@7305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24GUI-created MIDI regions now steal the pending MIDISource from the track's ↵Paul Davis
diskstream, to keep numbering sane; don't create any new MIDI regions if capture collected no data (fixes a crash in my previous commit, and is just logically much more sensible git-svn-id: svn://localhost/ardour2/branches/3.0@7295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23midway snapshot of work done on managing Region & Source lifetimes ↵Paul Davis
correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-26Remove empty MIDI regions which result from recordings made when no MIDI ↵Carl Hetherington
data is received. git-svn-id: svn://localhost/ardour2/branches/3.0@7167 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-15Fix some excessive search-and-replaces.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7104 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-27Revert my revision 6996, which was wrong. Sources need to stay around in ↵Carl Hetherington
the session even when they are no longer being used as the write source for a Diskstream. git-svn-id: svn://localhost/ardour2/branches/3.0@7000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-26Make Session listen to DropReferences from Sources, and remove them. Call ↵Carl Hetherington
drop_references for a Source in one imnportant case which occurs during MIDI track creation. git-svn-id: svn://localhost/ardour2/branches/3.0@6996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21Move Diskstream ownership to Track, so that Session no longer holds lists of ↵Carl Hetherington
Diskstreams. Breaks 3.0 file format again. git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-01revisit setting up processors during route construction; remove several more ↵Paul Davis
XML-based constructors; don't put () parens around inactive plugin names (we have a checkbox); improve management of send, return and insert bitslot IDs; clean up Diskstream construction a bit more git-svn-id: svn://localhost/ardour2/branches/3.0@6819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30Move region naming stuff from Session into RegionFactory, cleaning up some ↵Carl Hetherington
vestiges of when Session had a list of regions. git-svn-id: svn://localhost/ardour2/branches/3.0@6812 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-27part one of hiding Diskstreams and making them a private object of a TrackPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02(1) remove most uses of MementoCommand for Playlist and Region (2) move ↵Paul Davis
frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim) git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-23Fix various code quality issues found by cppcheck (e.g. uninitialized ↵David Robillard
members, larger than necessary variable scope, memory leaks, etc). git-svn-id: svn://localhost/ardour2/branches/3.0@6710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18the Properties & 64bit region commitPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11tweak Stateful/StatefulDiffCommand changes so that SessionObject's actually ↵Paul Davis
get a name; make StatefulDiffCommand use a weak_ptr, not a raw ptr; use .val() rather than .get() to avoid confusion with boost:: smart ptr method of the same name git-svn-id: svn://localhost/ardour2/branches/3.0@6678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11More tinkering with State<>. Use some StateDiffCommands instead ofCarl Hetherington
MementoCommand<Region>. More use of State<> for Region members. git-svn-id: svn://localhost/ardour2/branches/3.0@6675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22cleanup up cleanup at session destruction; clarify the meaning of 3 signals ↵Paul Davis
(DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21fully implement and deploy explicit x-thread signal connection syntax ↵Paul Davis
(testing comes next) git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf