summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 1b327ae70d..1b40cb5f56 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -748,3 +748,29 @@ MidiTrack::set_monitoring (MonitorChoice mc)
md->reset_tracker ();
}
}
+
+MonitorState
+MidiTrack::monitoring_state () const
+{
+ /* Explicit requests */
+
+ if (_monitoring & MonitorInput) {
+ return MonitoringInput;
+ }
+
+ if (_monitoring & MonitorDisk) {
+ return MonitoringDisk;
+ }
+
+ if (_session.transport_rolling()) {
+ return MonitoringDisk;
+ }
+
+ /* the return value here doesn't mean that we're actually monitoring
+ * input, let alone input *audio*. but it means that we are NOT
+ * monitoring silence. this allows us to still hear any audio generated
+ * by using internal generation techniques
+ */
+
+ return MonitoringInput;
+}