1
0
Fork 0
forked from len0rd/rockbox

Add a option to skip length which lets you skip 5s before the end of a song, which can be useful on gapless albums.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23229 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2009-10-17 16:05:23 +00:00
parent 88b1efd925
commit a7c888c48e
3 changed files with 40 additions and 10 deletions

View file

@ -71,7 +71,7 @@
#define RESTORE_WPS_INSTANTLY 0l
#define RESTORE_WPS_NEXT_SECOND ((long)(HZ+current_tick))
/* in milliseconds */
#define DEFAULT_SKIP_TRESH 3000ul
#define DEFAULT_SKIP_TRESH 3000l
#define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */
@ -494,11 +494,26 @@ static void next_track(void)
static void play_hop(int direction)
{
unsigned long step = ((unsigned long)global_settings.skip_length)*1000;
unsigned long elapsed = wps_state.id3->elapsed;
unsigned long remaining = wps_state.id3->length - elapsed;
long step = global_settings.skip_length*1000;
long elapsed = wps_state.id3->elapsed;
long remaining = wps_state.id3->length - elapsed;
if (!global_settings.prevent_skip &&
if (step < 0)
{
if (direction < 0)
{
prev_track(DEFAULT_SKIP_TRESH);
return;
}
else if (remaining < DEFAULT_SKIP_TRESH*2)
{
next_track();
return;
}
else
elapsed += (remaining - DEFAULT_SKIP_TRESH*2);
}
else if (!global_settings.prevent_skip &&
(!step ||
(direction > 0 && step >= remaining) ||
(direction < 0 && elapsed < DEFAULT_SKIP_TRESH)))
@ -509,8 +524,7 @@ static void play_hop(int direction)
prev_track(DEFAULT_SKIP_TRESH);
return;
}
if (direction == 1 && step >= remaining)
else if (direction == 1 && step >= remaining)
{
#if CONFIG_CODEC == SWCODEC
if(global_settings.beep)