diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 9602c6e47c..f1a79c9570 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -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; } diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index a6016d9279..5d9c0380bf 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -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;