summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-16 23:30:21 +0200
committerRobin Gareus <robin@gareus.org>2013-07-16 23:30:21 +0200
commitec63180ef6c82e25b22a845cc4b99010d81cfc98 (patch)
treede5d81a5f0a50530fe616175a0509f9d095014e2
parent562bd6811e55873fc63645094f10cb2668aacdba (diff)
meter-state 17 and 49 + code-comment
-rw-r--r--libs/ardour/track.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index 3ad5733320..c6a348ddfb 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -416,9 +416,18 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
bool const tape_machine_mode = Config->get_tape_machine_mode ();
bool no_meter = false;
+ /* this needs a proper K-map
+ * and should be separated into a function similar to monitoring_state()
+ * that also handles roll() states in audio_track.cc, midi_track.cc and route.cc
+ *
+ * see http://www.oofus.co.uk/ardour/Ardour3MonitorModesV3.pdf
+ */
if (!auto_input && !track_rec) {
no_meter=true;
}
+ else if (tape_machine_mode && !track_rec && auto_input) {
+ no_meter=true;
+ }
else if (!software_monitor && tape_machine_mode && !track_rec) {
no_meter=true;
}