X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/63f3b77711f17de3cd3515d1a97f566438c551a7..9c9154a1581b81cfc0e9c3cb6d2d17cd7db854d6:/src/app/widgets/playingscreen.py 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()