From e257ae9a74c608d308401f39fb113bff595df390 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 26 Apr 2017 10:04:06 +0100 Subject: [PATCH] Use orange for audio peaks that are quite near clipping and red for those that are very close (#1054). --- src/wx/audio_panel.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index cef82f9ff..707d9ab02 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -311,7 +311,7 @@ void AudioPanel::setup_peak () { ContentList sel = _parent->selected_audio (); - bool alert = false; + optional peak_dB; if (sel.size() != 1) { _peak->SetLabel (wxT ("")); @@ -320,11 +320,8 @@ AudioPanel::setup_peak () playlist->add (sel.front ()); try { shared_ptr analysis (new AudioAnalysis (_parent->film()->audio_analysis_path (playlist))); - float const peak_dB = 20 * log10 (analysis->overall_sample_peak().first.peak) + analysis->gain_correction (playlist); - if (peak_dB > -3) { - alert = true; - } - _peak->SetLabel (wxString::Format (_("Peak: %.2fdB"), peak_dB)); + peak_dB = 20 * log10 (analysis->overall_sample_peak().first.peak) + analysis->gain_correction (playlist); + _peak->SetLabel (wxString::Format (_("Peak: %.2fdB"), *peak_dB)); } catch (...) { _peak->SetLabel (_("Peak: unknown")); } @@ -332,8 +329,10 @@ AudioPanel::setup_peak () static wxColour normal = _peak->GetForegroundColour (); - if (alert) { + if (peak_dB && *peak_dB > -0.5) { _peak->SetForegroundColour (wxColour (255, 0, 0)); + } else if (peak_dB && *peak_dB > -3) { + _peak->SetForegroundColour (wxColour (186, 120, 0)); } else { _peak->SetForegroundColour (normal); } -- 2.30.2