diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2016-08-28 20:17:48 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2017-04-19 09:36:52 +1000 |
commit | a44e0982d4610722c9f391d42c70a0917984f08c (patch) | |
tree | 026039be4896f394a54c7785e4bdd41ecb809af3 /libs/ardour/playlist_source.cc | |
parent | 60ee8378ded76a8c8d61d0f9014284a9c66a1758 (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.cc | 31 |
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; |