summaryrefslogtreecommitdiff
path: root/apps/recorder
diff options
context:
space:
mode:
Diffstat (limited to 'apps/recorder')
-rw-r--r--apps/recorder/peakmeter.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/apps/recorder/peakmeter.c b/apps/recorder/peakmeter.c
index f06b19ab2d..097c98f29d 100644
--- a/apps/recorder/peakmeter.c
+++ b/apps/recorder/peakmeter.c
@@ -880,6 +880,7 @@ void peak_meter_draw(struct screen *display, struct meter_scales *scales,
880 int left = 0, right = 0; 880 int left = 0, right = 0;
881 int meterwidth = width - 3; 881 int meterwidth = width - 3;
882 int i; 882 int i;
883 static long peak_release_tick = 0;
883 884
884#ifdef PM_DEBUG 885#ifdef PM_DEBUG
885 static long pm_tick = 0; 886 static long pm_tick = 0;
@@ -934,9 +935,17 @@ void peak_meter_draw(struct screen *display, struct meter_scales *scales,
934 } 935 }
935 936
936 /* apply release */ 937 /* apply release */
937 left = MAX(left , scales->last_left - pm_peak_release); 938 if(current_tick != peak_release_tick)
938 right = MAX(right, scales->last_right - pm_peak_release); 939 {
939 940 peak_release_tick = current_tick;
941 left = MAX(left , scales->last_left - pm_peak_release);
942 right = MAX(right, scales->last_right - pm_peak_release);
943 }
944 else
945 {
946 left = MAX(left , scales->last_left);
947 right = MAX(right, scales->last_right);
948 }
940 /* reset max values after timeout */ 949 /* reset max values after timeout */
941 if (TIME_AFTER(current_tick, scales->pm_peak_timeout_l)){ 950 if (TIME_AFTER(current_tick, scales->pm_peak_timeout_l)){
942 scales->pm_peak_left = 0; 951 scales->pm_peak_left = 0;