summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-09-27 14:11:01 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-09-27 14:11:01 +0000
commit02a98547f153b63ee17eab9c6bf6c71fc026652e (patch)
tree4a93cc9c31a364f929c52fbfba2efd9d3fb86561 /libs/ardour/track.cc
parentf940452bc0d4cd80d5933e86f77f2d3b2774bd3c (diff)
different version of previous commit that leaves previous semantics intact unless punch in/out are enabled
git-svn-id: svn://localhost/ardour2/branches/3.0@13200 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r--libs/ardour/track.cc14
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) {