diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-03-15 19:42:42 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-03-15 19:42:42 +0000 |
commit | 702411f6582073e198fb8c6ae6b0ba43b00a5840 (patch) | |
tree | fa975802e3e0e5d776f2a06779d1831c16be49d5 /gtk2_ardour/editor_audio_import.cc | |
parent | 6fadaae2cbc6ed0bc83136cde7536623894f819d (diff) |
edit groups tab gets headers (carl); use sampo's SSE find_peaks code; fix build for find_peaks on x86; don't duplicate sources when embedding; use Glib::ustring for all source-related strings; fixup plugin UI automation buttons
git-svn-id: svn://localhost/ardour2/trunk@1595 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_audio_import.cc')
-rw-r--r-- | gtk2_ardour/editor_audio_import.cc | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 57c0d00639..fa6b9da5fa 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -370,11 +370,21 @@ Editor::embed_sndfile (vector<Glib::ustring> paths, bool split, bool multiple_fi for (int n = 0; n < finfo.channels; ++n) { try { - source = boost::dynamic_pointer_cast<AudioFileSource> (SourceFactory::createReadable - (*session, path, n, - (mode == ImportAsTapeTrack ? - AudioFileSource::Destructive : - AudioFileSource::Flag (0)))); + + /* check if we have this thing embedded already */ + + boost::shared_ptr<Source> s; + + if ((s = session->source_by_path_and_channel (path, n)) == 0) { + cerr << "source doesn't exist yet\n"; + source = boost::dynamic_pointer_cast<AudioFileSource> (SourceFactory::createReadable + (*session, path, n, + (mode == ImportAsTapeTrack ? + AudioFileSource::Destructive : + AudioFileSource::Flag (0)))); + } else { + source = boost::dynamic_pointer_cast<AudioFileSource> (s); + } sources.push_back(source); } |