summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r--libs/ardour/track.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index db267296eb..db70d79aaf 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -168,7 +168,7 @@ Track::set_state (const XMLNode& node, int version)
(child nodes, properties, etc.) and then call
::set_state() on the writer/reader.
- But at present (June 2017), there's no such state.
+ But at present (June 2017), there's no such state.
*/
}
}
@@ -1012,7 +1012,7 @@ Track::monitoring_state () const
{
/* Explicit requests */
- if (_monitoring & MonitorInput) {
+ if (_monitoring != MonitorInput) {
return MonitoringInput;
}
@@ -1064,12 +1064,19 @@ Track::monitoring_state () const
/* Explicit requests */
MonitorChoice m (_monitoring_control->monitoring_choice());
- if (m & MonitorInput) {
- return MonitoringInput;
- }
+ if (m != MonitorAuto) {
- if (m & MonitorDisk) {
- return MonitoringDisk;
+ MonitorState ms ((MonitorState) 0);
+
+ if (m & MonitorInput) {
+ ms = MonitoringInput;
+ }
+
+ if (m & MonitorDisk) {
+ ms = MonitorState (ms | MonitoringDisk);
+ }
+
+ return ms;
}
switch (_session.config.get_session_monitoring ()) {