If there's port-latency > period-size, there is a
split cycle with (this_event->action_frame - _transport_frame).
Yet Session::check_declick_out() keeps PendingDeclickOut if
StopPendingCapture is set. The route declickâed twice:
Once with the period-size and one with the remaining frames,
which resulted in a click.
framecnt_t _signal_latency_at_amp_position;
framecnt_t _initial_delay;
framecnt_t _roll_delay;
framecnt_t _signal_latency_at_amp_position;
framecnt_t _initial_delay;
framecnt_t _roll_delay;
+ bool _declicked_silent;
ProcessorList _processors;
mutable Glib::Threads::RWLock _processor_lock;
ProcessorList _processors;
mutable Glib::Threads::RWLock _processor_lock;
, _signal_latency_at_amp_position (0)
, _initial_delay (0)
, _roll_delay (0)
, _signal_latency_at_amp_position (0)
, _initial_delay (0)
, _roll_delay (0)
+ , _declicked_silent (true)
, _flags (flg)
, _pending_declick (true)
, _meter_point (MeterPostFader)
, _flags (flg)
, _pending_declick (true)
, _meter_point (MeterPostFader)
GLOBAL DECLICK (for transport changes etc.)
----------------------------------------------------------------------------------------- */
GLOBAL DECLICK (for transport changes etc.)
----------------------------------------------------------------------------------------- */
+ if (_declickable && _declicked_silent && declick <= 0) {
+ bufs.silence (nframes, 0);
+ }
+
maybe_declick (bufs, nframes, declick);
maybe_declick (bufs, nframes, declick);
+
+ if (declick < 0) {
+ _declicked_silent = true;
+ }
+ else if (declick > 0) {
+ _declicked_silent = false;
+ }
_pending_declick = 0;
/* -------------------------------------------------------------------------------------------
_pending_declick = 0;
/* -------------------------------------------------------------------------------------------