Index: apps/settings.c =================================================================== RCS file: /cvsroot/rockbox/apps/settings.c,v retrieving revision 1.20 diff -u -r1.20 settings.c --- apps/settings.c 9 Aug 2002 13:50:58 -0000 1.20 +++ apps/settings.c 10 Aug 2002 13:26:06 -0000 @@ -386,6 +386,12 @@ global_settings.discharge = 0; global_settings.total_uptime = 0; global_settings.scroll_speed = 8; + global_settings.wps_field[0] = PATH; + global_settings.wps_field[1] = TITLE; + global_settings.wps_field[2] = ALBUM; + global_settings.wps_field[3] = ARTIST; + global_settings.wps_field[4] = COMBINED; + global_settings.wps_field[5] = BLANK; } Index: apps/settings.h =================================================================== RCS file: /cvsroot/rockbox/apps/settings.h,v retrieving revision 1.14 diff -u -r1.14 settings.h --- apps/settings.h 10 Aug 2002 07:18:29 -0000 1.14 +++ apps/settings.h 10 Aug 2002 13:26:06 -0000 @@ -28,6 +28,19 @@ #define RESUME_SONG 1 /* resume song at startup */ #define RESUME_PLAYLIST 2 /* resume playlist at startup */ +enum wps_values { + BLANK, + PATH, + TITLE, + ALBUM, + ARTIST, + BIT_RATE, + FREQUENCY, + COMBINED +}; + +#define MAX_WPS_FIELDS 6 + struct user_settings { /* audio settings */ @@ -63,6 +76,7 @@ /* while playing screen settings */ int wps_display; /* 0=id3, 1=file, 2=parse */ + enum wps_values wps_field[MAX_WPS_FIELDS+1]; /* show status bar */ bool statusbar; /* 0=hide, 1=show */ Index: apps/settings_menu.c =================================================================== RCS file: /cvsroot/rockbox/apps/settings_menu.c,v retrieving revision 1.13 diff -u -r1.13 settings_menu.c --- apps/settings_menu.c 9 Aug 2002 13:50:58 -0000 1.13 +++ apps/settings_menu.c 10 Aug 2002 13:26:07 -0000 @@ -34,6 +34,9 @@ #include "playlist.h" /* for playlist_shuffle */ #include "powermgmt.h" #include "rtc.h" +#ifdef HAVE_LCD_BITMAP +#include "wps_format_menu.h" +#endif static void shuffle(void) { @@ -129,17 +132,18 @@ { int m; struct menu_items items[] = { - { "Shuffle", shuffle }, - { "MP3/M3U filter", mp3_filter }, - { "Sort mode", sort_case }, - { "Backlight Timer", backlight_timer }, - { "Scroll speed", scroll_speed }, - { "While Playing", wps_set }, + { "Shuffle", shuffle }, + { "MP3/M3U filter", mp3_filter }, + { "Sort mode", sort_case }, + { "Backlight Timer", backlight_timer }, + { "Scroll speed", scroll_speed }, + { "While Playing", wps_set }, #ifdef HAVE_CHARGE_CTRL { "Deep discharge", deep_discharge }, #endif #ifdef HAVE_LCD_BITMAP - { "Status bar", statusbar }, + { "Status bar", statusbar }, + { "While Playing Format", wps_format_menu }, #endif #ifdef HAVE_RTC { "Time/Date", timedate_set }, Index: apps/wps.c =================================================================== RCS file: /cvsroot/rockbox/apps/wps.c,v retrieving revision 1.53 diff -u -r1.53 wps.c --- apps/wps.c 10 Aug 2002 07:16:56 -0000 1.53 +++ apps/wps.c 10 Aug 2002 13:26:08 -0000 @@ -117,35 +117,58 @@ case PLAY_DISPLAY_DEFAULT: { int l = LINE_Y; + int field_id=0; #ifdef HAVE_LCD_BITMAP char buffer[64]; - lcd_puts_scroll(0, l++, id3->path); - lcd_puts(0, l++, id3->title?id3->title:""); - lcd_puts(0, l++, id3->album?id3->album:""); - lcd_puts(0, l++, id3->artist?id3->artist:""); - - if(LINE_Y==0) { - if(id3->vbr) - snprintf(buffer, sizeof(buffer), "%d kbit (avg)", - id3->bitrate); - else - snprintf(buffer, sizeof(buffer), "%d kbit", id3->bitrate); - - lcd_puts(0, l++, buffer); - - snprintf(buffer,sizeof(buffer), "%d Hz", id3->frequency); - lcd_puts(0, l++, buffer); - } - else { - if(id3->vbr) - snprintf(buffer, sizeof(buffer), "%dkbit(a) %dHz", - id3->bitrate, id3->frequency); - else - snprintf(buffer, sizeof(buffer), "%dkbit %dHz", - id3->bitrate, id3->frequency); - - lcd_puts(0, l++, buffer); + for (field_id=0; field_id < MAX_WPS_FIELDS-LINE_Y; field_id++) { + switch(global_settings.wps_field[field_id]) + { + case PATH : + lcd_puts_scroll(0, l++, id3->path); + break; + case TITLE : + lcd_puts_scroll(0, l++, id3->title?id3->title:""); + break; + case ALBUM : + lcd_puts_scroll(0, l++, id3->album?id3->album:""); + break; + case ARTIST : + lcd_puts_scroll(0, l++, id3->artist?id3->artist:""); + break; + case BIT_RATE : + if(id3->vbr) { + snprintf(buffer, sizeof(buffer), + "%d kbit (avg)", id3->bitrate); + } + else { + snprintf(buffer, sizeof(buffer), + "%d kbit", id3->bitrate); + } + lcd_puts_scroll(0, l++, buffer); + break; + case FREQUENCY : + snprintf(buffer,sizeof(buffer), + "%d Hz", id3->frequency); + lcd_puts_scroll(0, l++, buffer); + break; + case COMBINED : + if(id3->vbr) { + snprintf(buffer, sizeof(buffer), + "%dkbit(a) %dHz", id3->bitrate, + id3->frequency); + } + else { + snprintf(buffer, sizeof(buffer), + "%dkbit %dHz", id3->bitrate, + id3->frequency); + } + lcd_puts_scroll(0, l++, buffer); + break; + case BLANK: + lcd_puts(0, l++, ""); + break; + } } #else Index: uisimulator/x11/Makefile =================================================================== RCS file: /cvsroot/rockbox/uisimulator/x11/Makefile,v retrieving revision 1.53 diff -u -r1.53 Makefile --- uisimulator/x11/Makefile 7 Aug 2002 11:28:04 -0000 1.53 +++ uisimulator/x11/Makefile 10 Aug 2002 13:26:09 -0000 @@ -78,7 +78,7 @@ APPS = main.c tree.c menu.c credits.c main_menu.c\ playlist.c showtext.c wps.c settings.c status.c -MENUS = games_menu.c screensavers_menu.c settings_menu.c sound_menu.c +MENUS = games_menu.c screensavers_menu.c settings_menu.c sound_menu.c wps_format_menu.c ifeq ($(DISPLAY),-DHAVE_LCD_BITMAP) APPS += tetris.c sokoban.c bounce.c boxes.c icons.c bmp.c widgets.c @@ -162,6 +162,9 @@ $(CC) $(APPCFLAGS) -c $< -o $@ $(OBJDIR)/settings_menu.o: $(APPDIR)/settings_menu.c + $(CC) $(APPCFLAGS) -c $< -o $@ + +$(OBJDIR)/wps_format_menu.o: $(APPDIR)/wps_format_menu.c $(CC) $(APPCFLAGS) -c $< -o $@ $(OBJDIR)/icons.o: $(RECDIR)/icons.c