diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-02-10 02:05:14 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-02-10 02:05:14 +0000 |
| commit | 9d4906db6e143248cf1e814d539aa2c7a50721dc (patch) | |
| tree | f64ba1c5c73d8e15ad94f71897805b68d96a6c1b /src/wx | |
| parent | 11a6decd652158b2288de17dc1aeafcd860fdfef (diff) | |
Fix odd behaviour when analysing single bits of audio which start at non-zero positions (#1203).
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/audio_dialog.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc index 73ddd4c01..a08d29ad8 100644 --- a/src/wx/audio_dialog.cc +++ b/src/wx/audio_dialog.cc @@ -169,11 +169,15 @@ AudioDialog::try_to_load_analysis () shared_ptr<const Film> film = _film.lock (); DCPOMATIC_ASSERT (film); + shared_ptr<Content> check = _content.lock(); + boost::filesystem::path const path = film->audio_analysis_path (_playlist); if (!boost::filesystem::exists (path)) { _plot->set_analysis (shared_ptr<AudioAnalysis> ()); _analysis.reset (); - JobManager::instance()->analyse_audio (film, _playlist, _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this)); + JobManager::instance()->analyse_audio ( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + ); return; } @@ -181,11 +185,15 @@ AudioDialog::try_to_load_analysis () _analysis.reset (new AudioAnalysis (path)); } catch (OldFormatError& e) { /* An old analysis file: recreate it */ - JobManager::instance()->analyse_audio (film, _playlist, _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this)); + JobManager::instance()->analyse_audio ( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + ); return; } catch (xmlpp::exception& e) { /* Probably a (very) old-style analysis file: recreate it */ - JobManager::instance()->analyse_audio (film, _playlist, _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this)); + JobManager::instance()->analyse_audio ( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + ); return; } |
