summaryrefslogtreecommitdiff
path: root/libs/ardour/playlist_source.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-08-28 20:17:48 +1000
committerTim Mayberry <mojofunk@gmail.com>2017-04-19 09:36:52 +1000
commita44e0982d4610722c9f391d42c70a0917984f08c (patch)
tree026039be4896f394a54c7785e4bdd41ecb809af3 /libs/ardour/playlist_source.cc
parent60ee8378ded76a8c8d61d0f9014284a9c66a1758 (diff)
Use XMLNode::get/set_property API in ARDOUR::PlaylistSource class
Diffstat (limited to 'libs/ardour/playlist_source.cc')
-rw-r--r--libs/ardour/playlist_source.cc31
1 files changed, 13 insertions, 18 deletions
diff --git a/libs/ardour/playlist_source.cc b/libs/ardour/playlist_source.cc
index b0c4516040..c27652851b 100644
--- a/libs/ardour/playlist_source.cc
+++ b/libs/ardour/playlist_source.cc
@@ -27,7 +27,7 @@
#include <glibmm/miscutils.h>
#include "pbd/error.h"
-#include "pbd/convert.h"
+#include "pbd/types_convert.h"
#include "pbd/enumwriter.h"
#include "ardour/playlist.h"
@@ -75,14 +75,10 @@ PlaylistSource::~PlaylistSource ()
void
PlaylistSource::add_state (XMLNode& node)
{
- char buf[64];
-
- node.add_property ("playlist", _playlist->id ().to_s ());
- snprintf (buf, sizeof (buf), "%" PRIi64, _playlist_offset);
- node.add_property ("offset", buf);
- snprintf (buf, sizeof (buf), "%" PRIu64, _playlist_length);
- node.add_property ("length", buf);
- node.add_property ("original", id().to_s());
+ node.set_property ("playlist", _playlist->id ());
+ node.set_property ("offset", _playlist_offset);
+ node.set_property ("length", _playlist_length);
+ node.set_property ("original", id());
node.add_child_nocopy (_playlist->get_state());
}
@@ -120,32 +116,31 @@ PlaylistSource::set_state (const XMLNode& node, int /*version*/)
/* other properties */
- if ((prop = node.property (X_("name"))) == 0) {
+ std::string name;
+ if (!node.get_property (X_("name"), name)) {
throw failed_constructor ();
}
- set_name (prop->value());
+ set_name (name);
- if ((prop = node.property (X_("offset"))) == 0) {
+ if (!node.get_property (X_("offset"), _playlist_offset)) {
throw failed_constructor ();
}
- sscanf (prop->value().c_str(), "%" PRIi64, &_playlist_offset);
- if ((prop = node.property (X_("length"))) == 0) {
+ if (!node.get_property (X_("length"), _playlist_length)) {
throw failed_constructor ();
}
- sscanf (prop->value().c_str(), "%" PRIu64, &_playlist_length);
-
/* XXX not quite sure why we set our ID back to the "original" one
here. october 2011, paul
*/
- if ((prop = node.property (X_("original"))) == 0) {
+ std::string str;
+ if (!node.get_property (X_("original"), str)) {
throw failed_constructor ();
}
- set_id (prop->value());
+ set_id (str);
_level = _playlist->max_source_level () + 1;