diff options
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r-- | libs/ardour/track.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 89ef0241f8..24f486fa61 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -832,10 +832,22 @@ Track::monitoring_state () const bool const roll = _session.transport_rolling (); bool const track_rec = _diskstream->record_enabled (); - bool const session_rec = _session.actively_recording (); 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 session_rec; + + /* I suspect that just use actively_recording() is good enough all the + * time, but just to keep the semantics the same as they were before + * sept 26th 2012, we differentiate between the cases where punch is + * enabled and those where it is not. + */ + + if (_session.config.get_punch_in() || _session.config.get_punch_out()) { + session_rec = _session.actively_recording (); + } else { + session_rec = _session.get_record_enabled(); + } if (track_rec) { |