Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide
translations



Rockbox mail archive

Subject: 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
-- 
%% Mats
Received on 2002-09-26

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy