diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/wps.c | 11 | ||||
-rw-r--r-- | apps/lang/english.lang | 25 | ||||
-rw-r--r-- | apps/menus/playback_menu.c | 5 | ||||
-rw-r--r-- | apps/misc.c | 13 | ||||
-rw-r--r-- | apps/settings.h | 2 | ||||
-rw-r--r-- | apps/settings_list.c | 6 |
6 files changed, 36 insertions, 26 deletions
diff --git a/apps/gui/wps.c b/apps/gui/wps.c index 5404d70638..0103ace53c 100644 --- a/apps/gui/wps.c +++ b/apps/gui/wps.c | |||
@@ -125,6 +125,17 @@ void pause_action(bool may_fade, bool updatewps) | |||
125 | fade(false, updatewps); | 125 | fade(false, updatewps); |
126 | else | 126 | else |
127 | audio_pause(); | 127 | audio_pause(); |
128 | |||
129 | if (global_settings.pause_rewind) { | ||
130 | long newpos; | ||
131 | |||
132 | #if (CONFIG_CODEC == SWCODEC) | ||
133 | audio_pre_ff_rewind(); | ||
134 | #endif | ||
135 | newpos = audio_current_track()->elapsed | ||
136 | - global_settings.pause_rewind * 1000; | ||
137 | audio_ff_rewind(newpos > 0 ? newpos : 0); | ||
138 | } | ||
128 | } | 139 | } |
129 | 140 | ||
130 | void unpause_action(bool may_fade, bool updatewps) | 141 | void unpause_action(bool may_fade, bool updatewps) |
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 26a2274680..71dee79ee3 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -2069,19 +2069,16 @@ | |||
2069 | </phrase> | 2069 | </phrase> |
2070 | <phrase> | 2070 | <phrase> |
2071 | id: LANG_HEADPHONE_UNPLUG_RW | 2071 | id: LANG_HEADPHONE_UNPLUG_RW |
2072 | desc: in pause_phones_menu. | 2072 | desc: deprecated |
2073 | user: core | 2073 | user: core |
2074 | <source> | 2074 | <source> |
2075 | *: none | 2075 | *: "" |
2076 | headphone_detection: "Duration to Rewind" | ||
2077 | </source> | 2076 | </source> |
2078 | <dest> | 2077 | <dest> |
2079 | *: none | 2078 | *: "" |
2080 | headphone_detection: "Duration to Rewind" | ||
2081 | </dest> | 2079 | </dest> |
2082 | <voice> | 2080 | <voice> |
2083 | *: none | 2081 | *: "" |
2084 | headphone_detection: "Duration to Rewind" | ||
2085 | </voice> | 2082 | </voice> |
2086 | </phrase> | 2083 | </phrase> |
2087 | <phrase> | 2084 | <phrase> |
@@ -12744,3 +12741,17 @@ | |||
12744 | *: "In custom directories only" | 12741 | *: "In custom directories only" |
12745 | </voice> | 12742 | </voice> |
12746 | </phrase> | 12743 | </phrase> |
12744 | <phrase> | ||
12745 | id: LANG_PAUSE_REWIND | ||
12746 | desc: Seconds to rewind when rewind on pause is enabled. | ||
12747 | user: core | ||
12748 | <source> | ||
12749 | *: "Rewind on Pause" | ||
12750 | </source> | ||
12751 | <dest> | ||
12752 | *: "Rewind on Pause" | ||
12753 | </dest> | ||
12754 | <voice> | ||
12755 | *: "Rewind on Pause" | ||
12756 | </voice> | ||
12757 | </phrase> | ||
diff --git a/apps/menus/playback_menu.c b/apps/menus/playback_menu.c index 4153c1c776..1b1a13a6a5 100644 --- a/apps/menus/playback_menu.c +++ b/apps/menus/playback_menu.c | |||
@@ -173,10 +173,9 @@ MENUITEM_SETTING(cuesheet, &global_settings.cuesheet, cuesheet_callback); | |||
173 | 173 | ||
174 | #ifdef HAVE_HEADPHONE_DETECTION | 174 | #ifdef HAVE_HEADPHONE_DETECTION |
175 | MENUITEM_SETTING(unplug_mode, &global_settings.unplug_mode, NULL); | 175 | MENUITEM_SETTING(unplug_mode, &global_settings.unplug_mode, NULL); |
176 | MENUITEM_SETTING(unplug_rw, &global_settings.unplug_rw, NULL); | ||
177 | MENUITEM_SETTING(unplug_autoresume, &global_settings.unplug_autoresume, NULL); | 176 | MENUITEM_SETTING(unplug_autoresume, &global_settings.unplug_autoresume, NULL); |
178 | MAKE_MENU(unplug_menu, ID2P(LANG_HEADPHONE_UNPLUG), 0, Icon_NOICON, | 177 | MAKE_MENU(unplug_menu, ID2P(LANG_HEADPHONE_UNPLUG), 0, Icon_NOICON, |
179 | &unplug_mode, &unplug_rw, &unplug_autoresume); | 178 | &unplug_mode, &unplug_autoresume); |
180 | #endif | 179 | #endif |
181 | 180 | ||
182 | MENUITEM_SETTING(skip_length, &global_settings.skip_length, NULL); | 181 | MENUITEM_SETTING(skip_length, &global_settings.skip_length, NULL); |
@@ -184,6 +183,7 @@ MENUITEM_SETTING(prevent_skip, &global_settings.prevent_skip, NULL); | |||
184 | #if CONFIG_CODEC == SWCODEC | 183 | #if CONFIG_CODEC == SWCODEC |
185 | MENUITEM_SETTING(resume_rewind, &global_settings.resume_rewind, NULL); | 184 | MENUITEM_SETTING(resume_rewind, &global_settings.resume_rewind, NULL); |
186 | #endif | 185 | #endif |
186 | MENUITEM_SETTING(pause_rewind, &global_settings.pause_rewind, NULL); | ||
187 | 187 | ||
188 | MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0, | 188 | MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0, |
189 | Icon_Playback_menu, | 189 | Icon_Playback_menu, |
@@ -214,6 +214,7 @@ MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0, | |||
214 | #if CONFIG_CODEC == SWCODEC | 214 | #if CONFIG_CODEC == SWCODEC |
215 | &resume_rewind, | 215 | &resume_rewind, |
216 | #endif | 216 | #endif |
217 | &pause_rewind, | ||
217 | ); | 218 | ); |
218 | 219 | ||
219 | static int playback_callback(int action,const struct menu_item_ex *this_item) | 220 | static int playback_callback(int action,const struct menu_item_ex *this_item) |
diff --git a/apps/misc.c b/apps/misc.c index d72d7a4da0..b027215ccc 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -504,19 +504,6 @@ static void unplug_change(bool inserted) | |||
504 | { | 504 | { |
505 | headphone_caused_pause = true; | 505 | headphone_caused_pause = true; |
506 | pause_action(false, false); | 506 | pause_action(false, false); |
507 | |||
508 | if (global_settings.unplug_rw) | ||
509 | { | ||
510 | #if (CONFIG_CODEC == SWCODEC) | ||
511 | audio_pre_ff_rewind(); | ||
512 | #endif | ||
513 | if (audio_current_track()->elapsed > | ||
514 | (unsigned long)(global_settings.unplug_rw*1000)) | ||
515 | audio_ff_rewind(audio_current_track()->elapsed - | ||
516 | (global_settings.unplug_rw*1000)); | ||
517 | else | ||
518 | audio_ff_rewind(0); | ||
519 | } | ||
520 | } | 507 | } |
521 | } | 508 | } |
522 | } | 509 | } |
diff --git a/apps/settings.h b/apps/settings.h index 3f49cfcb2c..bed88c82ea 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -483,9 +483,9 @@ struct user_settings | |||
483 | int touchpad_sensitivity; | 483 | int touchpad_sensitivity; |
484 | #endif | 484 | #endif |
485 | 485 | ||
486 | int pause_rewind; /* time in s to rewind when pausing */ | ||
486 | #ifdef HAVE_HEADPHONE_DETECTION | 487 | #ifdef HAVE_HEADPHONE_DETECTION |
487 | int unplug_mode; /* pause on headphone unplug */ | 488 | int unplug_mode; /* pause on headphone unplug */ |
488 | int unplug_rw; /* time in s to rewind when pausing */ | ||
489 | bool unplug_autoresume; /* disable auto-resume if no phones */ | 489 | bool unplug_autoresume; /* disable auto-resume if no phones */ |
490 | #endif | 490 | #endif |
491 | 491 | ||
diff --git a/apps/settings_list.c b/apps/settings_list.c index 5b9a84036f..f282b8afc0 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -1537,13 +1537,13 @@ const struct settings_list settings[] = { | |||
1537 | "pause on headphone unplug", "off,pause,pause and resume", | 1537 | "pause on headphone unplug", "off,pause,pause and resume", |
1538 | NULL, 3, ID2P(LANG_OFF), ID2P(LANG_PAUSE), | 1538 | NULL, 3, ID2P(LANG_OFF), ID2P(LANG_PAUSE), |
1539 | ID2P(LANG_HEADPHONE_UNPLUG_RESUME)), | 1539 | ID2P(LANG_HEADPHONE_UNPLUG_RESUME)), |
1540 | INT_SETTING(0, unplug_rw, LANG_HEADPHONE_UNPLUG_RW, 0, | ||
1541 | "rewind duration on pause", UNIT_SEC, 0, 15, 1, NULL, NULL, | ||
1542 | NULL), | ||
1543 | OFFON_SETTING(0, unplug_autoresume, | 1540 | OFFON_SETTING(0, unplug_autoresume, |
1544 | LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME, false, | 1541 | LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME, false, |
1545 | "disable autoresume if phones not present",NULL), | 1542 | "disable autoresume if phones not present",NULL), |
1546 | #endif | 1543 | #endif |
1544 | INT_SETTING(0, pause_rewind, LANG_PAUSE_REWIND, 0, | ||
1545 | "rewind duration on pause", UNIT_SEC, 0, 15, 1, NULL, NULL, | ||
1546 | NULL), | ||
1547 | #if CONFIG_TUNER | 1547 | #if CONFIG_TUNER |
1548 | CHOICE_SETTING(0, fm_region, LANG_FM_REGION, 0, | 1548 | CHOICE_SETTING(0, fm_region, LANG_FM_REGION, 0, |
1549 | "fm_region", "eu,us,jp,kr,it,wo", set_radio_region, 6, | 1549 | "fm_region", "eu,us,jp,kr,it,wo", set_radio_region, 6, |