diff options
| author | Stéphane Doyon <s.doyon@videotron.ca> | 2008-08-18 01:03:07 +0000 |
|---|---|---|
| committer | Stéphane Doyon <s.doyon@videotron.ca> | 2008-08-18 01:03:07 +0000 |
| commit | 58808b6216455d436128b29010e8ca361cfe4cd5 (patch) | |
| tree | 7b7a3d72449c15514d837ce8349b35711886735a | |
| parent | 50512d696dc03bbfa74fee13e2df2616666fa0c7 (diff) | |
| download | rockbox-58808b6216455d436128b29010e8ca361cfe4cd5.zip rockbox-58808b6216455d436128b29010e8ca361cfe4cd5.tar.gz rockbox-58808b6216455d436128b29010e8ca361cfe4cd5.tar.bz2 rockbox-58808b6216455d436128b29010e8ca361cfe4cd5.tar.xz | |
Skip length: restore the ability to skip by just a few seconds
(which was the point of that feature).
See r18041.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18310 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/gui/gwps-common.c | 2 | ||||
| -rw-r--r-- | apps/gui/gwps.c | 2 | ||||
| -rw-r--r-- | apps/settings_list.c | 18 |
3 files changed, 15 insertions, 7 deletions
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 26c5c5d..dba703c 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -164,7 +164,7 @@ void play_hop(int direction) if(!wps_state.id3 || !wps_state.id3->length || global_settings.skip_length == 0) return; -#define STEP ((unsigned)global_settings.skip_length*60*1000) +#define STEP ((unsigned)global_settings.skip_length*1000) if(direction == 1 && wps_state.id3->length - wps_state.id3->elapsed < STEP+1000) { #if CONFIG_CODEC == SWCODEC diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index ae0a230..5fd87ec 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c @@ -414,7 +414,7 @@ long gui_wps_show(void) else if (global_settings.skip_length > 0 && current_tick -last_right < HZ) { - prev_track(3+global_settings.skip_length*60); + prev_track(3+global_settings.skip_length); update_track = true; } else ffwd_rew(ACTION_WPS_SEEKBACK); diff --git a/apps/settings_list.c b/apps/settings_list.c index b6ad01e..bfa1901 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -260,18 +260,24 @@ static int32_t getlang_unit_0_is_off(int value, int unit) static void formatter_unit_0_is_skip_track(char *buffer, size_t buffer_size, int val, const char *unit) { + (void)unit; if (val == 0) strcpy(buffer, str(LANG_SKIP_TRACK)); + else if (val % 60 == 0) + snprintf(buffer, buffer_size, "%d min", val/60); else - snprintf(buffer, buffer_size, "%d %s", val, unit); + snprintf(buffer, buffer_size, "%d s", val); } static int32_t getlang_unit_0_is_skip_track(int value, int unit) { + (void)unit; if (value == 0) return LANG_SKIP_TRACK; + else if (value % 60 == 0) + return TALK_ID(value/60, UNIT_MIN); else - return TALK_ID(value, unit); + return TALK_ID(value, UNIT_SEC); } #ifdef HAVE_BACKLIGHT @@ -1252,9 +1258,11 @@ const struct settings_list settings[] = { OFFON_SETTING(0,cuesheet,LANG_CUESHEET_ENABLE,false,"cuesheet support", NULL), TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, skip_length, - LANG_SKIP_LENGTH, 0, "skip length", "track", - UNIT_MIN, formatter_unit_0_is_skip_track, - getlang_unit_0_is_skip_track, NULL, 8, 0,1,2,3,4,5,10,15), + LANG_SKIP_LENGTH, 0, "skip length", + "track,1s,2s,3s,5s,7s,10s,15s,20s,30s,45s,1min,90s,2min,3min,5min,10min,15min", + UNIT_SEC, formatter_unit_0_is_skip_track, + getlang_unit_0_is_skip_track, NULL, + 18, 0,1,2,3,5,7,10,15,20,30,45,60,90,120,180,300,600,900), CHOICE_SETTING(0, start_in_screen, LANG_START_SCREEN, 1, "start in screen", "previous,root,files,db,wps,menu," #ifdef HAVE_RECORDING |