summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-04-26 10:04:06 +0100
committerCarl Hetherington <cth@carlh.net>2017-04-27 10:59:45 +0100
commite257ae9a74c608d308401f39fb113bff595df390 (patch)
tree14164462a454afbad7baa023d1a77fe144eb569d /src
parentba8a5a15cc27988e2bbc6acd470d8532f1d8e99f (diff)
Use orange for audio peaks that are quite near clipping and red for those that are very close (#1054).
Diffstat (limited to 'src')
-rw-r--r--src/wx/audio_panel.cc13
1 files 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<float> peak_dB;
if (sel.size() != 1) {
_peak->SetLabel (wxT (""));
@@ -320,11 +320,8 @@ AudioPanel::setup_peak ()
playlist->add (sel.front ());
try {
shared_ptr<AudioAnalysis> 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);
}