diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-30 16:16:27 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-30 16:16:27 +0000 |
commit | 71dd60c7365ef37e6ce516dce528fb2611fb80bc (patch) | |
tree | f90bef28def854cbe966de070f0f446afe8d65f7 /libs | |
parent | ddc513c38da165eab91a24eb1ccc73464d408393 (diff) |
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
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/audio_playlist.cc | 16 |
1 files changed, 12 insertions, 4 deletions
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<Region> 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<AudioRegion> in_a = boost::dynamic_pointer_cast<AudioRegion> (in); assert (in_a); p = (*i)->property (X_("out")); assert (p); - cerr << "Looking for out xfade region " << p->value() << endl; boost::shared_ptr<Region> 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<AudioRegion> out_a = boost::dynamic_pointer_cast<AudioRegion> (out); assert (out_a); |