|
Rockbox mail archiveSubject: [PATCH] Player WPS fixes[PATCH] Player WPS fixes
From: Magnus Holmgren <lear_at_algonet.se>
Date: Fri, 16 Aug 2002 00:08:56 +0200 Hi, The attached patch fixes the broken menu+left/right for volume change on players. Releasing left/right while holding menu down would cause a button event resulting in mpeg_next/mpeg_prev... Also makes the related code a bit clearer (based on zuggestions from Zagor) and adds status_draw() when the volume changes (player only; but wasn't that added earlier?). Note: only tested on a player. Hope I didn't break recorder compiles... :) -- Magnus Holmgren Index: apps/wps.c =================================================================== RCS file: /cvsroot/rockbox/apps/wps.c,v retrieving revision 1.70 diff -u -r1.70 wps.c --- apps/wps.c 15 Aug 2002 16:55:46 -0000 1.70 +++ apps/wps.c 15 Aug 2002 21:56:45 -0000 _at__at_ -569,52 +711,73 _at__at_ break; case BUTTON_LEFT | BUTTON_REL: - if (ff_rewind) + if (!keys_locked) { - /* rewind */ - mpeg_ff_rewind(ff_rewind_count); - ff_rewind_count = 0; - ff_rewind = false; - status_set_playmode(STATUS_PLAY); + if (ff_rewind) + { + /* rewind */ + mpeg_ff_rewind(ff_rewind_count); + ff_rewind_count = 0; + ff_rewind = false; + status_set_playmode(STATUS_PLAY); #ifdef HAVE_LCD_CHARCELLS - draw_screen(id3); + draw_screen(id3); #endif + } +#ifdef HAVE_PLAYER_KEYPAD + else if(!menu_button_is_down) +#else + else +#endif + { + mpeg_prev(); + status_set_playmode(STATUS_PLAY); + } } +#ifdef HAVE_PLAYER_KEYPAD + else if(!menu_button_is_down) +#else else +#endif { - if (keys_locked) - { - display_keylock_text(keys_locked); - draw_screen(id3); - break; - } - mpeg_prev(); - status_set_playmode(STATUS_PLAY); + display_keylock_text(keys_locked); + draw_screen(id3); } break; case BUTTON_RIGHT | BUTTON_REL: - if (ff_rewind) + if (!keys_locked) { - /* fast forward */ - mpeg_ff_rewind(ff_rewind_count); - ff_rewind_count = 0; - ff_rewind = false; - status_set_playmode(STATUS_PLAY); + if (ff_rewind) + { + /* fast forward */ + mpeg_ff_rewind(ff_rewind_count); + ff_rewind_count = 0; + ff_rewind = false; + status_set_playmode(STATUS_PLAY); #ifdef HAVE_LCD_CHARCELLS - draw_screen(id3); + draw_screen(id3); +#endif + } +#ifdef HAVE_PLAYER_KEYPAD + else if(!menu_button_is_down) +#else + else #endif + { + mpeg_next(); + status_set_playmode(STATUS_PLAY); + } } +#ifdef HAVE_PLAYER_KEYPAD + else if(!menu_button_is_down) +#else else +#endif { - if (keys_locked) - { - display_keylock_text(keys_locked); - draw_screen(id3); - break; - } - mpeg_next(); - status_set_playmode(STATUS_PLAY); + display_keylock_text(keys_locked); + draw_screen(id3); + break; } break; _at__at_ -626,6 +789,7 _at__at_ if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME)) global_settings.volume = mpeg_sound_min(SOUND_VOLUME); mpeg_sound_set(SOUND_VOLUME, global_settings.volume); + status_draw(); settings_save(); break; _at__at_ -636,6 +800,7 _at__at_ if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME)) global_settings.volume = mpeg_sound_max(SOUND_VOLUME); mpeg_sound_set(SOUND_VOLUME, global_settings.volume); + status_draw(); settings_save(); break; Received on 2002-08-16 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |