1
0
Fork 0
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:
Linus Nielsen Feltzing 2002-07-24 16:39:11 +00:00
parent 9d4c0e398e
commit ae9c3f5dc8

View file

@ -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);