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/import.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/import.cc')
-rw-r--r-- | libs/ardour/import.cc | 26 |
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 |