diff options
Diffstat (limited to 'libs/ardour/mute_control.cc')
-rw-r--r-- | libs/ardour/mute_control.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/mute_control.cc b/libs/ardour/mute_control.cc index 0870732c58..7e9815f326 100644 --- a/libs/ardour/mute_control.cc +++ b/libs/ardour/mute_control.cc @@ -175,3 +175,20 @@ MuteControl::muted_by_others_soloing () const { return _muteable.muted_by_others_soloing (); } + +void +MuteControl::automation_run (framepos_t start, pframes_t) +{ + if (!list() || !automation_playback()) { + return; + } + + bool valid = false; + const float mute = list()->rt_safe_eval (start, valid); + + if (mute >= 0.5 && !muted()) { + set_value_unchecked (1.0); // mute + } else if (mute < 0.5 && muted ()) { + set_value_unchecked (0.0); // unmute + } +} |