diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-03 13:29:28 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-03 13:55:16 +0200 |
commit | 11ba1854b398c72e93cd42efeec6aa48a4e9a125 (patch) | |
tree | 5536e85bdfb303a6353eb7b55f63f0e783e88c9f /libs/ardour/amp.cc | |
parent | 9581cb26e444229301d5fdafadd14ca5c0a83a18 (diff) |
Apply VCA master gain automation to Amp (Fader, Trim)
Diffstat (limited to 'libs/ardour/amp.cc')
-rw-r--r-- | libs/ardour/amp.cc | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index 348f6957d4..d7b9014340 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -392,22 +392,8 @@ Amp::setup_gain_automation (framepos_t start_frame, framepos_t end_frame, framec && _gain_control->automation_playback()) { assert (_gain_automation_buffer); - _apply_gain_automation = _gain_control->list()->curve().rt_safe_get_vector ( - start_frame, end_frame, _gain_automation_buffer, nframes); - - /* XXX the future requires a way to automate the control master - * and merge its own automation vector/curve with this one. We - * don't have a way to do that just yet, so for now, just get - * the master's current gain and scale our own automation - * vector/curve by this value. - */ - - if (_gain_control->slaved()) { - const double master_gain = _gain_control->get_masters_value (); - if (master_gain != 1.0) { - apply_gain_to_buffer (_gain_automation_buffer, nframes, master_gain); - } - } + + _apply_gain_automation = _gain_control->get_masters_curve ( start_frame, end_frame, _gain_automation_buffer, nframes); if (start_frame != _current_automation_frame && _session.bounce_processing ()) { _current_gain = _gain_automation_buffer[0]; |