diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-09 18:19:53 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-09 18:19:53 +0000 |
commit | 66a9112d48b5726f61eec7ce4cfc4bd15b9420d0 (patch) | |
tree | 19b5d8a878857c3f2a4062c040ae268660e6ff12 /libs/ardour/audiofilesource.cc | |
parent | cbaba7758814ef4b71e9f0f2d7a50797ba51a219 (diff) |
add "origin" property to FileSource so that we can track multiple imports
git-svn-id: svn://localhost/ardour2/branches/3.0@7986 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audiofilesource.cc')
-rw-r--r-- | libs/ardour/audiofilesource.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc index 12c2c6ad17..39701f24cc 100644 --- a/libs/ardour/audiofilesource.cc +++ b/libs/ardour/audiofilesource.cc @@ -91,12 +91,15 @@ struct SizedSampleBuffer { Glib::StaticPrivate<SizedSampleBuffer> thread_interleave_buffer = GLIBMM_STATIC_PRIVATE_INIT; -/** Constructor used for existing internal-to-session files. */ +/** Constructor used for existing external-to-session files. */ AudioFileSource::AudioFileSource (Session& s, const string& path, Source::Flag flags) : Source (s, DataType::AUDIO, path, flags) , AudioSource (s, path) - , FileSource (s, DataType::AUDIO, path, flags) + /* note that external files have their own path as "origin" */ + , FileSource (s, DataType::AUDIO, path, path, flags) { + /* note that origin remains empty */ + if (init (_path, true)) { throw failed_constructor (); } @@ -104,12 +107,14 @@ AudioFileSource::AudioFileSource (Session& s, const string& path, Source::Flag f } /** Constructor used for new internal-to-session files. */ -AudioFileSource::AudioFileSource (Session& s, const string& path, Source::Flag flags, +AudioFileSource::AudioFileSource (Session& s, const string& path, const string& origin, Source::Flag flags, SampleFormat /*samp_format*/, HeaderFormat /*hdr_format*/) : Source (s, DataType::AUDIO, path, flags) , AudioSource (s, path) - , FileSource (s, DataType::AUDIO, path, flags) + , FileSource (s, DataType::AUDIO, path, origin, flags) { + /* note that origin remains empty */ + if (init (_path, false)) { throw failed_constructor (); } @@ -258,6 +263,7 @@ AudioFileSource::get_state () char buf[32]; snprintf (buf, sizeof (buf), "%u", _channel); root.add_property (X_("channel"), buf); + root.add_property (X_("origin"), _origin); return root; } |