From f41149628955fc8145bef6db0c110b71664c0a3a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 21 Jul 2009 14:39:21 +0000 Subject: fix clicking when processors become active/inactive; reduce crazy 2.5sec delay for quit dialog git-svn-id: svn://localhost/ardour2/branches/3.0@5402 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/send.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libs/ardour/send.cc') diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc index ea4c16a416..1728dc52d9 100644 --- a/libs/ardour/send.cc +++ b/libs/ardour/send.cc @@ -86,8 +86,16 @@ Send::deactivate () void Send::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes) { - if (!_active || _output->n_ports() == ChanCount::ZERO) { + if (_output->n_ports() == ChanCount::ZERO) { _meter->reset (); + _active = _pending_active; + return; + } + + if (!_active && !_pending_active) { + _meter->reset (); + _output->silence (nframes); + _active = _pending_active; return; } @@ -118,6 +126,8 @@ Send::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_ _meter->run (*_output_buffers, start_frame, end_frame, nframes); } } + + /* _active was set to _pending_active by Delivery::run() */ } XMLNode& -- cgit v1.2.3