Simplify finalization code in Session::import_audiofile
authorTim Mayberry <mojofunk@gmail.com>
Thu, 15 Nov 2007 02:32:11 +0000 (02:32 +0000)
committerTim Mayberry <mojofunk@gmail.com>
Thu, 15 Nov 2007 02:32:11 +0000 (02:32 +0000)
git-svn-id: svn://localhost/ardour2/trunk@2670 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/import.cc

index 14dea2aed560f71044999a632e3c856823177ada..82571e157cb8f373b5d6dd0ca95a90f91619c1ae 100644 (file)
@@ -162,7 +162,6 @@ Session::import_audiofile (import_status& status)
        string basepath;
        int ret = -1;
        vector<string> new_paths;
-       struct tm* now;
        uint32_t cnt = 1;
 
        status.sources.clear ();
@@ -238,27 +237,26 @@ Session::import_audiofile (import_status& status)
                }
        }
        
-       status.freeze = true;
-
-       time_t xnow;
-       time (&xnow);
-       now = localtime (&xnow);
+       if (!status.cancel) {
+               struct tm* now;
+               time_t xnow;
+               time (&xnow);
+               now = localtime (&xnow);
+               status.freeze = true;
 
-       /* flush the final length(s) to the header(s) */
+               /* flush the final length(s) to the header(s) */
 
-       for (SourceList::iterator x = status.sources.begin(); x != status.sources.end() && !status.cancel; ++x) {
-               boost::dynamic_pointer_cast<AudioFileSource>(*x)->update_header(0, *now, xnow);
-               boost::dynamic_pointer_cast<AudioSource>(*x)->done_with_peakfile_writes ();
-       }
+               for (SourceList::iterator x = status.sources.begin(); x != status.sources.end(); ++x) {
+                       boost::dynamic_pointer_cast<AudioFileSource>(*x)->update_header(0, *now, xnow);
+                       boost::dynamic_pointer_cast<AudioSource>(*x)->done_with_peakfile_writes ();
+               }
 
-       /* save state so that we don't lose these new Sources */
+               /* save state so that we don't lose these new Sources */
 
-       if (!status.cancel) {
                save_state (_name);
+               ret = 0;
        }
 
-       ret = 0;
-
   out:
 
        if (status.cancel) {