From acdc88f279760443dc7397290e9c4752af5b23c9 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 30 Nov 2009 13:16:38 +0000 Subject: attempt to remove confusion and errors caused by unclear semantics of _is_embedded for FileSources; member renamed _within_session, and is now ALWAYS determined by the _path of the FileSource, never by the creator git-svn-id: svn://localhost/ardour2/branches/3.0@6213 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/audiofilesource.cc | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'libs/ardour/audiofilesource.cc') diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc index f2f09b71fc..b840c3a7c9 100644 --- a/libs/ardour/audiofilesource.cc +++ b/libs/ardour/audiofilesource.cc @@ -92,31 +92,30 @@ struct SizedSampleBuffer { Glib::StaticPrivate thread_interleave_buffer = GLIBMM_STATIC_PRIVATE_INIT; /** Constructor used for existing internal-to-session files. */ -AudioFileSource::AudioFileSource (Session& s, const ustring& path, bool embedded, Source::Flag flags) +AudioFileSource::AudioFileSource (Session& s, const ustring& path, Source::Flag flags) : Source (s, DataType::AUDIO, path, flags) , AudioSource (s, path) - , FileSource (s, DataType::AUDIO, path, embedded, flags) + , FileSource (s, DataType::AUDIO, path, flags) { - if (init (path, true)) { + if (init (_path, true)) { throw failed_constructor (); } + } /** Constructor used for new internal-to-session files. */ -AudioFileSource::AudioFileSource (Session& s, const ustring& path, bool embedded, Source::Flag flags, +AudioFileSource::AudioFileSource (Session& s, const ustring& path, Source::Flag flags, SampleFormat /*samp_format*/, HeaderFormat /*hdr_format*/) : Source (s, DataType::AUDIO, path, flags) , AudioSource (s, path) - , FileSource (s, DataType::AUDIO, path, embedded, flags) + , FileSource (s, DataType::AUDIO, path, flags) { - _is_embedded = false; - - if (init (path, false)) { + if (init (_path, false)) { throw failed_constructor (); } } -/** Constructor used for existing internal-to-session files. File must exist. */ +/** Constructor used for existing internal-to-session files via XML. File must exist. */ AudioFileSource::AudioFileSource (Session& s, const XMLNode& node, bool must_exist) : Source (s, node) , AudioSource (s, node) @@ -125,8 +124,8 @@ AudioFileSource::AudioFileSource (Session& s, const XMLNode& node, bool must_exi if (set_state (node, Stateful::loading_state_version)) { throw failed_constructor (); } - - if (init (_name, must_exist)) { + + if (init (_path, must_exist)) { throw failed_constructor (); } } @@ -170,7 +169,7 @@ AudioFileSource::find_broken_peakfile (ustring peak_path, ustring audio_path) if (Glib::file_test (str, Glib::FILE_TEST_EXISTS)) { - if (is_embedded()) { + if (!within_session()) { /* it would be nice to rename it but the nature of the bug means that we can't reliably use it. -- cgit v1.2.3