summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-12-28 18:30:46 +0100
committerRobin Gareus <robin@gareus.org>2015-12-28 18:30:46 +0100
commitbe3d8bc3d060103b242eb759ee1a5cf81631a3bf (patch)
treefcd5c6e8ccf5431c81106e1d46460f7f09aa3870 /libs/ardour/midi_track.cc
parent46e479038def8fe37be9590636d30ef80067bc99 (diff)
add midi-track mute automation
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index b078fa3f1b..03ba42b6af 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -394,6 +394,16 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame
return dret;
}
+ if (_mute_control->list() && _mute_control->automation_playback()) {
+ bool valid = false;
+ const float mute = _mute_control->list()->rt_safe_eval(transport_frame, valid);
+ if (mute >= 0.5 && !muted()) {
+ _mute_control->set_value_unchecked(1.0); // mute
+ } else if (mute < 0.5 && muted()) {
+ _mute_control->set_value_unchecked(0.0); // unmute
+ }
+ }
+
BufferSet& bufs = _session.get_route_buffers (n_process_buffers());
fill_buffers_with_input (bufs, _input, nframes);