diff options
Diffstat (limited to 'apps/gui/gwps.c')
-rw-r--r-- | apps/gui/gwps.c | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index cbce0f5973..9057d9ead9 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -219,15 +219,8 @@ long gui_wps_show(void) | |||
219 | #ifdef HAVE_LCD_CHARCELLS | 219 | #ifdef HAVE_LCD_CHARCELLS |
220 | status_set_audio(true); | 220 | status_set_audio(true); |
221 | status_set_param(false); | 221 | status_set_param(false); |
222 | #else | ||
223 | #if LCD_DEPTH > 1 | ||
224 | show_wps_backdrop(); | ||
225 | #endif /* LCD_DEPTH > 1 */ | ||
226 | #endif | 222 | #endif |
227 | 223 | ||
228 | #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 | ||
229 | show_remote_wps_backdrop(); | ||
230 | #endif | ||
231 | gwps_fix_statusbars(); | 224 | gwps_fix_statusbars(); |
232 | 225 | ||
233 | #ifdef AB_REPEAT_ENABLE | 226 | #ifdef AB_REPEAT_ENABLE |
@@ -239,18 +232,17 @@ long gui_wps_show(void) | |||
239 | wps_state.id3 = audio_current_track(); | 232 | wps_state.id3 = audio_current_track(); |
240 | wps_state.nid3 = audio_next_track(); | 233 | wps_state.nid3 = audio_next_track(); |
241 | if (wps_state.id3) { | 234 | if (wps_state.id3) { |
242 | if (gui_wps_display()) | 235 | FOR_NB_SCREENS(i) |
243 | { | 236 | { |
244 | gwps_leave_wps(); | 237 | if (!gui_wps_display(&gui_wps[i])) |
245 | return 0; | 238 | exit = true; |
246 | } | 239 | } |
247 | } | 240 | } |
248 | |||
249 | restore = true; | ||
250 | } | 241 | } |
251 | 242 | ||
252 | while ( 1 ) | 243 | while ( 1 ) |
253 | { | 244 | { |
245 | yield(); | ||
254 | bool audio_paused = (audio_status() & AUDIO_STATUS_PAUSE)?true:false; | 246 | bool audio_paused = (audio_status() & AUDIO_STATUS_PAUSE)?true:false; |
255 | 247 | ||
256 | /* did someone else (i.e power thread) change audio pause mode? */ | 248 | /* did someone else (i.e power thread) change audio pause mode? */ |
@@ -295,7 +287,7 @@ long gui_wps_show(void) | |||
295 | FOR_NB_SCREENS(i) | 287 | FOR_NB_SCREENS(i) |
296 | { | 288 | { |
297 | if(gui_wps[i].data->peak_meter_enabled) | 289 | if(gui_wps[i].data->peak_meter_enabled) |
298 | gui_wps_refresh(&gui_wps[i], 0, | 290 | gui_wps_redraw(&gui_wps[i], 0, |
299 | WPS_REFRESH_PEAK_METER); | 291 | WPS_REFRESH_PEAK_METER); |
300 | next_refresh += HZ / PEAK_METER_FPS; | 292 | next_refresh += HZ / PEAK_METER_FPS; |
301 | } | 293 | } |
@@ -392,7 +384,6 @@ long gui_wps_show(void) | |||
392 | } | 384 | } |
393 | break; | 385 | break; |
394 | 386 | ||
395 | /* volume up */ | ||
396 | case ACTION_WPS_VOLUP: | 387 | case ACTION_WPS_VOLUP: |
397 | { | 388 | { |
398 | FOR_NB_SCREENS(i) | 389 | FOR_NB_SCREENS(i) |
@@ -410,9 +401,7 @@ long gui_wps_show(void) | |||
410 | restoretimer = RESTORE_WPS_NEXT_SECOND; | 401 | restoretimer = RESTORE_WPS_NEXT_SECOND; |
411 | } | 402 | } |
412 | } | 403 | } |
413 | break; | 404 | break; |
414 | |||
415 | /* volume down */ | ||
416 | case ACTION_WPS_VOLDOWN: | 405 | case ACTION_WPS_VOLDOWN: |
417 | { | 406 | { |
418 | FOR_NB_SCREENS(i) | 407 | FOR_NB_SCREENS(i) |
@@ -683,7 +672,7 @@ long gui_wps_show(void) | |||
683 | { | 672 | { |
684 | FOR_NB_SCREENS(i) | 673 | FOR_NB_SCREENS(i) |
685 | { | 674 | { |
686 | if(update(&gui_wps[i])) | 675 | if(!gui_wps_update(&gui_wps[i])) |
687 | exit = true; | 676 | exit = true; |
688 | } | 677 | } |
689 | update_track = false; | 678 | update_track = false; |
@@ -702,8 +691,11 @@ long gui_wps_show(void) | |||
702 | #endif | 691 | #endif |
703 | restore = false; | 692 | restore = false; |
704 | restoretimer = RESTORE_WPS_INSTANTLY; | 693 | restoretimer = RESTORE_WPS_INSTANTLY; |
705 | if (gui_wps_display()) { | 694 | FOR_NB_SCREENS(i) |
706 | exit = true; | 695 | { |
696 | screens[i].stop_scroll(); | ||
697 | if (!gui_wps_redraw(&gui_wps[i], 0, WPS_REFRESH_ALL)) | ||
698 | exit = true; | ||
707 | } | 699 | } |
708 | } | 700 | } |
709 | 701 | ||