forked from len0rd/rockbox
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
This commit is contained in:
parent
c023cb8783
commit
99ff02d2cb
1 changed files with 6 additions and 12 deletions
|
@ -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)
|
||||
{
|
||||
delta = 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);
|
||||
}
|
||||
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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue