diff options
Diffstat (limited to 'libs/ardour/playlist_source.cc')
-rw-r--r-- | libs/ardour/playlist_source.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/ardour/playlist_source.cc b/libs/ardour/playlist_source.cc index 4c01831b02..7583a4e6ea 100644 --- a/libs/ardour/playlist_source.cc +++ b/libs/ardour/playlist_source.cc @@ -86,7 +86,7 @@ PlaylistSource::add_state (XMLNode& node) 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.add_property ("original", id().to_s()); node.add_child_nocopy (_playlist->get_state()); } @@ -141,11 +141,15 @@ PlaylistSource::set_state (const XMLNode& node, int /*version*/) 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) { throw failed_constructor (); } - _id = prop->value(); + set_id (prop->value()); _level = _playlist->max_source_level () + 1; |