diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2007-08-20 06:36:24 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2007-08-20 06:36:24 +0000 |
| commit | 99ff02d2cb9adb207e94d67fcddee7aaedde2435 (patch) | |
| tree | ef22247bcfb57f018225603be4362717165ca45d /apps | |
| parent | c023cb8783ba3f9d1ea7da3f09c281aedbc9de4a (diff) | |
| download | rockbox-99ff02d2cb9adb207e94d67fcddee7aaedde2435.zip rockbox-99ff02d2cb9adb207e94d67fcddee7aaedde2435.tar.gz rockbox-99ff02d2cb9adb207e94d67fcddee7aaedde2435.tar.bz2 rockbox-99ff02d2cb9adb207e94d67fcddee7aaedde2435.tar.xz | |
Make peak release work per tick as intended. But that's too fast, so it's not the final solution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14397 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/recorder/peakmeter.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/apps/recorder/peakmeter.c b/apps/recorder/peakmeter.c index 097c98f..7d97bd3 100644 --- a/apps/recorder/peakmeter.c +++ b/apps/recorder/peakmeter.c @@ -879,7 +879,7 @@ void peak_meter_draw(struct screen *display, struct meter_scales *scales, static int left_level = 0, right_level = 0; int left = 0, right = 0; int meterwidth = width - 3; - int i; + int i, delta; static long peak_release_tick = 0; #ifdef PM_DEBUG @@ -935,17 +935,11 @@ void peak_meter_draw(struct screen *display, struct meter_scales *scales, } /* apply release */ - if(current_tick != peak_release_tick) - { - peak_release_tick = current_tick; - left = MAX(left , scales->last_left - pm_peak_release); - right = MAX(right, scales->last_right - pm_peak_release); - } - else - { - left = MAX(left , scales->last_left); - right = MAX(right, scales->last_right); - } + delta = current_tick - peak_release_tick; + peak_release_tick = current_tick; + left = MAX(left , scales->last_left - delta * pm_peak_release); + right = MAX(right, scales->last_right - delta * pm_peak_release); + /* reset max values after timeout */ if (TIME_AFTER(current_tick, scales->pm_peak_timeout_l)){ scales->pm_peak_left = 0; |