diff options
Diffstat (limited to 'libs/ardour/return.cc')
-rw-r--r-- | libs/ardour/return.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/return.cc b/libs/ardour/return.cc index 5a44d3f6e6..e5af719afd 100644 --- a/libs/ardour/return.cc +++ b/libs/ardour/return.cc @@ -122,7 +122,7 @@ Return::set_state(const XMLNode& node) void Return::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes) { - if (!active() || _input->n_ports() == ChanCount::ZERO) { + if ((!_active && !_pending_active) || _input->n_ports() == ChanCount::ZERO) { return; } @@ -141,6 +141,8 @@ Return::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframe _meter->run (bufs, start_frame, end_frame, nframes); } } + + _active = _pending_active; } bool |