From 74c69114bc99fceff7e59c51d5bbd7b18949e8dd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 29 Sep 2010 22:59:39 +0000 Subject: [PATCH] Fix confusion about the 'done' variable in InterThreadInfo during import. 'done' now means that a given run of the import thread has completed; 'all_done' means that the whole import operation has completed. Fixes #3396. git-svn-id: svn://localhost/ardour2/branches/3.0@7862 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_audio_import.cc | 6 +++--- gtk2_ardour/interthread_progress_window.cc | 4 ++-- libs/ardour/ardour/import_status.h | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 5a250a09b8..fbf884c162 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -335,6 +335,7 @@ Editor::do_import (vector paths, ImportDisposition chns, ImportMode mode current_interthread_info = &import_status; import_status.current = 1; import_status.total = paths.size (); + import_status.all_done = false; ImportProgressWindow ipw (&import_status, _("Import"), _("Cancel Import")); @@ -423,6 +424,8 @@ Editor::do_import (vector paths, ImportDisposition chns, ImportMode mode } } } + + import_status.all_done = true; } void @@ -499,7 +502,6 @@ Editor::import_sndfiles (vector paths, ImportMode mode, SrcQuality quali import_status.done = false; import_status.cancel = false; import_status.freeze = false; - import_status.done = 0.0; import_status.quality = quality; import_status.replace_existing_source = replace; @@ -816,8 +818,6 @@ Editor::add_sources (vector paths, SourceList& sources, framepos_t& pos, if (use_timestamp && ar) { - cerr << "Using timestamp to place region " << (*r)->name() << endl; - /* get timestamp for this region */ const boost::shared_ptr s (ar->sources().front()); diff --git a/gtk2_ardour/interthread_progress_window.cc b/gtk2_ardour/interthread_progress_window.cc index 7de3fd2b4d..6cd1d8686a 100644 --- a/gtk2_ardour/interthread_progress_window.cc +++ b/gtk2_ardour/interthread_progress_window.cc @@ -100,6 +100,6 @@ ImportProgressWindow::update () } _bar.set_text (string_compose (_("Importing file: %1 of %2"), c, _import_status->total)); - - return !(_import_status->done || _import_status->cancel); + + return !(_import_status->all_done || _import_status->cancel); } diff --git a/libs/ardour/ardour/import_status.h b/libs/ardour/ardour/import_status.h index d06a464716..9beb70f2f0 100644 --- a/libs/ardour/ardour/import_status.h +++ b/libs/ardour/ardour/import_status.h @@ -40,6 +40,11 @@ struct ImportStatus : public InterThreadInfo { std::vector paths; bool replace_existing_source; + /** set to true when all files have been imported, as distinct from the done in ARDOUR::InterThreadInfo, + * which indicates that one run of the import thread has been completed. + */ + bool all_done; + /* result */ SourceList sources; };