Prepare session-wide implicit monitoring overrides
This commit is contained in:
parent
88b3aa926a
commit
88d797bd64
@ -36,6 +36,7 @@ CONFIG_VARIABLE (bool, auto_return, "auto-return", false)
|
|||||||
CONFIG_VARIABLE (bool, auto_input, "auto-input", true)
|
CONFIG_VARIABLE (bool, auto_input, "auto-input", true)
|
||||||
CONFIG_VARIABLE (bool, punch_in, "punch-in", false)
|
CONFIG_VARIABLE (bool, punch_in, "punch-in", false)
|
||||||
CONFIG_VARIABLE (bool, punch_out, "punch-out", false)
|
CONFIG_VARIABLE (bool, punch_out, "punch-out", false)
|
||||||
|
CONFIG_VARIABLE (MonitorChoice, session_monitoring, "session-monitoring", MonitorAuto)
|
||||||
CONFIG_VARIABLE (bool, layered_record_mode, "layered-record-mode", false)
|
CONFIG_VARIABLE (bool, layered_record_mode, "layered-record-mode", false)
|
||||||
CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
|
CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
|
||||||
CONFIG_VARIABLE (Timecode::TimecodeFormat, timecode_format, "timecode-format", Timecode::timecode_30)
|
CONFIG_VARIABLE (Timecode::TimecodeFormat, timecode_format, "timecode-format", Timecode::timecode_30)
|
||||||
|
@ -721,6 +721,7 @@ std::istream& operator>>(std::istream& o, ARDOUR::AutoConnectOption& sf);
|
|||||||
std::istream& operator>>(std::istream& o, ARDOUR::TracksAutoNamingRule& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::TracksAutoNamingRule& sf);
|
||||||
std::istream& operator>>(std::istream& o, ARDOUR::EditMode& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::EditMode& sf);
|
||||||
std::istream& operator>>(std::istream& o, ARDOUR::MonitorModel& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::MonitorModel& sf);
|
||||||
|
std::istream& operator>>(std::istream& o, ARDOUR::MonitorChoice& sf);
|
||||||
std::istream& operator>>(std::istream& o, ARDOUR::PFLPosition& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::PFLPosition& sf);
|
||||||
std::istream& operator>>(std::istream& o, ARDOUR::AFLPosition& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::AFLPosition& sf);
|
||||||
std::istream& operator>>(std::istream& o, ARDOUR::ListenPosition& sf);
|
std::istream& operator>>(std::istream& o, ARDOUR::ListenPosition& sf);
|
||||||
@ -744,6 +745,7 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::AutoConnectOption& sf);
|
|||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::TracksAutoNamingRule& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::TracksAutoNamingRule& sf);
|
||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::EditMode& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::EditMode& sf);
|
||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::MonitorModel& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::MonitorModel& sf);
|
||||||
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::MonitorChoice& sf);
|
||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::PFLPosition& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::PFLPosition& sf);
|
||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::AFLPosition& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::AFLPosition& sf);
|
||||||
std::ostream& operator<<(std::ostream& o, const ARDOUR::ListenPosition& sf);
|
std::ostream& operator<<(std::ostream& o, const ARDOUR::ListenPosition& sf);
|
||||||
|
@ -833,6 +833,20 @@ std::ostream& operator<<(std::ostream& o, const TracksAutoNamingRule& var)
|
|||||||
return o << s;
|
return o << s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::istream& operator>>(std::istream& o, MonitorChoice& var)
|
||||||
|
{
|
||||||
|
std::string s;
|
||||||
|
o >> s;
|
||||||
|
var = (MonitorChoice) string_2_enum (s, var);
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::ostream& operator<<(std::ostream& o, const MonitorChoice& var)
|
||||||
|
{
|
||||||
|
std::string s = enum_2_string (var);
|
||||||
|
return o << s;
|
||||||
|
}
|
||||||
|
|
||||||
std::istream& operator>>(std::istream& o, MonitorModel& var)
|
std::istream& operator>>(std::istream& o, MonitorModel& var)
|
||||||
{
|
{
|
||||||
std::string s;
|
std::string s;
|
||||||
|
@ -3907,6 +3907,8 @@ Session::config_changed (std::string p, bool ours)
|
|||||||
|
|
||||||
} else if (p == "auto-loop") {
|
} else if (p == "auto-loop") {
|
||||||
|
|
||||||
|
} else if (p == "session-monitoring") {
|
||||||
|
|
||||||
} else if (p == "auto-input") {
|
} else if (p == "auto-input") {
|
||||||
|
|
||||||
if (Config->get_monitoring_model() == HardwareMonitoring && transport_rolling()) {
|
if (Config->get_monitoring_model() == HardwareMonitoring && transport_rolling()) {
|
||||||
|
@ -929,6 +929,17 @@ Track::monitoring_state () const
|
|||||||
return MonitoringDisk;
|
return MonitoringDisk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (_session.config.get_session_monitoring ()) {
|
||||||
|
case MonitorDisk:
|
||||||
|
return MonitoringDisk;
|
||||||
|
break;
|
||||||
|
case MonitorInput:
|
||||||
|
return MonitoringInput;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* This is an implementation of the truth table in doc/monitor_modes.pdf;
|
/* This is an implementation of the truth table in doc/monitor_modes.pdf;
|
||||||
I don't think it's ever going to be too pretty too look at.
|
I don't think it's ever going to be too pretty too look at.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user