Index: apps/lang/english.lang =================================================================== --- apps/lang/english.lang (revision 17986) +++ apps/lang/english.lang (working copy) @@ -1606,10 +1606,10 @@ desc: in settings_menu user: - *: "FF/RW Min Step" + *: "FF/RW Minimum Step" - *: "FF/RW Min Step" + *: "FF/RW Minimum Step" *: "Minimum Step" @@ -1620,10 +1620,10 @@ desc: in settings_menu user: - *: "FF/RW Accel" + *: "FF/RW Acceleration" - *: "FF/RW Accel" + *: "FF/RW Acceleration" *: "Acceleration" @@ -1651,10 +1651,10 @@ desc: options menu to set fade on stop or pause user: - *: "Fade on Stop/Pause" + *: "Fade On Stop/Pause" - *: "Fade on Stop/Pause" + *: "Fade On Stop/Pause" *: "Fade On Stop and Pause" @@ -1731,15 +1731,15 @@ user: *: none - swcodec: "Shuffle and Track Skip" + swcodec: "Shuffle And Track Skip" *: none - swcodec: "Shuffle and Track Skip" + swcodec: "Shuffle And Track Skip" *: none - swcodec: "Shuffle and Track Skip" + swcodec: "Shuffle And Track Skip" @@ -1936,13 +1936,13 @@ desc: use track gain if shuffle mode is on, album gain otherwise user: - *: "Track Gain if Shuffling" + *: "Track Gain If Shuffling" - *: "Track Gain if Shuffling" + *: "Track Gain If Shuffling" - *: "Track Gain if Shuffling" + *: "Track Gain If Shuffling" @@ -2147,15 +2147,15 @@ user: *: none - headphone_detection: "Pause on Headphone Unplug" + headphone_detection: "Pause On Headphone Unplug" *: none - headphone_detection: "Pause on Headphone Unplug" + headphone_detection: "Pause On Headphone Unplug" *: none - headphone_detection: "Pause on Headphone Unplug" + headphone_detection: "Pause On Headphone Unplug" @@ -2164,15 +2164,15 @@ user: *: none - headphone_detection: "Pause and Resume" + headphone_detection: "Pause And Resume" *: none - headphone_detection: "Pause and Resume" + headphone_detection: "Pause And Resume" *: none - headphone_detection: "Pause and Resume" + headphone_detection: "Pause And Resume" @@ -2181,15 +2181,15 @@ user: *: none - headphone_detection: "Duration to Rewind" + headphone_detection: "Duration To Rewind" *: none - headphone_detection: "Duration to Rewind" + headphone_detection: "Duration To Rewind" *: none - headphone_detection: "Duration to Rewind" + headphone_detection: "Duration To Rewind" @@ -2198,15 +2198,15 @@ user: *: none - headphone_detection: "Disable resume on startup if phones unplugged" + headphone_detection: "Disable Resume On Startup If Phones Unplugged" *: none - headphone_detection: "Disable resume on startup if phones unplugged" + headphone_detection: "Disable Resume On Startup If Phones Unplugged" *: none - headphone_detection: "Disable resume on startup if phones unplugged" + headphone_detection: "Disable Resume On Startup If Phones Unplugged" @@ -2248,7 +2248,7 @@ *: "Sort Directories" - *: "sort directories" + *: "Sort Directories" @@ -2262,7 +2262,7 @@ *: "Sort Files" - *: "sort files" + *: "Sort Files" @@ -11755,13 +11755,13 @@ desc: in settings_menu user: - *: "Very slow" + *: "Very Slow" - *: "Very slow" + *: "Very Slow" - *: "Very slow" + *: "Very Slow" @@ -11783,13 +11783,13 @@ desc: in settings_menu user: - *: "Very fast" + *: "Very Fast" - *: "Very fast" + *: "Very Fast" - *: "Very fast" + *: "Very Fast" @@ -11806,3 +11806,17 @@ *: "Fast" + + id: LANG_FFRW_LIMIT + desc: in settings_menu + user: + + *: "FF/RW Speed Limit" + + + *: "FF/RW Speed Limit" + + + *: "Speed Limit" + + Index: apps/gui/gwps-common.c =================================================================== --- apps/gui/gwps-common.c (revision 17986) +++ apps/gui/gwps-common.c (working copy) @@ -231,10 +231,9 @@ max_step = (wps_state.id3->elapsed + ff_rewind_count) * FF_REWIND_MAX_PERCENT / 100; } - max_step = MAX(max_step, MIN_FF_REWIND_STEP); - if (step > max_step) + if (step > max_step && global_settings.ff_rewind_limit) step = max_step; ff_rewind_count += step * direction; Index: apps/settings.h =================================================================== --- apps/settings.h (revision 17986) +++ apps/settings.h (working copy) @@ -448,6 +448,7 @@ bool play_selected; /* Plays selected file even in shuffle mode */ int ff_rewind_min_step; /* FF/Rewind minimum step size */ int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */ + bool ff_rewind_limit; /* FF/Rewind: whether to limit step at track ends */ #ifndef HAVE_FLASH_STORAGE int disk_spindown; /* time until disk spindown, in seconds (0=off) */ Index: apps/menus/playback_menu.c =================================================================== --- apps/menus/playback_menu.c (revision 17986) +++ apps/menus/playback_menu.c (working copy) @@ -64,10 +64,11 @@ MENUITEM_SETTING(repeat_mode, &global_settings.repeat_mode, playback_callback); MENUITEM_SETTING(play_selected, &global_settings.play_selected, NULL); +MENUITEM_SETTING(ff_rewind_limit, &global_settings.ff_rewind_limit, NULL); MENUITEM_SETTING(ff_rewind_accel, &global_settings.ff_rewind_accel, NULL); MENUITEM_SETTING(ff_rewind_min_step, &global_settings.ff_rewind_min_step, NULL); MAKE_MENU(ff_rewind_settings_menu, ID2P(LANG_WIND_MENU), 0, Icon_NOICON, - &ff_rewind_min_step, &ff_rewind_accel); + &ff_rewind_min_step, &ff_rewind_accel, &ff_rewind_limit); #ifndef HAVE_FLASH_STORAGE #if CONFIG_CODEC == SWCODEC static int buffermargin_callback(int action,const struct menu_item_ex *this_item) Index: apps/settings_list.c =================================================================== --- apps/settings_list.c (revision 17986) +++ apps/settings_list.c (working copy) @@ -674,6 +674,7 @@ "seek acceleration", "very fast,fast,normal,slow,very slow", NULL, 5, ID2P(LANG_VERY_FAST), ID2P(LANG_FAST), ID2P(LANG_NORMAL), ID2P(LANG_SLOW) , ID2P(LANG_VERY_SLOW)), + OFFON_SETTING(0,ff_rewind_limit,LANG_FFRW_LIMIT,true,"seek speed limit",NULL), #if (CONFIG_CODEC == SWCODEC) && !defined(HAVE_FLASH_STORAGE) STRINGCHOICE_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0,"antiskip", "5s,15s,30s,1min,2min,3min,5min,10min", NULL, 8,