summaryrefslogtreecommitdiff
path: root/libs/ardour/amp.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-03 13:29:28 +0200
committerRobin Gareus <robin@gareus.org>2017-06-03 13:55:16 +0200
commit11ba1854b398c72e93cd42efeec6aa48a4e9a125 (patch)
tree5536e85bdfb303a6353eb7b55f63f0e783e88c9f /libs/ardour/amp.cc
parent9581cb26e444229301d5fdafadd14ca5c0a83a18 (diff)
Apply VCA master gain automation to Amp (Fader, Trim)
Diffstat (limited to 'libs/ardour/amp.cc')
-rw-r--r--libs/ardour/amp.cc18
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];