summaryrefslogtreecommitdiff
path: root/libs/ardour/mute_master.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-08-28 18:58:42 +1000
committerTim Mayberry <mojofunk@gmail.com>2017-04-19 09:36:52 +1000
commit6311bd78bdb73813ab867dc272d2db68289fb207 (patch)
tree3ebb36800ac8db6e1ad5f51fdc2633029f953b31 /libs/ardour/mute_master.cc
parentf1c6616c116863104c2c95c4c0557159e4130deb (diff)
Use XMLNode::get/set_property API in ARDOUR::MuteMaster class
Diffstat (limited to 'libs/ardour/mute_master.cc')
-rw-r--r--libs/ardour/mute_master.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/libs/ardour/mute_master.cc b/libs/ardour/mute_master.cc
index ed77942f6c..52af8c3861 100644
--- a/libs/ardour/mute_master.cc
+++ b/libs/ardour/mute_master.cc
@@ -20,7 +20,7 @@
#include "pbd/enumwriter.h"
#include "pbd/xml++.h"
-#include "pbd/convert.h"
+#include "pbd/enum_convert.h"
#include "ardour/types.h"
#include "ardour/mute_master.h"
@@ -28,6 +28,10 @@
#include "pbd/i18n.h"
+namespace PBD {
+ DEFINE_ENUM_CONVERT(ARDOUR::MuteMaster::MutePoint);
+}
+
using namespace ARDOUR;
using namespace std;
@@ -139,18 +143,12 @@ MuteMaster::set_mute_points (MutePoint mp)
int
MuteMaster::set_state (const XMLNode& node, int /*version*/)
{
- XMLProperty const * prop;
+ node.get_property ("mute-point", _mute_point);
- if ((prop = node.property ("mute-point")) != 0) {
- _mute_point = (MutePoint) string_2_enum (prop->value(), _mute_point);
+ if (!node.get_property ("muted", _muted_by_self)) {
+ _muted_by_self = (_mute_point != MutePoint (0));
}
- if ((prop = node.property ("muted")) != 0) {
- _muted_by_self = PBD::string_is_affirmative (prop->value());
- } else {
- _muted_by_self = (_mute_point != MutePoint (0));
- }
-
return 0;
}
@@ -158,8 +156,8 @@ XMLNode&
MuteMaster::get_state()
{
XMLNode* node = new XMLNode (xml_node_name);
- node->add_property ("mute-point", enum_2_string (_mute_point));
- node->add_property ("muted", (_muted_by_self ? X_("yes") : X_("no")));
+ node->set_property ("mute-point", _mute_point);
+ node->set_property ("muted", _muted_by_self);
return *node;
}