summaryrefslogtreecommitdiff
path: root/src/wx/audio_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-05-13 22:59:47 +0100
committerCarl Hetherington <cth@carlh.net>2015-05-13 22:59:47 +0100
commit1504f8460d6c438525489ee22eb9a4b437cb449e (patch)
tree1c8a51f00c069ea31d80e7f7ceb04be32414c632 /src/wx/audio_dialog.cc
parent2b4e119e64364534ec9241e2fc4971bb9c25365e (diff)
Port XML audio analysis code from master.
Diffstat (limited to 'src/wx/audio_dialog.cc')
-rw-r--r--src/wx/audio_dialog.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc
index 286e7f49d..fcae9c30f 100644
--- a/src/wx/audio_dialog.cc
+++ b/src/wx/audio_dialog.cc
@@ -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 ();