|
Rockbox mail archiveSubject: Player progress bar with more animation!Player progress bar with more animation!
From: Mats Lidell <matsl_at_contactor.se>
Date: Thu, 26 Sep 2002 14:23:18 +0200 Hi, This patch implements the player progress bar so that a little square moves from the top left corner all the way through the progress bar to the lower right corner. Well... Hard to explain these grafical stuff. Apply, build, download, run and see for yourself. Index: wps-display.c =================================================================== RCS file: /cvsroot/rockbox/apps/wps-display.c,v retrieving revision 1.22 diff -u -r1.22 wps-display.c --- wps-display.c 24 Sep 2002 18:04:12 -0000 1.22 +++ wps-display.c 26 Sep 2002 12:13:59 -0000 _at__at_ -618,34 +618,41 _at__at_ #if defined(HAVE_LCD_CHARCELLS) && !defined(SIMULATOR) bool draw_player_progress(struct mp3entry* id3, int ff_rewwind_count) { - if(!id3) - return(false); + if (!id3) + return false; + char player_progressbar[7]; char binline[36]; int songpos = 0; - int i,j; + int songpos1 = 0; + int songpos2 = 0; + int i, j; memset(binline, 1, sizeof binline); memset(player_progressbar, 1, sizeof player_progressbar); - if(id3->elapsed >= id3->length) - songpos = 0; - else + if (id3->elapsed >= id3->length) { - if(wps_time_countup == false) - songpos = ((id3->elapsed - ff_rewwind_count) * 36) / id3->length; - else - songpos = ((id3->elapsed + ff_rewwind_count) * 36) / id3->length; + songpos = songpos2 = songpos1 = 0; + } else { + if (wps_time_countup) + { + songpos = ((id3->elapsed - ff_rewwind_count) * 1296) / id3->length; + } else { + songpos = ((id3->elapsed + ff_rewwind_count) * 1296) / id3->length; + } + songpos1 = songpos / 36; + songpos2 = songpos % 36; } - for (i=0; i < songpos; i++) + for (i = 0; i < songpos1; i++) binline[i] = 0; - - for (i=0; i<=6; i++) { - for (j=0;j<5;j++) { + binline[songpos2] = !binline[songpos2]; + for (i = 0; i <= 6; i++) { + for (j = 0; j < 5; j++) { player_progressbar[i] <<= 1; player_progressbar[i] += binline[i*5+j]; } } - lcd_define_pattern(8,player_progressbar,7); - return(true); + lcd_define_pattern(8, player_progressbar, 7); + return true; } #endif Yours -- %% MatsReceived on 2002-09-26 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |