d588620e70bf15da29cc242e4ae8d86977e8f36a from master; fix hang if you cancel a paused...
[dcpomatic.git] / src / wx / audio_dialog.cc
index 286e7f49dc817332b955e48ad9c674160d1bd1a0..fcae9c30f9f85835adb0b3833d785cb5ec0cd4f7 100644 (file)
@@ -124,8 +124,15 @@ AudioDialog::try_to_load_analysis ()
                _analysis_finished_connection = _content->analyse_audio (bind (&AudioDialog::analysis_finished, this));
                return;
        }
+
+       try {
+               _analysis.reset (new AudioAnalysis (_content->audio_analysis_path ()));
+       } catch (xmlpp::exception& e) {
+               /* Probably an old-style analysis file: recreate it */
+               _analysis_finished_connection = _content->analyse_audio (bind (&AudioDialog::analysis_finished, this));
+               return;
+        }
        
-       _analysis.reset (new AudioAnalysis (_content->audio_analysis_path ()));
        _plot->set_analysis (_analysis);
        setup_peak_time ();