diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-19 21:09:40 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-19 21:09:40 +0000 |
commit | 7b6b75f38ff6b34de3f70e36045498f227c1727d (patch) | |
tree | d7bc76a8745daa5051b2bcce7f84910f3ad72aac /libs/ardour/delivery.cc | |
parent | b6642d14ca64153b5731d1a3a79e4d00060541ca (diff) |
forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/delivery.cc')
-rw-r--r-- | libs/ardour/delivery.cc | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index d5c982c0cc..50a87eb000 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -221,7 +221,7 @@ Delivery::configure_io (ChanCount in, ChanCount out) } void -Delivery::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes, bool result_required) +Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, nframes_t nframes, bool result_required) { assert (_output); @@ -418,27 +418,22 @@ Delivery::reset_panners () void -Delivery::start_pan_touch (uint32_t which) +Delivery::start_pan_touch (uint32_t which, double when) { if (which < _panner->npanners()) { - _panner->pan_control(which)->start_touch(); + _panner->pan_control(which)->start_touch(when); } } void -Delivery::end_pan_touch (uint32_t which) +Delivery::end_pan_touch (uint32_t which, bool mark, double when) { if (which < _panner->npanners()) { - _panner->pan_control(which)->stop_touch(); + _panner->pan_control(which)->stop_touch(mark, when); } } -void -Delivery::transport_stopped (sframes_t frame) -{ - _panner->transport_stopped (frame); -} void Delivery::flush_buffers (nframes_t nframes, nframes64_t time) @@ -453,15 +448,19 @@ Delivery::flush_buffers (nframes_t nframes, nframes64_t time) } void -Delivery::transport_stopped () +Delivery::transport_stopped (framepos_t now) { - /* turn off any notes that are on */ + Processor::transport_stopped (now); - PortSet& ports (_output->ports()); + _panner->transport_stopped (now); - for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) { - (*i).transport_stopped (); - } + if (_output) { + PortSet& ports (_output->ports()); + + for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) { + (*i).transport_stopped (); + } + } } gain_t |