summaryrefslogtreecommitdiff
path: root/libs/ardour/gain_control.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-14 15:14:56 +0200
committerRobin Gareus <robin@gareus.org>2017-06-14 15:21:16 +0200
commit22bddf543421f2a75a5a807009ea3e96dcb26cac (patch)
treeeb1b3608a95557c6999138afc4aba68a722d2d1e /libs/ardour/gain_control.cc
parente0a1c7690acc0c79c070bb23c992ab6b62cbf2c6 (diff)
Special-case VCA at 0 (-inf dB), force gain slaves to -inf dB
Diffstat (limited to 'libs/ardour/gain_control.cc')
-rw-r--r--libs/ardour/gain_control.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/gain_control.cc b/libs/ardour/gain_control.cc
index ee356b017c..7b0f4e404c 100644
--- a/libs/ardour/gain_control.cc
+++ b/libs/ardour/gain_control.cc
@@ -102,6 +102,15 @@ GainControl::inc_gain (gain_t factor)
}
}
+void
+GainControl::post_add_master (boost::shared_ptr<AutomationControl> m)
+{
+ if (m->get_value() == 0) {
+ /* master is at -inf, which forces this ctrl to -inf on assignment */
+ Changed (false, Controllable::NoGroup); /* EMIT SIGNAL */
+ }
+}
+
bool
GainControl::get_masters_curve_locked (framepos_t start, framepos_t end, float* vec, framecnt_t veclen) const
{