fix metering states 34, 38, 49, 50, 53 and 54
for state descriptions see http://www.oofus.co.uk/ardour/Ardour3MonitorModesV3.pdf
This commit is contained in:
parent
c456166dd1
commit
2231db91cd
@ -1639,7 +1639,9 @@ IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, fr
|
||||
}
|
||||
|
||||
_buffers.get_jack_port_addresses (_ports, nframes);
|
||||
proc->run (_buffers, start_frame, end_frame, nframes, true);
|
||||
if (proc) {
|
||||
proc->run (_buffers, start_frame, end_frame, nframes, true);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -408,8 +408,23 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
|
||||
if (be_silent) {
|
||||
|
||||
if (_meter_point == MeterInput) {
|
||||
/* still need input monitoring */
|
||||
_input->process_input (_meter, start_frame, end_frame, nframes);
|
||||
/* still need input monitoring and metering */
|
||||
|
||||
bool const track_rec = _diskstream->record_enabled ();
|
||||
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 ();
|
||||
|
||||
if (!software_monitor && tape_machine_mode && !track_rec) {
|
||||
_meter->reset();
|
||||
_input->process_input (boost::shared_ptr<Processor>(), start_frame, end_frame, nframes);
|
||||
}
|
||||
else if (!software_monitor && !tape_machine_mode && !track_rec && !auto_input) {
|
||||
_meter->reset();
|
||||
_input->process_input (boost::shared_ptr<Processor>(), start_frame, end_frame, nframes);
|
||||
} else {
|
||||
_input->process_input (_meter, start_frame, end_frame, nframes);
|
||||
}
|
||||
}
|
||||
|
||||
passthru_silence (start_frame, end_frame, nframes, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user