diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-09-15 16:34:53 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-09-15 16:35:37 -0400 |
commit | 601a34521c2ce1d0167ed2f3c66f2fa6eeeb6b8e (patch) | |
tree | 43afbe2f75c190654c8c57d37e99653ab101c000 /libs/ardour/amp.cc | |
parent | fdcc209354d830d8edce0e53a367fd2d6faef75d (diff) |
add an Amp to Delivery, remove it from Send, make use of this in various ::run() methods
Delivery::_amp now will handle monitor-related delicks assuming the Session::config.get_use_monitor_fades() is
true.
Diffstat (limited to 'libs/ardour/amp.cc')
-rw-r--r-- | libs/ardour/amp.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index 880fe2575e..b7e639b9f5 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -133,9 +133,19 @@ Amp::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_frame*/, _current_gain = Amp::apply_gain (bufs, _session.nominal_frame_rate(), nframes, _current_gain, dg, _midi_amp); + } else if (_current_gain == GAIN_COEFF_ZERO) { + + /* gain has not changed, and is zero. small + * optimization here. + */ + + bufs.silence (nframes, 0); + } else if (_current_gain != GAIN_COEFF_UNITY) { - /* gain has not changed, but its non-unity */ + /* gain has not changed, but its non-unity and + * isn't zero, so we have to do something + */ if (_midi_amp) { /* don't Trim midi velocity -- only relevant for Midi on Audio tracks */ |