/*** AudioTrackImportHandler ***/
AudioTrackImportHandler::AudioTrackImportHandler (XMLTree const & source, Session & session, AudioPlaylistImportHandler & pl_handler) :
- ElementImportHandler (source, session),
- pl_handler (pl_handler)
+ ElementImportHandler (source, session)
{
XMLNode const * root = source.root();
XMLNode const * routes;
return name;
}
+/** @return true if everything is ok */
bool
AudioTrackImporter::_prepare_move ()
{
}
name = rename_pair.second;
}
- xml_track.child ("IO")->property ("name")->set_value (name);
+
+ XMLNode* c = xml_track.child ("IO");
+ if (!c) {
+ error << _("badly-formed XML in imported track") << endmsg;
+ return false;
+ }
+
+ XMLProperty* p = c->property ("name");
+ if (!p) {
+ error << _("badly-formed XML in imported track") << endmsg;
+ return false;
+ }
+
+ p->set_value (name);
+
track_handler.add_name (name);
return true;
boost::shared_ptr<XMLSharedNodeList> ds_node_list;
string xpath = "/Session/DiskStreams/AudioDiskstream[@id='" + old_ds_id.to_s() + "']";
- ds_node_list = source.root()->find (xpath);
+ ds_node_list = source.find (xpath);
if (ds_node_list->size() != 1) {
error << string_compose (_("Error Importing Audio track %1"), name) << endmsg;
}
boost::shared_ptr<XMLNode> ds_node = ds_node_list->front();
- ds_node->property ("id")->set_value (new_ds_id.to_s());
+ XMLProperty* p = ds_node->property (X_("id"));
+ assert (p);
+ p->set_value (new_ds_id.to_s());
boost::shared_ptr<Diskstream> new_ds (new AudioDiskstream (session, *ds_node));
new_ds->set_name (name);