13
0

for files imported without copy, _origin is a full path. We should use this when looking for the file at session load

This commit is contained in:
Paul Davis 2016-09-07 12:38:39 -04:00
parent 9faf3e5556
commit dbf86a495b

View File

@ -131,7 +131,10 @@ AudioFileSource::AudioFileSource (Session& s, const string& path, Source::Flag f
} }
/** Constructor used for existing internal-to-session files via XML. File must exist. */ /** Constructor used for existing files via XML. File must exist. If _origin
* is an absolute path after ::set_state(), then the file is external to the
* session.
*/
AudioFileSource::AudioFileSource (Session& s, const XMLNode& node, bool must_exist) AudioFileSource::AudioFileSource (Session& s, const XMLNode& node, bool must_exist)
: Source (s, node) : Source (s, node)
, AudioSource (s, node) , AudioSource (s, node)
@ -141,6 +144,11 @@ AudioFileSource::AudioFileSource (Session& s, const XMLNode& node, bool must_exi
throw failed_constructor (); throw failed_constructor ();
} }
if (Glib::path_is_absolute (_origin)) {
_path = _origin;
must_exist = true;
}
if (init (_path, must_exist)) { if (init (_path, must_exist)) {
throw failed_constructor (); throw failed_constructor ();
} }