Fix confusion about the 'done' variable in InterThreadInfo during import. 'done...
authorCarl Hetherington <carl@carlh.net>
Wed, 29 Sep 2010 22:59:39 +0000 (22:59 +0000)
committerCarl Hetherington <carl@carlh.net>
Wed, 29 Sep 2010 22:59:39 +0000 (22:59 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7862 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_audio_import.cc
gtk2_ardour/interthread_progress_window.cc
libs/ardour/ardour/import_status.h

index 5a250a09b8546178e88c941135ba1758c820169e..fbf884c1623c5f37801935f305b86ac35847eef4 100644 (file)
@@ -335,6 +335,7 @@ Editor::do_import (vector<string> 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<string> paths, ImportDisposition chns, ImportMode mode
                         }
                 }
        }
+
+       import_status.all_done = true;
 }
 
 void
@@ -499,7 +502,6 @@ Editor::import_sndfiles (vector<string> 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<string> 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<Source> s (ar->sources().front());
index 7de3fd2b4d3217c430907444b23ba0f54bd9a4e1..6cd1d8686a9eaeec120948eae579aedbed5a58e0 100644 (file)
@@ -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);
 }
index d06a464716135494c2f0a08d1a9f4a81749711a4..9beb70f2f037a9c717bdb63e1329b0747b7f3d69 100644 (file)
@@ -40,6 +40,11 @@ struct ImportStatus : public InterThreadInfo {
        std::vector<std::string>   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;
 };