summaryrefslogtreecommitdiff
path: root/apps/gui/gwps.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/gwps.c')
-rw-r--r--apps/gui/gwps.c32
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