From 71dd60c7365ef37e6ce516dce528fb2611fb80bc Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 30 May 2012 16:16:27 +0000 Subject: don't abort when loading legacy xfades if the constituent regions cannot be found git-svn-id: svn://localhost/ardour2/branches/3.0@12495 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/audio_playlist.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'libs/ardour/audio_playlist.cc') diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index 0db5d174c9..b157d68545 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -675,17 +675,25 @@ AudioPlaylist::set_state (const XMLNode& node, int version) p = (*i)->property (X_("in")); assert (p); - cerr << "Looking for in xfade region " << p->value() << endl; boost::shared_ptr in = region_by_id (PBD::ID (p->value ())); - assert (in); + if (!in) { + warning << string_compose (_("Legacy crossfade involved an incoming region not present in playlist \"%1\" - crossfade discarded"), + name()) + << endmsg; + continue; + } boost::shared_ptr in_a = boost::dynamic_pointer_cast (in); assert (in_a); p = (*i)->property (X_("out")); assert (p); - cerr << "Looking for out xfade region " << p->value() << endl; boost::shared_ptr out = region_by_id (PBD::ID (p->value ())); - assert (out); + if (!in) { + warning << string_compose (_("Legacy crossfade involved an outgoing region not present in playlist \"%1\" - crossfade discarded"), + name()) + << endmsg; + continue; + } boost::shared_ptr out_a = boost::dynamic_pointer_cast (out); assert (out_a); -- cgit v1.2.3