Consistent audio/MIDI monitor modes

Now that both Audio And MIDI tracks support all three record
modes. Monitoring should be consistent. When recording
"Sound on Sound" does cue monitoring, while "layered" (opaque).
and "non-layered" monitors only the input.

Two differences remain: (1) when not recording MIDI tracks still
monitor both Input and Disk (unless Non-layered is set), and
a final special case is that MIDI tracks always monitor input
as fallback. the latter ties in with (2) audio tracks can
use hardware monitoring.
This commit is contained in:
Robin Gareus 2022-12-07 22:47:56 +01:00
parent b9f9531fa1
commit d3e736f7d3
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 3 additions and 2 deletions

View File

@ -193,7 +193,8 @@ MonitorState
AudioTrack::get_input_monitoring_state (bool recording, bool talkback) const
{
if (Config->get_monitoring_model() == SoftwareMonitoring && (recording || talkback)) {
return MonitoringInput;
RecordMode rmode = _session.config.get_record_mode ();
return (rmode == RecSoundOnSound) ? MonitoringCue : MonitoringInput;
} else {
return MonitoringSilence;
}

View File

@ -150,7 +150,7 @@ MonitorState
MidiTrack::get_input_monitoring_state (bool recording, bool talkback) const
{
RecordMode rmode = _session.config.get_record_mode ();
if (rmode != RecNonLayered && (recording || talkback)) {
if (rmode == RecSoundOnSound && (recording || talkback)) {
return MonitoringCue;
} else if (rmode != RecNonLayered || recording || talkback) {
return MonitoringInput;