From 5ea5e513a46f65fe55dcaeb0cb91eb41c79a131c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 31 Jan 2016 21:47:19 -0500 Subject: make Track::set_monitoring() use a GroupControlDisposition; expose an AutomationControl for track monitoring choice --- libs/ardour/midi_track.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libs/ardour/midi_track.cc') diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index d3653dc929..da47fabc78 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -48,6 +48,7 @@ #include "ardour/port.h" #include "ardour/processor.h" #include "ardour/profile.h" +#include "ardour/route_group_specialized.h" #include "ardour/session.h" #include "ardour/session_playlists.h" #include "ardour/utils.h" @@ -957,11 +958,16 @@ MidiTrack::act_on_mute () } void -MidiTrack::set_monitoring (MonitorChoice mc) +MidiTrack::set_monitoring (MonitorChoice mc, Controllable::GroupControlDisposition gcd) { + if (use_group (gcd, &RouteGroup::is_monitoring)) { + _route_group->apply (&Track::set_monitoring, mc, Controllable::NoGroup); + return; + } + if (mc != _monitoring) { - Track::set_monitoring (mc); + Track::set_monitoring (mc, gcd); /* monitoring state changed, so flush out any on notes at the * port level. -- cgit v1.2.3