summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
AgeCommit message (Collapse)Author
2011-10-21improved/fixed monitoring_state() logic from chrisgPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10275 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21get rid of click when transport changes state and we're monitoring inputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21tweak Track::monitoring_state() logic once morePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21tweak monitoring state logicPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21fix display (and handling of) monitoring status during rollPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10266 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-21save&restore for track monitor statePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-20make monitor=In work during no-roll conditions without auto-inputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10261 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-20add initial implementation of explicit monitor (input|disk) control. some ↵Paul Davis
behaviour to be worked out, still git-svn-id: svn://localhost/ardour2/branches/3.0@10256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19flush_buffers on all of a route's deliveries so that MIDI sends work.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10231 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-253.X version of earlier major fix to 2.X: Route::check_initial_delay() should ↵Paul Davis
be virtual and do nothing for busses git-svn-id: svn://localhost/ardour2/branches/3.0@10123 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-09-16Remove unused parameter.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10090 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-09part two of: correctly reset capture alignment at session loadPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9336 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-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-07manage Route::_have_internal_generator more accurately and never flush ↵Paul Davis
processors if there is on; correctly manage declicking so that only *TRACKS* without internal generators will declick at transport state transitions (fixes horrible click at transport stop in some configurations git-svn-id: svn://localhost/ardour2/branches/3.0@9100 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-01-14Prevent failed reconfigurations on tracks with 0 inputs (#3709).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8509 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-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-16forward port 2.X changes up to and including rev 6714Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27change Control::{set,get}_float to Control::{set,get}_double and make almost ↵Paul Davis
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-24step editing now accessed via a context menu on MIDI track rec-enable ↵Paul Davis
buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream git-svn-id: svn://localhost/ardour2/branches/3.0@7482 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-06-09dynamic playback & capture buffer resizing (though transport is stopped first)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27Take route's processor lock for things called by the process thread. ↵Carl Hetherington
Prevents problems when processors are being reconfigured and a process callback occurs. git-svn-id: svn://localhost/ardour2/branches/3.0@7183 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-03meter point restore handling, and related mattersPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6854 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-25would you look at that! all those changes just to make the auditioner work ↵Paul Davis
again .... git-svn-id: svn://localhost/ardour2/branches/3.0@6794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-24remove XML constructors for Route, Track, AudioTrack, MidiTrack; make ↵Paul Davis
Session::XMLRouteFactory() call a constructor and then set_state(); lots of debugging output (will remove next commit) git-svn-id: svn://localhost/ardour2/branches/3.0@6789 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-01-22fix broken compilation after edit-while-stopped fix was appliedPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-21stopped/monitor/state change bug fix from 2.XPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-30restore excess calls to sync-order stuff (for now); allow MIDI controllers ↵Paul Davis
to use the same non-linear fader response as the gui; add various flags to PBD::Controllable and remove URI from that class git-svn-id: svn://localhost/ardour2/branches/3.0@6414 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-11fix compilation breakages from the last commitPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-07Route::set_meter_point() is now conceptually RT safe, although it still ↵Paul Davis
takes a write lock on the processor list. this allows it to be called when setting rec-enable status on a route. not thoroughly tested, and still incomplete - single route rec-enables should probably use this pathway, and there is still no cross-thread cleanup from an RT route op request git-svn-id: svn://localhost/ardour2/branches/3.0@6320 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-10-15rework Stateful::set_state() patch to avoid default version argumentPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15Part 1 of loading 2.X sessions; some things work, some things don't, hacks ↵Carl Hetherington
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