summaryrefslogtreecommitdiff
path: root/libs/ardour/audiofilesource.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-11-09 18:19:53 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-11-09 18:19:53 +0000
commit66a9112d48b5726f61eec7ce4cfc4bd15b9420d0 (patch)
tree19b5d8a878857c3f2a4062c040ae268660e6ff12 /libs/ardour/audiofilesource.cc
parentcbaba7758814ef4b71e9f0f2d7a50797ba51a219 (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.cc14
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;
}