*/
#include "ardour/monitor_control.h"
+#include "ardour/types_convert.h"
#include "pbd/i18n.h"
void
MonitorControl::actually_set_value (double val, Controllable::GroupControlDisposition gcd)
{
- int v = (int) val;
- switch (v) {
- case MonitorAuto:
- case MonitorInput:
- case MonitorDisk:
- case MonitorCue:
- break;
- default:
- /* illegal value */
- return;
- }
-
- _monitoring = MonitorChoice (v);
+ _monitoring = MonitorChoice ((int) val);
AutomationControl::actually_set_value (val, gcd);
}
MonitorControl::get_state ()
{
XMLNode& node (SlavableAutomationControl::get_state());
- node.add_property (X_("monitoring"), enum_2_string (_monitoring));
+ node.set_property (X_("monitoring"), _monitoring);
return node;
}
{
SlavableAutomationControl::set_state (node, version);
- const XMLProperty* prop;
-
- if ((prop = node.property (X_("monitoring"))) != 0) {
- _monitoring = MonitorChoice (string_2_enum (prop->value(), _monitoring));
- } else {
+ if (!node.get_property (X_("monitoring"), _monitoring)) {
_monitoring = MonitorAuto;
}