summaryrefslogtreecommitdiff
path: root/libs/ardour/diskstream.cc
AgeCommit message (Collapse)Author
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-16Remove unused variable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31Remove unused variable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10364 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-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-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-14Fix default disk_io_chunk_frames for diskstream so that itCarl Hetherington
isn't larger than the default playback buffer size when starting Ardour without a previous ~/.config; having disk_io_chunk_frames larger violates basic design assumptions and causes phantom underruns in playback (#4308). git-svn-id: svn://localhost/ardour2/branches/3.0@10079 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-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-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-18fix (?) capture alignment by making sure we use non-public latency ↵Paul Davis
information for playback latency, thus avoiding counting plugin latency twice git-svn-id: svn://localhost/ardour2/branches/3.0@9168 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-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-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-01-27merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, ↵Paul Davis
thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally). git-svn-id: svn://localhost/ardour2/branches/3.0@8586 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-12-01Revert previous incorrect patch.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01Remove unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27remove (or attempt to remove) requirement for holding process lock when ↵Paul Davis
changing connections git-svn-id: svn://localhost/ardour2/branches/3.0@8110 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-02Small cleanup.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7867 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-20Don't write undo records for automation that moves with regions when nothing ↵Carl Hetherington
changes about the automation. git-svn-id: svn://localhost/ardour2/branches/3.0@7665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-22When a region movement is undone, prevent the resulting movement from ↵Carl Hetherington
triggering the automation-follows-regions code. Fixes #3348. git-svn-id: svn://localhost/ardour2/branches/3.0@7464 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-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-12alignment/capture/positioning changes ported from 2.XPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02Fix logic for when to request buffer overwrite.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02missign return valuePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02possible fix for race between diskstream buffer overwrite and channel setupPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6843 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-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-02-19change PropertyChange from a bitfield into a real object, with all the many ↵Paul Davis
widespread changes that causes git-svn-id: svn://localhost/ardour2/branches/3.0@6701 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-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
2010-01-25a boatload of minor and middle-sized changes to try to speed up undo. ↵Paul Davis
imperfect, unfinished, but probably right to commit now git-svn-id: svn://localhost/ardour2/branches/3.0@6561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-04Lincoln's patch for latency compensation at punch in/stop, modified to use ↵Paul Davis
DEBUG_TRACE git-svn-id: svn://localhost/ardour2/branches/3.0@6447 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
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
connection scope, plus a few other related matters git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12remove using namespace sigc everywhere to ensure clarity over which ↵Paul Davis
bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04move Session::Event into SessionEvent class; add SessionEventManager ↵Paul Davis
(Session IS-A SessionEventManager); make session ops to toggle all track rec-enable be atomic with respect to process() git-svn-id: svn://localhost/ardour2/branches/3.0@6273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-28tracing and small fixes to improve object destruction pathwaysPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-25carl's wondrous DnD VBox patch - processor boxes are now vboxes and not ↵Paul Davis
listviews - which included a couple of minor marker/time axis view patches for opaqueness etc. git-svn-id: svn://localhost/ardour2/branches/3.0@6174 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30make 3.0 catch up with transport and other changes in 2.X (hand applied, not ↵Paul Davis
merged) git-svn-id: svn://localhost/ardour2/branches/3.0@5989 d708f5d6-7413-0410-9779-e7cbd77b26cf