forked from len0rd/rockbox
Player volume is now on MENU+LEFT/RIGHT. Key lock on MENU+STOP on Player and F1+DOWN on Recorder. No visual indication of key lock on Recorder yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1435 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9d4c0e398e
commit
ae9c3f5dc8
1 changed files with 55 additions and 32 deletions
87
apps/wps.c
87
apps/wps.c
|
@ -127,9 +127,8 @@ int wps_show(void)
|
||||||
unsigned int lastlength=0, lastsize=0, lastrate=0;
|
unsigned int lastlength=0, lastsize=0, lastrate=0;
|
||||||
int lastartist=0, lastalbum=0, lasttitle=0;
|
int lastartist=0, lastalbum=0, lasttitle=0;
|
||||||
bool lastvbr = false;
|
bool lastvbr = false;
|
||||||
#ifdef HAVE_PLAYER_KEYPAD
|
bool keys_locked = false;
|
||||||
bool dont_quit = true;
|
bool dont_go_to_menu = false;
|
||||||
#endif
|
|
||||||
|
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
|
|
||||||
|
@ -195,20 +194,19 @@ int wps_show(void)
|
||||||
for ( i=0;i<5;i++ ) {
|
for ( i=0;i<5;i++ ) {
|
||||||
switch ( button_get(false) ) {
|
switch ( button_get(false) ) {
|
||||||
case BUTTON_ON:
|
case BUTTON_ON:
|
||||||
#ifdef HAVE_PLAYER_KEYPAD
|
if(keys_locked)
|
||||||
/* We don't want to quit just yet. Let's wait until
|
break;
|
||||||
the key is released. */
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
break;
|
lcd_icon(ICON_RECORD, false);
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
#endif
|
||||||
|
return 0;
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
case BUTTON_PLAY:
|
case BUTTON_PLAY:
|
||||||
#else
|
#else
|
||||||
case BUTTON_UP:
|
case BUTTON_UP:
|
||||||
#endif
|
#endif
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if ( playing )
|
if ( playing )
|
||||||
|
@ -227,7 +225,7 @@ int wps_show(void)
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
case BUTTON_UP:
|
case BUTTON_UP:
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
global_settings.volume++;
|
global_settings.volume++;
|
||||||
if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME))
|
if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME))
|
||||||
|
@ -236,7 +234,7 @@ int wps_show(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUTTON_DOWN:
|
case BUTTON_DOWN:
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
global_settings.volume--;
|
global_settings.volume--;
|
||||||
if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME))
|
if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME))
|
||||||
|
@ -246,60 +244,85 @@ int wps_show(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case BUTTON_LEFT:
|
case BUTTON_LEFT:
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
mpeg_prev();
|
mpeg_prev();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUTTON_RIGHT:
|
case BUTTON_RIGHT:
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
mpeg_next();
|
mpeg_next();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef HAVE_PLAYER_KEYPAD
|
#ifdef HAVE_PLAYER_KEYPAD
|
||||||
case BUTTON_LEFT | BUTTON_ON:
|
case BUTTON_MENU | BUTTON_LEFT:
|
||||||
dont_quit = true;
|
dont_go_to_menu = true;
|
||||||
global_settings.volume--;
|
global_settings.volume--;
|
||||||
if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME))
|
if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME))
|
||||||
global_settings.volume = mpeg_sound_min(SOUND_VOLUME);
|
global_settings.volume = mpeg_sound_min(SOUND_VOLUME);
|
||||||
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
|
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUTTON_RIGHT | BUTTON_ON:
|
case BUTTON_MENU | BUTTON_RIGHT:
|
||||||
dont_quit = true;
|
dont_go_to_menu = true;
|
||||||
global_settings.volume++;
|
global_settings.volume++;
|
||||||
if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME))
|
if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME))
|
||||||
global_settings.volume = mpeg_sound_max(SOUND_VOLUME);
|
global_settings.volume = mpeg_sound_max(SOUND_VOLUME);
|
||||||
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
|
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUTTON_ON | BUTTON_REL:
|
case BUTTON_MENU:
|
||||||
/* Quit if ON has been pressed without changing
|
lcd_icon(ICON_PARAM, true);
|
||||||
the volume */
|
|
||||||
if(!dont_quit)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
dont_quit = false;
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
|
case BUTTON_F1 | BUTTON_DOWN:
|
||||||
|
#else
|
||||||
|
case BUTTON_MENU | BUTTON_STOP:
|
||||||
|
#endif
|
||||||
|
keys_locked = !keys_locked;
|
||||||
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
|
lcd_icon(ICON_PARAM, false);
|
||||||
|
if(keys_locked)
|
||||||
|
lcd_icon(ICON_RECORD, true);
|
||||||
|
else
|
||||||
|
lcd_icon(ICON_RECORD, false);
|
||||||
|
#endif
|
||||||
|
dont_go_to_menu = true;
|
||||||
|
break;
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
case BUTTON_F1:
|
case BUTTON_F1 | BUTTON_REL:
|
||||||
#else
|
#else
|
||||||
case BUTTON_MENU:
|
case BUTTON_MENU | BUTTON_REL:
|
||||||
#endif
|
#endif
|
||||||
lcd_stop_scroll();
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
main_menu();
|
lcd_icon(ICON_PARAM, false);
|
||||||
draw_screen(id3);
|
#endif
|
||||||
|
if(!keys_locked && !dont_go_to_menu)
|
||||||
|
{
|
||||||
|
lcd_stop_scroll();
|
||||||
|
main_menu();
|
||||||
|
draw_screen(id3);
|
||||||
|
/* Prevent any stray BUTTON_REL events from going
|
||||||
|
back to the main menu until we get a new
|
||||||
|
BUTTON_MENU event */
|
||||||
|
dont_go_to_menu = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dont_go_to_menu = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
case BUTTON_OFF:
|
case BUTTON_OFF:
|
||||||
#else
|
#else
|
||||||
case BUTTON_DOWN:
|
case BUTTON_DOWN:
|
||||||
#endif
|
#endif
|
||||||
if (global_settings.hold)
|
if (keys_locked)
|
||||||
break;
|
break;
|
||||||
mpeg_stop();
|
mpeg_stop();
|
||||||
status_set_playmode(STATUS_STOP);
|
status_set_playmode(STATUS_STOP);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue