summaryrefslogtreecommitdiff
path: root/libs/ardour/import.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/import.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/import.cc')
-rw-r--r--libs/ardour/import.cc26
1 files changed, 14 insertions, 12 deletions
diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc
index 929f3c5bf4..4fc546ebd5 100644
--- a/libs/ardour/import.cc
+++ b/libs/ardour/import.cc
@@ -202,25 +202,27 @@ map_existing_mono_sources (const vector<string>& new_paths, Session& /*sess*/,
}
static bool
-create_mono_sources_for_writing (const vector<string>& new_paths, Session& sess,
- uint samplerate, vector<boost::shared_ptr<Source> >& newfiles,
+create_mono_sources_for_writing (const string& origin,
+ const vector<string>& new_paths,
+ Session& sess, uint samplerate,
+ vector<boost::shared_ptr<Source> >& newfiles,
framepos_t timeline_position)
{
- for (vector<string>::const_iterator i = new_paths.begin(); i != new_paths.end(); ++i)
- {
+ for (vector<string>::const_iterator i = new_paths.begin(); i != new_paths.end(); ++i) {
+
boost::shared_ptr<Source> source;
- try
- {
+ try {
const DataType type = SMFSource::safe_midi_file_extension (*i) ? DataType::MIDI : DataType::AUDIO;
source = SourceFactory::createWritable (type, sess,
- i->c_str(),
- false, // destructive
- samplerate);
+ i->c_str(),
+ origin,
+ false, // destructive
+ samplerate);
}
- catch (const failed_constructor& err)
- {
+
+ catch (const failed_constructor& err) {
error << string_compose (_("Unable to create file %1 during import"), *i) << endmsg;
return false;
}
@@ -488,7 +490,7 @@ Session::import_audiofiles (ImportStatus& status)
fatal << "THIS IS NOT IMPLEMENTED YET, IT SHOULD NEVER GET CALLED!!! DYING!" << endmsg;
status.cancel = !map_existing_mono_sources (new_paths, *this, frame_rate(), newfiles, this);
} else {
- status.cancel = !create_mono_sources_for_writing (new_paths, *this, frame_rate(), newfiles, natural_position);
+ status.cancel = !create_mono_sources_for_writing (*p, new_paths, *this, frame_rate(), newfiles, natural_position);
}
// copy on cancel/failure so that any files that were created will be removed below