1
0
Fork 0
forked from len0rd/rockbox

Refactored. States are now handled in separate functions instead of using state variables.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2064 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2002-08-30 00:31:00 +00:00
parent a487ef2acd
commit 87a4ed5731

View file

@ -68,10 +68,11 @@
#endif
bool keys_locked = false;
bool device_muted = false;
static bool ff_rewind = false;
static bool paused = false;
int ff_rewind_count = 0;
static int ff_rewind_count = 0;
static struct mp3entry* id3 = NULL;
static int old_release_mask;
#ifdef CUSTOM_WPS
static char custom_wps[5][64];
@ -80,7 +81,7 @@ static int scroll_line;
static int scroll_line_custom;
#endif
static void draw_screen(struct mp3entry* id3)
static void draw_screen(void)
{
int font_height;
@ -327,9 +328,6 @@ bool refresh_wps(bool refresh_scroll)
#endif
#endif
struct mp3entry* id3 = NULL;
id3 = mpeg_current_track();
if(!id3)
{
lcd_stop_scroll();
@ -437,10 +435,8 @@ bool display_custom_wps(int x_val, int y_val, bool do_scroll, char *wps_string)
char cchr3;
unsigned int seek;
struct mp3entry* id3 = NULL;
char* szLast;
id3 = mpeg_current_track();
szLast = strrchr(id3->path, '/');
if(szLast)
/* point to the first letter in the file name */
@ -623,7 +619,6 @@ int player_id3_show(void)
int menu_max = 6;
bool menu_changed = true;
char scroll_text[MAX_PATH];
struct mp3entry* id3 = NULL;
lcd_stop_scroll();
lcd_clear_display();
@ -633,7 +628,6 @@ int player_id3_show(void)
while(1)
{
id3 = mpeg_current_track();
button = button_get(false);
switch(button)
@ -727,7 +721,6 @@ int player_id3_show(void)
lcd_puts_scroll(0, 1, scroll_text);
}
status_draw();
lcd_update();
yield();
}
@ -736,9 +729,10 @@ int player_id3_show(void)
}
#ifndef CUSTOM_WPS
static void display_file_time(unsigned int elapsed, unsigned int length)
static void display_file_time(void)
{
char buffer[32];
int elapsed = id3->elapsed + ff_rewind_count;
#ifdef HAVE_LCD_BITMAP
int line;
@ -750,11 +744,12 @@ static void display_file_time(unsigned int elapsed, unsigned int length)
"Time:%3d:%02d/%d:%02d",
elapsed / 60000,
elapsed % 60000 / 1000,
length / 60000,
length % 60000 / 1000 );
id3->length / 60000,
id3->length % 60000 / 1000 );
lcd_puts(0, line, buffer);
slidebar(0, LCD_HEIGHT-6, LCD_WIDTH, 6, elapsed*100/length, Grow_Right);
slidebar(0, LCD_HEIGHT-6, LCD_WIDTH, 6,
elapsed*100/id3->length, Grow_Right);
lcd_update();
#else
/* Display time with the filename scroll only because
@ -767,8 +762,8 @@ static void display_file_time(unsigned int elapsed, unsigned int length)
snprintf(buffer,sizeof(buffer), "%d:%02d/%d:%02d ",
elapsed / 60000,
elapsed % 60000 / 1000,
length / 60000,
length % 60000 / 1000 );
id3->length / 60000,
id3->length % 60000 / 1000 );
lcd_puts(0, 1, buffer);
lcd_update();
@ -813,7 +808,6 @@ void display_keylock_text(bool locked)
{
lcd_puts(2, 3, "Key lock is OFF");
}
status_draw();
lcd_update();
#endif
@ -839,167 +833,42 @@ void display_mute_text(bool muted)
{
lcd_puts(2, 3, "Mute is OFF");
}
status_draw();
lcd_update();
#endif
sleep(HZ);
}
/* demonstrates showing different formats from playtune */
int wps_show(void)
static void handle_usb(void)
{
struct mp3entry* id3 = NULL;
#ifdef HAVE_PLAYER_KEYPAD
int retval;
#ifndef SIMULATOR
#ifdef HAVE_LCD_BITMAP
bool laststate=statusbar(false);
#endif
bool dont_go_to_menu = false;
bool menu_button_is_down = false;
bool pending_keylock = true; /* Keylock will go ON next time */
bool pending_mute = true; /* Mute will go ON next time */
int old_release_mask;
int button;
/* Tell the USB thread that we are safe */
DEBUGF("wps got SYS_USB_CONNECTED\n");
usb_acknowledge(SYS_USB_CONNECTED_ACK);
/* Wait until the USB cable is extracted again */
usb_wait_for_disconnect(&button_queue);
#ifdef HAVE_LCD_BITMAP
statusbar(laststate);
#endif
#endif
}
static bool ffwd_rew(int button)
{
unsigned int ff_rewind_step = 0; /* current rewind step size */
unsigned int ff_rewind_max_step = 0; /* max rewind step size */
long ff_rewind_accel_tick = 0; /* next time to bump ff/rewind step size */
bool ignore_keyup = true;
bool restore = false;
old_release_mask = button_set_release(RELEASE_MASK);
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_AUDIO, true);
lcd_icon(ICON_PARAM, false);
#else
if(global_settings.statusbar)
lcd_setmargins(0, STATUSBAR_HEIGHT);
else
lcd_setmargins(0, 0);
#endif
ff_rewind = false;
#ifdef CUSTOM_WPS
load_custom_wps(); /* Load the Custom WPS file, if there is one */
#endif
if(mpeg_is_playing())
{
id3 = mpeg_current_track();
draw_screen(id3);
restore = true;
}
while ( 1 )
{
button = button_get_w_tmo(HZ/5);
/* discard first event if it's a button release */
if (button && ignore_keyup)
{
ignore_keyup = false;
if (button & BUTTON_REL && button != SYS_USB_CONNECTED)
continue;
}
if(mpeg_has_changed_track())
{
lcd_stop_scroll();
id3 = mpeg_current_track();
draw_screen(id3);
}
switch(button)
{
case BUTTON_ON:
if (keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_RECORD, false);
lcd_icon(ICON_AUDIO, false);
#endif
button_set_release(old_release_mask);
return 0;
case BUTTON_PLAY:
if (keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
if ( !paused )
{
mpeg_pause();
paused = true;
status_set_playmode(STATUS_PAUSE);
status_draw();
if (global_settings.resume) {
settings_save();
#ifndef HAVE_RTC
ata_flush();
#endif
}
}
else
{
mpeg_resume();
paused = false;
status_set_playmode(STATUS_PLAY);
status_draw();
}
break;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_UP:
case BUTTON_UP | BUTTON_REPEAT:
#endif
case BUTTON_VOL_UP:
if (keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
global_settings.volume++;
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;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT:
#endif
case BUTTON_VOL_DOWN:
if (keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
global_settings.volume--;
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;
bool exit = false;
bool usb = false;
while (!exit) {
switch ( button ) {
case BUTTON_LEFT | BUTTON_REPEAT:
if (!keys_locked)
{
if (ff_rewind)
{
ff_rewind_count -= ff_rewind_step;
@ -1023,7 +892,6 @@ int wps_show(void)
lcd_stop_scroll();
#endif
status_set_playmode(STATUS_FASTBACKWARD);
status_draw();
ff_rewind = true;
ff_rewind_max_step =
id3->length * FF_REWIND_MAX_PERCENT / 100;
@ -1044,15 +912,11 @@ int wps_show(void)
#ifdef CUSTOM_WPS
refresh_wps(false);
#else
display_file_time(id3->elapsed + ff_rewind_count,
id3->length);
display_file_time();
#endif
}
break;
case BUTTON_RIGHT | BUTTON_REPEAT:
if (!keys_locked)
{
if (ff_rewind)
{
ff_rewind_count += ff_rewind_step;
@ -1076,7 +940,6 @@ int wps_show(void)
lcd_stop_scroll();
#endif
status_set_playmode(STATUS_FASTFORWARD);
status_draw();
ff_rewind = true;
ff_rewind_max_step =
id3->length * FF_REWIND_MAX_PERCENT / 100;
@ -1097,22 +960,11 @@ int wps_show(void)
#ifdef CUSTOM_WPS
refresh_wps(false);
#else
display_file_time(id3->elapsed + ff_rewind_count,
id3->length);
display_file_time();
#endif
}
break;
case BUTTON_LEFT | BUTTON_REL:
if (menu_button_is_down && keys_locked)
{
sleep(HZ/6);
draw_screen(id3);
}
if (!keys_locked)
{
if (ff_rewind)
{
/* rewind */
mpeg_ff_rewind(ff_rewind_count);
ff_rewind_count = 0;
@ -1124,49 +976,12 @@ int wps_show(void)
status_set_playmode(STATUS_PLAY);
}
#ifdef HAVE_LCD_CHARCELLS
draw_screen(id3);
draw_screen();
#endif
}
#ifdef HAVE_PLAYER_KEYPAD
else if(!menu_button_is_down)
#else
else
#endif
{
if (!id3 || (id3->elapsed < 3*1000))
mpeg_prev();
else {
if (!paused)
mpeg_pause();
mpeg_ff_rewind(-(id3->elapsed));
if (!paused)
mpeg_resume();
}
}
}
#ifdef HAVE_PLAYER_KEYPAD
else if(!menu_button_is_down)
#else
else
#endif
{
display_keylock_text(keys_locked);
restore = true;
}
exit = true;
break;
case BUTTON_RIGHT | BUTTON_REL:
if (menu_button_is_down && keys_locked)
{
sleep(HZ/6);
draw_screen(id3);
}
if (!keys_locked)
{
if (ff_rewind)
{
/* fast forward */
mpeg_ff_rewind(ff_rewind_count);
ff_rewind_count = 0;
@ -1178,31 +993,168 @@ int wps_show(void)
status_set_playmode(STATUS_PLAY);
}
#ifdef HAVE_LCD_CHARCELLS
draw_screen(id3);
draw_screen();
#endif
}
#ifdef HAVE_PLAYER_KEYPAD
else if(!menu_button_is_down)
#else
else
#endif
{
mpeg_next();
}
}
#ifdef HAVE_PLAYER_KEYPAD
else if(!menu_button_is_down)
#else
else
#endif
{
display_keylock_text(keys_locked);
restore = true;
exit = true;
break;
case SYS_USB_CONNECTED:
handle_usb();
usb = true;
exit = true;
break;
}
if (!exit)
button = button_get(true);
}
return usb;
}
static void update(void)
{
if (mpeg_has_changed_track())
{
lcd_stop_scroll();
id3 = mpeg_current_track();
draw_screen();
}
if (id3) {
#ifdef CUSTOM_WPS
refresh_wps(false);
#else
display_file_time();
#endif
}
status_draw();
/* save resume data */
if ( id3 &&
global_settings.resume &&
global_settings.resume_offset != id3->offset ) {
DEBUGF("R%X,%X (%X)\n", global_settings.resume_offset,
id3->offset,id3);
global_settings.resume_index = id3->index;
global_settings.resume_offset = id3->offset;
settings_save();
}
}
static bool keylock(void)
{
bool exit = false;
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_RECORD, true);
#endif
display_keylock_text(true);
keys_locked = true;
draw_screen();
status_draw();
while (button_get(false)); /* clear button queue */
while (!exit) {
switch ( button_get_w_tmo(HZ/5) ) {
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_DOWN:
#else
case BUTTON_MENU | BUTTON_STOP:
#endif
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_RECORD, false);
#endif
display_keylock_text(false);
keys_locked = false;
exit = true;
while (button_get(false)); /* clear button queue */
break;
case SYS_USB_CONNECTED:
handle_usb();
return true;
case BUTTON_NONE:
update();
break;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1:
#else
case BUTTON_MENU:
#endif
/* ignore menu key, to avoid displaying "Keylock ON"
every time we unlock the keys */
break;
default:
display_keylock_text(true);
while (button_get(false)); /* clear button queue */
draw_screen();
break;
}
}
return false;
}
static bool menu(void)
{
static bool muted = false;
bool exit = false;
int last_button = 0;
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_PARAM, true);
#endif
while (!exit) {
int button = button_get(true);
switch ( button ) {
/* go into menu */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_REL:
#else
case BUTTON_MENU | BUTTON_REL:
#endif
exit = true;
if ( !last_button ) {
lcd_stop_scroll();
button_set_release(old_release_mask);
main_menu();
old_release_mask = button_set_release(RELEASE_MASK);
}
break;
/* mute */
#ifdef HAVE_PLAYER_KEYPAD
case BUTTON_PLAY:
#else
case BUTTON_UP:
#endif
if ( muted )
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
else
mpeg_sound_set(SOUND_VOLUME, 0);
muted = !muted;
display_mute_text(muted);
break;
/* key lock */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_DOWN:
#else
case BUTTON_MENU | BUTTON_STOP:
#endif
if (keylock())
return true;
exit = true;
break;
#ifdef HAVE_PLAYER_KEYPAD
/* change volume */
case BUTTON_MENU | BUTTON_LEFT:
case BUTTON_MENU | BUTTON_LEFT | BUTTON_REPEAT:
dont_go_to_menu = true;
@ -1211,11 +1163,12 @@ int wps_show(void)
global_settings.volume = mpeg_sound_min(SOUND_VOLUME);
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
display_volume_level(global_settings.volume);
draw_screen(id3);
draw_screen();
status_draw();
settings_save();
break;
/* change volume */
case BUTTON_MENU | BUTTON_RIGHT:
case BUTTON_MENU | BUTTON_RIGHT | BUTTON_REPEAT:
dont_go_to_menu = true;
@ -1224,11 +1177,12 @@ int wps_show(void)
global_settings.volume = mpeg_sound_max(SOUND_VOLUME);
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
display_volume_level(global_settings.volume);
draw_screen(id3);
draw_screen();
status_draw();
settings_save();
break;
/* show id3 tags */
case BUTTON_MENU | BUTTON_ON:
if (keys_locked)
{
@ -1237,139 +1191,184 @@ int wps_show(void)
break;
}
lcd_stop_scroll();
dont_go_to_menu = false;
menu_button_is_down = false;
lcd_icon(ICON_PARAM, true);
lcd_icon(ICON_AUDIO, true);
retval = player_id3_show();
if(retval == SYS_USB_CONNECTED)
return SYS_USB_CONNECTED;
if(player_id3_show() == SYS_USB_CONNECTED)
return true;
lcd_icon(ICON_PARAM, false);
lcd_icon(ICON_AUDIO, true);
draw_screen(id3);
draw_screen();
break;
#endif
case BUTTON_MENU:
lcd_icon(ICON_PARAM, true);
case SYS_USB_CONNECTED:
handle_usb();
return true;
}
last_button = button;
}
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_PARAM, false);
#endif
draw_screen();
return false;
}
/* demonstrates showing different formats from playtune */
int wps_show(void)
{
#ifdef HAVE_PLAYER_KEYPAD
int retval;
#endif
int button;
bool ignore_keyup = true;
bool restore = false;
id3 = NULL;
old_release_mask = button_set_release(RELEASE_MASK);
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_AUDIO, true);
lcd_icon(ICON_PARAM, false);
#else
if(global_settings.statusbar)
lcd_setmargins(0, STATUSBAR_HEIGHT);
else
lcd_setmargins(0, 0);
#endif
ff_rewind = false;
ff_rewind_count = 0;
#ifdef CUSTOM_WPS
load_custom_wps(); /* Load the Custom WPS file, if there is one */
#endif
if(mpeg_is_playing())
{
id3 = mpeg_current_track();
if (id3) {
draw_screen();
display_file_time();
}
restore = true;
}
while ( 1 )
{
button = button_get_w_tmo(HZ/5);
/* discard first event if it's a button release */
if (button && ignore_keyup)
{
ignore_keyup = false;
if (button & BUTTON_REL && button != SYS_USB_CONNECTED)
continue;
}
switch(button)
{
/* exit to dir browser */
case BUTTON_ON:
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_RECORD, false);
lcd_icon(ICON_AUDIO, false);
menu_button_is_down = true;
#endif
button_set_release(old_release_mask);
return 0;
/* play/pause */
case BUTTON_PLAY:
if ( paused )
{
mpeg_resume();
paused = false;
status_set_playmode(STATUS_PLAY);
}
else
{
mpeg_pause();
paused = true;
status_set_playmode(STATUS_PAUSE);
if (global_settings.resume) {
settings_save();
#ifndef HAVE_RTC
ata_flush();
#endif
}
}
break;
case BUTTON_PLAY | BUTTON_REL:
/* The PLAY key has been release while the MENU key
was held */
if(menu_button_is_down)
pending_mute = !pending_mute;
/* volume up */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_UP:
case BUTTON_UP | BUTTON_REPEAT:
#endif
case BUTTON_VOL_UP:
global_settings.volume++;
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;
case BUTTON_STOP | BUTTON_REL:
/* The STOP key has been release while the MENU key
was held */
if(menu_button_is_down)
pending_keylock = !pending_keylock;
/* volume down */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT:
#endif
case BUTTON_VOL_DOWN:
global_settings.volume--;
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;
/* fast forward / rewind */
case BUTTON_LEFT | BUTTON_REPEAT:
case BUTTON_RIGHT | BUTTON_REPEAT:
ffwd_rew(button);
break;
/* prev / restart */
case BUTTON_LEFT | BUTTON_REL:
if (!id3 || (id3->elapsed < 3*1000))
mpeg_prev();
else {
if (!paused)
mpeg_pause();
mpeg_ff_rewind(-(id3->elapsed));
if (!paused)
mpeg_resume();
}
break;
/* next */
case BUTTON_RIGHT | BUTTON_REL:
mpeg_next();
break;
/* menu key functions */
#ifdef HAVE_PLAYER_KEYPAD
case BUTTON_MENU:
#else
case BUTTON_F1:
menu_button_is_down = true;
break;
case BUTTON_UP | BUTTON_REL:
/* The UP key has been release while the F1 key
was held */
if(menu_button_is_down)
{
pending_mute = !pending_mute;
debugf("pending: %d\n", pending_mute);
}
break;
case BUTTON_DOWN | BUTTON_REL:
/* The DOWN key has been release while the F1 key
was held */
if(menu_button_is_down)
{
pending_keylock = !pending_keylock;
debugf("pending: %d\n", pending_keylock);
}
break;
#endif
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_UP:
#else
case BUTTON_MENU | BUTTON_PLAY:
#endif
if(keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
if(device_muted != pending_mute)
{
device_muted = pending_mute;
if(device_muted)
mpeg_sound_set(SOUND_VOLUME, 0);
else
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
display_mute_text(device_muted);
restore = true;
}
dont_go_to_menu = true;
break;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_DOWN:
#else
case BUTTON_MENU | BUTTON_STOP:
#endif
if(keys_locked != pending_keylock)
{
keys_locked = pending_keylock;
#ifdef HAVE_LCD_CHARCELLS
if(keys_locked)
lcd_icon(ICON_RECORD, true);
else
lcd_icon(ICON_RECORD, false);
#endif
display_keylock_text(keys_locked);
restore = true;
}
dont_go_to_menu = true;
break;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F1 | BUTTON_REL:
#else
case BUTTON_MENU | BUTTON_REL:
#endif
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_PARAM, false);
#endif
if(!keys_locked && !dont_go_to_menu && menu_button_is_down)
{
lcd_stop_scroll();
button_set_release(old_release_mask);
main_menu();
old_release_mask = button_set_release(RELEASE_MASK);
ignore_keyup = true;
id3 = mpeg_current_track();
restore = true;
}
else
{
dont_go_to_menu = false;
}
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_AUDIO, true);
#endif
menu_button_is_down = false;
#endif
if (menu())
return SYS_USB_CONNECTED;
break;
/* toggle status bar */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_F3:
#ifdef HAVE_LCD_BITMAP
@ -1384,18 +1383,12 @@ int wps_show(void)
break;
#endif
/* stop and exit wps */
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_OFF:
#else
case BUTTON_STOP:
#endif
if (keys_locked)
{
display_keylock_text(keys_locked);
restore = true;
break;
}
#ifdef HAVE_LCD_CHARCELLS
lcd_icon(ICON_RECORD, false);
lcd_icon(ICON_AUDIO, false);
@ -1406,48 +1399,13 @@ int wps_show(void)
return 0;
#ifndef SIMULATOR
case SYS_USB_CONNECTED: {
#ifdef HAVE_LCD_BITMAP
bool laststate=statusbar(false);
#endif
/* Tell the USB thread that we are safe */
DEBUGF("wps got SYS_USB_CONNECTED\n");
usb_acknowledge(SYS_USB_CONNECTED_ACK);
/* Wait until the USB cable is extracted again */
usb_wait_for_disconnect(&button_queue);
#ifdef HAVE_LCD_BITMAP
statusbar(laststate);
#endif
/* Signal to our caller that we have been in USB mode */
case SYS_USB_CONNECTED:
handle_usb();
return SYS_USB_CONNECTED;
break;
}
#endif
case BUTTON_NONE: /* Timeout */
if(!mpeg_is_playing())
restore = true;
if (id3)
#ifdef CUSTOM_WPS
refresh_wps(false);
#else
display_file_time(id3->elapsed, id3->length);
#endif
/* save resume data */
if ( id3 &&
global_settings.resume &&
global_settings.resume_offset != id3->offset ) {
DEBUGF("R%X,%X (%X)\n", global_settings.resume_offset,
id3->offset,id3);
global_settings.resume_index = id3->index;
global_settings.resume_offset = id3->offset;
settings_save();
}
status_draw();
update();
break;
}
@ -1456,12 +1414,12 @@ int wps_show(void)
if (restore) {
restore = false;
draw_screen(id3);
if (mpeg_is_playing() && id3)
draw_screen();
if (id3)
#ifdef CUSTOM_WPS
refresh_wps(false);
#else
display_file_time(id3->elapsed, id3->length);
display_file_time();
#endif
}
}