From 376daa12d0b29b4e7b7b542fc4e962bd587160bf Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 4 Mar 2010 22:02:03 +0000 Subject: [PATCH] fix import/embed with "sequence files" option git-svn-id: http://subversion.ardour.org/svn/ardour2/ardour2/branches/2.0-ongoing@6729 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor.h | 4 ++-- gtk2_ardour/editor_audio_import.cc | 36 +++++++++++++++++------------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 626fd9787..7ecab1028 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1179,9 +1179,9 @@ class Editor : public PublicEditor void do_embed (vector paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&); int import_sndfiles (vector paths, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t& pos, - int target_regions, int target_tracks, boost::shared_ptr, bool, uint32_t total); + int target_regions, int target_tracks, boost::shared_ptr&, bool, uint32_t total); int embed_sndfiles (vector paths, bool multiple_files, bool& check_sample_rate, Editing::ImportMode mode, - nframes64_t& pos, int target_regions, int target_tracks, boost::shared_ptr); + nframes64_t& pos, int target_regions, int target_tracks, boost::shared_ptr&); int add_sources (vector paths, ARDOUR::SourceList& sources, nframes64_t& pos, Editing::ImportMode, int target_regions, int target_tracks, boost::shared_ptr&, bool add_channel_suffix); diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 73f5af267..3f9192828 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -430,10 +430,10 @@ Editor::do_embed (vector 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 paths, ImportDisposition chns, ImportMode mode int Editor::import_sndfiles (vector paths, ImportMode mode, SrcQuality quality, nframes64_t& pos, - int target_regions, int target_tracks, boost::shared_ptr track, bool replace, + int target_regions, int target_tracks, boost::shared_ptr& 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 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 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 paths, ImportMode mode, SrcQuality qual int Editor::embed_sndfiles (vector paths, bool multifile, bool& check_sample_rate, ImportMode mode, nframes64_t& pos, int target_regions, int target_tracks, - boost::shared_ptr track) + boost::shared_ptr& track) { boost::shared_ptr source; SourceList sources; @@ -667,7 +666,6 @@ Editor::embed_sndfiles (vector 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 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 paths, SourceList& sources, nframes64 int n = 0; - for (vector >::iterator r = regions.begin(); r != regions.end(); ++r, ++n) { - - finish_bringing_in_audio (*r, input_chan, output_chan, pos, mode, track); + for (vector >::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(); } -- 2.11.4.GIT