X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/8a654eb43381bf77f3bade5a228809c90217d291..6e5711305d3bf1b264625072db77d471c686be03:/src/minwii/widgets/playingscreen.py diff --git a/src/minwii/widgets/playingscreen.py b/src/minwii/widgets/playingscreen.py index b1dbe80..6d66ace 100755 --- a/src/minwii/widgets/playingscreen.py +++ b/src/minwii/widgets/playingscreen.py @@ -27,7 +27,7 @@ from column import Column class PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : - def __init__(self, synth, distinctNotes=[]) : + def __init__(self, synth, distinctNotes=[], displayNotes=True) : """ distinctNotes : notes disctinctes présentes dans la chanson triées du plus grave au plus aigu. @@ -35,6 +35,7 @@ class PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : super(PlayingScreenBase, self).__init__() self.synth = synth self.distinctNotes = distinctNotes + self.displayNotes = displayNotes self.keyboardLength = 0 self.keyboardRects = [] self.cursor = None @@ -77,7 +78,7 @@ class PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : for i, rect in enumerate(self.keyboardRects) : hue = FIRST_HUE - hueStep * i tone = self.distinctNotes[i] - c = Column(self, i, hue, rect, tone) + c = Column(self, i, hue, rect, tone, displayNote=self.displayNotes) self.add(c, layer=BACKGROUND_LAYER) self.columns[tone.midi] = c @@ -166,14 +167,14 @@ class PlayingScreen(PlayingScreenBase) : scale = [55, 57, 59, 60, 62, 64, 65, 67, 69, 71, 72] - def __init__(self, synth) : + def __init__(self, synth, displayNotes=True) : distinctNotes = [] self.currentColumn = None for midi in self.scale : tone = Tone(midi) distinctNotes.append(tone) - super(PlayingScreen, self).__init__(synth, distinctNotes) + super(PlayingScreen, self).__init__(synth, distinctNotes, displayNotes=displayNotes) @event_handler(events.COLDOWN) def noteon(self, event) : @@ -191,8 +192,8 @@ class PlayingScreen(PlayingScreenBase) : class SongPlayingScreen(PlayingScreenBase) : - def __init__(self, synth, song, mode=PLAYING_MODES_DICT['NORMAL'], tempoTrim=0) : - super(SongPlayingScreen, self).__init__(synth, song.distinctNotes) + def __init__(self, synth, song, mode=PLAYING_MODES_DICT['NORMAL'], displayNotes=True, tempoTrim=0) : + super(SongPlayingScreen, self).__init__(synth, song.distinctNotes, displayNotes=displayNotes) self.song = song self.quarterNoteDuration = song.quarterNoteDuration self.tempoTrim = tempoTrim @@ -322,6 +323,7 @@ class SongPlayingScreen(PlayingScreenBase) : def setNoteTimeout(self) : delay = self.currentNote.duration * self.quarterNoteDuration delay = delay + delay * self.tempoTrim + delay = int(delay) pygame.time.set_timer(events.NOTEEND, delay) def tempoTrimUp(self, step=0.1) :