From 0ecdb37e99238fbbce350d24cb6eb1352e7c2bba Mon Sep 17 00:00:00 2001 From: Peter D'Hoye Date: Wed, 6 Feb 2008 21:53:07 +0000 Subject: [PATCH] Fix FS #8514 (remote peakmeter issue) by separating the peak release times for the screens. Thanks to amiconn for pointing in the right direction. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16234 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/peakmeter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/recorder/peakmeter.c b/apps/recorder/peakmeter.c index fe97bd83d2..b5f38e758b 100644 --- a/apps/recorder/peakmeter.c +++ b/apps/recorder/peakmeter.c @@ -939,7 +939,12 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales, int left = 0, right = 0; int meterwidth = width - 3; int i, delta; +#if defined(HAVE_REMOTE_LCD) && !defined (ROCKBOX_HAS_LOGF) + static long peak_release_tick[2] = {0,0}; + int screen_nr = display->screen_type == SCREEN_MAIN ? 0 : 1; +#else static long peak_release_tick = 0; +#endif #ifdef PM_DEBUG static long pm_tick = 0; @@ -994,8 +999,13 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales, } /* apply release */ +#if defined(HAVE_REMOTE_LCD) && !defined (ROCKBOX_HAS_LOGF) + delta = current_tick - peak_release_tick[screen_nr]; + peak_release_tick[screen_nr] = current_tick; +#else delta = current_tick - peak_release_tick; peak_release_tick = current_tick; +#endif left = MAX(left , scales->last_left - delta * pm_peak_release); right = MAX(right, scales->last_right - delta * pm_peak_release);