From: pin Date: Fri, 19 Mar 2010 14:54:56 +0000 (+0000) Subject: Arrêt du synthé comme il faut lorsqu'on quitte la fenêtre de jeu. X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/commitdiff_plain/6aaf4a5689bd6323945dd3f1e28c4e995b091d99?ds=sidebyside Arrêt du synthé comme il faut lorsqu'on quitte la fenêtre de jeu. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@99 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/app/widgets/playingscreen.py b/src/app/widgets/playingscreen.py index 975f401..f5cbdb6 100755 --- a/src/app/widgets/playingscreen.py +++ b/src/app/widgets/playingscreen.py @@ -95,14 +95,17 @@ class _PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : dirty = self.draw(pygame.display.get_surface()) pygame.display.update(dirty) clock.tick(FRAMERATE) - + + def stop(self) : + self._running = False + self.synth.system_reset() pygame.mouse.set_visible(True) self.cursor._stopBlink() @event_handler(pygame.KEYDOWN) def handleKeyDown(self, event) : if event.key == pygame.K_q: - self._running = False + self.stop() @event_handler(pygame.MOUSEBUTTONDOWN) def onMouseDown(self, event) : @@ -215,9 +218,14 @@ class SongPlayingScreen(_PlayingScreenBase) : @event_handler(events.NOTEEND) def clearTimeOutAndDisplayNext(self, evt) : pygame.time.set_timer(evt.type, 0) + self.synth.noteoff(0, self.currentNote.midi) self.displayNext() @staticmethod def setNoteTimeout(delay) : pygame.time.set_timer(events.NOTEEND, delay) + + def stop(self) : + pygame.time.set_timer(events.NOTEEND, 0) + super(SongPlayingScreen, self).stop()