summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-08-30 11:41:11 +1000
committerTim Mayberry <mojofunk@gmail.com>2017-04-19 09:36:54 +1000
commit86f403cbbded01af59a6782d64763fdf6f8eed76 (patch)
treecf06a4e1a99fd0e07a98c44fd3b1d3c3fc13d28a /libs/surfaces/mackie
parent9554dd44451ce716a1c00622aad761bf01ee64cf (diff)
Use XMLNode::get/set_property API in MackieControlProtocol class
Diffstat (limited to 'libs/surfaces/mackie')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc43
1 files changed, 19 insertions, 24 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index 435c0b32b9..62d0abab09 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -975,7 +975,7 @@ MackieControlProtocol::update_configuration_state ()
}
XMLNode* devnode = new XMLNode (X_("Configuration"));
- devnode->add_property (X_("name"), _device_info.name());
+ devnode->set_property (X_("name"), _device_info.name());
configuration_state->remove_nodes_and_delete (X_("name"), _device_info.name());
configuration_state->add_child_nocopy (*devnode);
@@ -995,18 +995,15 @@ MackieControlProtocol::get_state()
XMLNode& node (ControlProtocol::get_state());
DEBUG_TRACE (DEBUG::MackieControl, "MackieControlProtocol::get_state init\n");
- char buf[16];
// add current bank
- snprintf (buf, sizeof (buf), "%d", _current_initial_bank);
- node.add_property (X_("bank"), buf);
+ node.set_property (X_("bank"), _current_initial_bank);
// ipMIDI base port (possibly not used)
- snprintf (buf, sizeof (buf), "%d", _ipmidi_base);
- node.add_property (X_("ipmidi-base"), buf);
+ node.set_property (X_("ipmidi-base"), _ipmidi_base);
- node.add_property (X_("device-profile"), _device_profile.name());
- node.add_property (X_("device-name"), _device_info.name());
+ node.set_property (X_("device-profile"), _device_profile.name());
+ node.set_property (X_("device-name"), _device_info.name());
{
Glib::Threads::Mutex::Lock lm (surfaces_lock);
@@ -1032,29 +1029,27 @@ MackieControlProtocol::set_state (const XMLNode & node, int version)
{
DEBUG_TRACE (DEBUG::MackieControl, string_compose ("MackieControlProtocol::set_state: active %1\n", active()));
- int retval = 0;
- const XMLProperty* prop;
- uint32_t bank = 0;
-
if (ControlProtocol::set_state (node, version)) {
return -1;
}
- if ((prop = node.property (X_("ipmidi-base"))) != 0) {
- set_ipmidi_base (atoi (prop->value()));
+ uint16_t ipmidi_base;
+ if (node.get_property (X_("ipmidi-base"), ipmidi_base)) {
+ set_ipmidi_base (ipmidi_base);
}
+ uint32_t bank = 0;
// fetch current bank
- if ((prop = node.property (X_("bank"))) != 0) {
- bank = atoi (prop->value());
- }
+ node.get_property (X_("bank"), bank);
- if ((prop = node.property (X_("device-name"))) != 0) {
- set_device_info (prop->value());
+ std::string device_name;
+ if (node.get_property (X_("device-name"), device_name)) {
+ set_device_info (device_name);
}
- if ((prop = node.property (X_("device-profile"))) != 0) {
- if (prop->value().empty()) {
+ std::string device_profile_name;
+ if (node.get_property (X_("device-profile"), device_profile_name)) {
+ if (device_profile_name.empty()) {
string default_profile_name;
/* start by looking for a user-edited profile for the current device name */
@@ -1084,8 +1079,8 @@ MackieControlProtocol::set_state (const XMLNode & node, int version)
set_profile (default_profile_name);
} else {
- if (profile_exists (prop->value())) {
- set_profile (prop->value());
+ if (profile_exists (device_profile_name)) {
+ set_profile (device_profile_name);
} else {
set_profile (DeviceProfile::default_profile_name);
}
@@ -1106,7 +1101,7 @@ MackieControlProtocol::set_state (const XMLNode & node, int version)
DEBUG_TRACE (DEBUG::MackieControl, "MackieControlProtocol::set_state done\n");
- return retval;
+ return 0;
}
string