projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't add standard processors twice to routes from 2.X sessions. Fixes #3434.
[ardour.git]
/
libs
/
ardour
/
delivery.cc
diff --git
a/libs/ardour/delivery.cc
b/libs/ardour/delivery.cc
index d5c982c0cc3248f60d3a5b5fc84cec2ff44646bb..e93e550308cd176e90d94942e2832d2f6fa20c64 100644
(file)
--- a/
libs/ardour/delivery.cc
+++ b/
libs/ardour/delivery.cc
@@
-209,8
+209,9
@@
Delivery::configure_io (ChanCount in, ChanCount out)
}
}
}
}
}
}
- }
+ }
+
if (!Processor::configure_io (in, out)) {
return false;
}
if (!Processor::configure_io (in, out)) {
return false;
}
@@
-221,7
+222,7
@@
Delivery::configure_io (ChanCount in, ChanCount out)
}
void
}
void
-Delivery::run (BufferSet& bufs,
sframes_t start_frame, sframe
s_t end_frame, nframes_t nframes, bool result_required)
+Delivery::run (BufferSet& bufs,
framepos_t start_frame, framepo
s_t end_frame, nframes_t nframes, bool result_required)
{
assert (_output);
{
assert (_output);
@@
-418,27
+419,22
@@
Delivery::reset_panners ()
void
void
-Delivery::start_pan_touch (uint32_t which)
+Delivery::start_pan_touch (uint32_t which
, double when
)
{
if (which < _panner->npanners()) {
{
if (which < _panner->npanners()) {
- _panner->pan_control(which)->start_touch();
+ _panner->pan_control(which)->start_touch(
when
);
}
}
void
}
}
void
-Delivery::end_pan_touch (uint32_t which)
+Delivery::end_pan_touch (uint32_t which
, bool mark, double when
)
{
if (which < _panner->npanners()) {
{
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)
void
Delivery::flush_buffers (nframes_t nframes, nframes64_t time)
@@
-453,15
+449,19
@@
Delivery::flush_buffers (nframes_t nframes, nframes64_t time)
}
void
}
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
}
gain_t
@@
-538,7
+538,7
@@
Delivery::set_name (const std::string& name)
void
Delivery::output_changed (IOChange change, void* /*src*/)
{
void
Delivery::output_changed (IOChange change, void* /*src*/)
{
- if (change
& ARDOUR
::ConfigurationChanged) {
+ if (change
.type & IOChange
::ConfigurationChanged) {
reset_panner ();
}
}
reset_panner ();
}
}