yet another meter+monitoring detail:
authorRobin Gareus <robin@gareus.org>
Tue, 16 Jul 2013 18:37:30 +0000 (20:37 +0200)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 8 Aug 2013 19:23:10 +0000 (15:23 -0400)
"explicit Monitor DISK" + "Transport Stop" + "not track rec-en"
 -> meter is always zero

libs/ardour/track.cc

index d4c095d738f51a25afcf3c1fb19824c874eca944..e8eea740b1ff7763af5c8e1ddf35f6cb21de08df 100644 (file)
@@ -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<Processor>(), 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<Processor>(), start_frame, end_frame, nframes);
                        } else {