From f842e8af2340b7836f961e2ebfb100950c5831d3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 16 Jul 2013 20:37:30 +0200 Subject: [PATCH] yet another meter+monitoring detail: "explicit Monitor DISK" + "Transport Stop" + "not track rec-en" -> meter is always zero --- libs/ardour/track.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index d4c095d738..e8eea740b1 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -414,12 +414,19 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool const auto_input = _session.config.get_auto_input (); bool const software_monitor = Config->get_monitoring_model() == SoftwareMonitoring; bool const tape_machine_mode = Config->get_tape_machine_mode (); + bool no_meter = false; - if (!software_monitor && tape_machine_mode && !track_rec) { - _meter->reset(); - _input->process_input (boost::shared_ptr(), start_frame, end_frame, nframes); + if (_monitoring & MonitorDisk && !track_rec) { + no_meter=true; + } + else if (!software_monitor && tape_machine_mode && !track_rec) { + no_meter=true; } else if (!software_monitor && !tape_machine_mode && !track_rec && !auto_input) { + no_meter=true; + } + + if (no_meter) { _meter->reset(); _input->process_input (boost::shared_ptr(), start_frame, end_frame, nframes); } else {