summaryrefslogtreecommitdiff
path: root/libs/ardour/panner_shell.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-08-27 16:03:42 +1000
committerTim Mayberry <mojofunk@gmail.com>2017-04-19 09:36:50 +1000
commit7bd2e91202ce435a286c92feceffd7df1f516bc6 (patch)
tree60382e54f7539d2d90048cfef912a47b732c0256 /libs/ardour/panner_shell.cc
parente7e9e02564031e2adda6981e4147044493429631 (diff)
Use XMLNode::get/set_property API in ARDOUR::PannerShell class
Diffstat (limited to 'libs/ardour/panner_shell.cc')
-rw-r--r--libs/ardour/panner_shell.cc32
1 files changed, 15 insertions, 17 deletions
diff --git a/libs/ardour/panner_shell.cc b/libs/ardour/panner_shell.cc
index 6c3ae0021c..f49c6b2c30 100644
--- a/libs/ardour/panner_shell.cc
+++ b/libs/ardour/panner_shell.cc
@@ -155,9 +155,9 @@ PannerShell::get_state ()
{
XMLNode* node = new XMLNode ("PannerShell");
- node->add_property (X_("bypassed"), _bypassed ? X_("yes") : X_("no"));
- node->add_property (X_("user-panner"), _user_selected_panner_uri);
- node->add_property (X_("linked-to-route"), _panlinked ? X_("yes") : X_("no"));
+ node->set_property (X_("bypassed"), _bypassed);
+ node->set_property (X_("user-panner"), _user_selected_panner_uri);
+ node->set_property (X_("linked-to-route"), _panlinked);
if (_panner && _is_send) {
node->add_child_nocopy (_panner->get_state ());
@@ -171,31 +171,29 @@ PannerShell::set_state (const XMLNode& node, int version)
{
XMLNodeList nlist = node.children ();
XMLNodeConstIterator niter;
- XMLProperty const * prop;
+ bool yn;
+ std::string str;
LocaleGuard lg;
- if ((prop = node.property (X_("bypassed"))) != 0) {
- set_bypassed (string_is_affirmative (prop->value ()));
+ if (node.get_property (X_("bypassed"), yn)) {
+ set_bypassed (yn);
}
- if ((prop = node.property (X_("linked-to-route"))) != 0) {
+ if (node.get_property (X_("linked-to-route"), yn)) {
if (!ARDOUR::Profile->get_mixbus()) {
- _panlinked = string_is_affirmative (prop->value ());
+ _panlinked = yn;
}
}
- if ((prop = node.property (X_("user-panner"))) != 0) {
- _user_selected_panner_uri = prop->value ();
- }
+ node.get_property (X_("user-panner"), _user_selected_panner_uri);
_panner.reset ();
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
if ((*niter)->name() == X_("Panner")) {
-
- if ((prop = (*niter)->property (X_("uri")))) {
- PannerInfo* p = PannerManager::instance().get_by_uri(prop->value());
+ if ((*niter)->get_property (X_("uri"), str)) {
+ PannerInfo* p = PannerManager::instance().get_by_uri(str);
if (p) {
_panner.reset (p->descriptor.factory (
_is_send ? _pannable_internal : _pannable_route, _session.get_speakers ()));
@@ -217,13 +215,13 @@ PannerShell::set_state (const XMLNode& node, int version)
}
else /* backwards compatibility */
- if ((prop = (*niter)->property (X_("type")))) {
+ if ((*niter)->get_property (X_("type"), str)) {
list<PannerInfo*>::iterator p;
PannerManager& pm (PannerManager::instance());
for (p = pm.panner_info.begin(); p != pm.panner_info.end(); ++p) {
- if (prop->value() == (*p)->descriptor.name) {
+ if (str == (*p)->descriptor.name) {
/* note that we assume that all the stream panners
are of the same type. pretty good
@@ -255,7 +253,7 @@ PannerShell::set_state (const XMLNode& node, int version)
if (p == pm.panner_info.end()) {
error << string_compose (_("Unknown panner plugin \"%1\" found in pan state - ignored"),
- prop->value())
+ str)
<< endmsg;
}