summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-04 22:02:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-04 22:02:03 +0000
commit4ceccdf8d7e6d6170920685308250e87a72e9faa (patch)
tree4e082b6d8adf3175af4555c24de40eaf7ef64620 /gtk2_ardour
parentcfd794cd855e721bef09c640766648586355879b (diff)
fix import/embed with "sequence files" option
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6729 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor.h4
-rw-r--r--gtk2_ardour/editor_audio_import.cc36
2 files changed, 19 insertions, 21 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 626fd97870..7ecab10283 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -1179,9 +1179,9 @@ class Editor : public PublicEditor
void do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&);
int import_sndfiles (vector<Glib::ustring> paths, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t& pos,
- int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::AudioTrack>, bool, uint32_t total);
+ int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::AudioTrack>&, bool, uint32_t total);
int embed_sndfiles (vector<Glib::ustring> paths, bool multiple_files, bool& check_sample_rate, Editing::ImportMode mode,
- nframes64_t& pos, int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::AudioTrack>);
+ nframes64_t& pos, int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::AudioTrack>&);
int add_sources (vector<Glib::ustring> paths, ARDOUR::SourceList& sources, nframes64_t& pos, Editing::ImportMode,
int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::AudioTrack>&, bool add_channel_suffix);
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index 73f5af2676..3f9192828e 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -430,10 +430,10 @@ Editor::do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mode
to_embed.clear ();
to_embed.push_back (*a);
- if (embed_sndfiles (to_embed, multi, check_sample_rate, mode, pos, 1, 1, track) < -1) {
- goto out;
- }
- }
+ if (embed_sndfiles (to_embed, multi, check_sample_rate, mode, pos, 1, 1, track) < -1) {
+ goto out;
+ }
+ }
break;
}
@@ -447,7 +447,7 @@ Editor::do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mode
int
Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality quality, nframes64_t& pos,
- int target_regions, int target_tracks, boost::shared_ptr<AudioTrack> track, bool replace,
+ int target_regions, int target_tracks, boost::shared_ptr<AudioTrack>& track, bool replace,
uint32_t total)
{
interthread_progress_window->set_title (string_compose (_("Importing %1"), paths.front()));
@@ -500,7 +500,7 @@ Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality qual
import_status.mode,
import_status.target_regions,
import_status.target_tracks,
- import_status.track, false) == 0) {
+ track, false) == 0) {
session->save_state ("");
}
@@ -509,7 +509,6 @@ Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality qual
pos = import_status.pos;
}
-
track_canvas->get_window()->set_cursor (*current_canvas_cursor);
return 0;
}
@@ -517,7 +516,7 @@ Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality qual
int
Editor::embed_sndfiles (vector<Glib::ustring> paths, bool multifile,
bool& check_sample_rate, ImportMode mode, nframes64_t& pos, int target_regions, int target_tracks,
- boost::shared_ptr<AudioTrack> track)
+ boost::shared_ptr<AudioTrack>& track)
{
boost::shared_ptr<AudioFileSource> source;
SourceList sources;
@@ -667,7 +666,6 @@ Editor::embed_sndfiles (vector<Glib::ustring> paths, bool multifile,
if (sources.empty()) {
goto out;
}
-
ret = add_sources (paths, sources, pos, mode, target_regions, target_tracks, track, true);
out:
@@ -730,11 +728,11 @@ Editor::add_sources (vector<Glib::ustring> paths, SourceList& sources, nframes64
(RegionFactory::create (just_one, 0, (*x)->length(), region_name, 0,
Region::Flag (Region::DefaultFlags|Region::WholeFile|Region::External)));
- if (use_timestamp) {
- ar->special_set_position((*x)->natural_position());
- }
-
- regions.push_back (ar);
+ if (use_timestamp) {
+ ar->special_set_position((*x)->natural_position());
+ }
+
+ regions.push_back (ar);
}
}
@@ -756,12 +754,12 @@ Editor::add_sources (vector<Glib::ustring> paths, SourceList& sources, nframes64
int n = 0;
- for (vector<boost::shared_ptr<AudioRegion> >::iterator r = regions.begin(); r != regions.end(); ++r, ++n) {
-
- finish_bringing_in_audio (*r, input_chan, output_chan, pos, mode, track);
+ for (vector<boost::shared_ptr<AudioRegion> >::iterator r = regions.begin(); r != regions.end(); ++r, ++n) {
+
+ finish_bringing_in_audio (*r, input_chan, output_chan, pos, mode, track);
- if (target_tracks != 1) {
- track.reset ();
+ if (target_tracks != 1) {
+ track.reset ();
} else {
pos += (*r)->length();
}