3 from keyhandler import *
4 from rotowidget import *
6 from constants import *
9 offwhite = (245,245,245)
18 keystyle = [(1.75,red,black,ggray), (1,offwhite,darkgray,blue),
19 (0.8,blue,black,green), (1,offwhite,darkgray,blue),
20 (0.8,blue,black,green), (1,offwhite,darkgray,blue),
21 (0.8,blue,black,green), (1,offwhite,darkgray,blue)]
23 def __init__(self,keyfile):
24 self.keyfile = keyfile
25 self.kg = (KeyGraph(keyfile,self.keystyle,1,pygame.Rect(0,0,192,400)),
26 KeyGraph(keyfile,self.keystyle,2,pygame.Rect(448,0,192,400)) )
28 self.screen = pygame.display.get_surface()
29 self.roto = RotoWidget((30,430),25,1.0)
30 self.songlength = keyfile.length()
32 self.groovetext = GlyphText((60,415))
36 def setproperties(self,properties):
37 if properties.has_key('judgement'):
38 j = properties['judgement']
41 elif j == JUDGE_GREAT:
49 if self.groove > 100.0:
51 elif self.groove < 0.0:
53 if 'accuracy' in properties:
54 self.accuracy += properties['accuracy']
56 print "accuracy:", self.accuracy / float(self.nacc)
57 self.kg[0].setproperties(properties)
59 def draw(self, t, bmelist):
60 b = self.keyfile.eval_beatfunc(t)
62 if bme.type == BME_BGA and bme.dataref in self.keyfile.bmps:
63 self.animpic = self.keyfile.bmps[bme.dataref]
64 self.screen.fill( (20,20,20) )
69 self.screen.fill((0,0,0),(192,112,256,256))
70 self.screen.blit(self.animpic,(192,112))
71 self.roto.pulsev = self.groove
72 self.roto.arcv = (float(t) / self.songlength) * 100
74 self.groovetext.settext("%02d" % self.groove)
75 self.groovetext.draw(t)
76 pygame.display.update()
78 lightgray = (230,230,230)
90 keystyle = [(1,lightgray,graybg), (0.7,yellow,yellowbg),
91 (1,green,greenbg), (0.7,blue,bluebg), (1,red,redbg),
92 (0.7,blue,bluebg), (1,green,greenbg), (0.7,yellow,yellowbg),
95 def __init__(self,keyfile):
96 self.keyfile = keyfile
97 self.kg = KeyGraph(keyfile,self.keystyle,1,pygame.Rect(256,0,384,400))
98 self.kg.bordercolor = black
101 self.screen = pygame.display.get_surface()
103 def draw(self, t, bmelist):
105 if bme.type == BME_BGA:
106 self.animpic = self.keyfile.bmps[bme.dataref]
107 self.screen.fill( (20,20,20) )
111 self.screen.fill((0,0,0),(0,112,256,256))
112 self.screen.blit(self.animpic,(0,112))
113 pygame.display.update()