diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2016-08-28 18:58:42 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2017-04-19 09:36:52 +1000 |
commit | 6311bd78bdb73813ab867dc272d2db68289fb207 (patch) | |
tree | 3ebb36800ac8db6e1ad5f51fdc2633029f953b31 | |
parent | f1c6616c116863104c2c95c4c0557159e4130deb (diff) |
Use XMLNode::get/set_property API in ARDOUR::MuteMaster class
-rw-r--r-- | libs/ardour/mute_master.cc | 22 |
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; } |