X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/8efd1374d9e4265c1bd891018e6fd3465eb9e0aa..975ed3f44e237886978f0063f2907baa8eaf46c1:/src/minwii/widgets/playingscreen.py diff --git a/src/minwii/widgets/playingscreen.py b/src/minwii/widgets/playingscreen.py index 5829a4e..90a6d2a 100755 --- a/src/minwii/widgets/playingscreen.py +++ b/src/minwii/widgets/playingscreen.py @@ -20,6 +20,7 @@ from minwii.config import FIRST_HUE from minwii.config import MIDI_VELOCITY_RANGE from minwii.config import MIDI_PAN_RANGE from minwii.config import MIDI_VELOCITY_WRONG_NOTE_ATTN +from minwii.config import SCREEN_RESOLUTION from minwii.globals import BACKGROUND_LAYER from minwii.globals import CURSOR_LAYER from minwii.globals import PLAYING_MODES_DICT @@ -45,11 +46,10 @@ class PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : self.columns = {} self._initColumns() self._running = False - self.draw(pygame.display.get_surface()) + self.kinectRgb = kinect.RGBSprite(alpha=128, size=SCREEN_RESOLUTION) + self.add(self.kinectRgb, layer=CURSOR_LAYER) self._initCursor() - self.kinectRgb = kinect.RGB() - self.kinectRgbSur = pygame.Surface((640, 480)) def _initRects(self) : """ création des espaces réservés pour @@ -98,18 +98,15 @@ class PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : pygame.display.flip() pygame.mouse.set_visible(False) while self._running : - EventDispatcher.dispatchEvents() - dirty = self.draw(pygame.display.get_surface()) - pygame.display.update(dirty) - - self.kinectRgb.update() - rgbImg = self.kinectRgb.capture() - self.kinectRgbSur.blit(rgbImg, (0, 0)) - screen = pygame.display.get_surface() - screen.blit(pygame.transform.flip(self.kinectRgbSur, True, False), (0, 0)) - pygame.display.flip() - - clock.tick(FRAMERATE) + try : + EventDispatcher.dispatchEvents() + self.kinectRgb.update() + dirty = self.draw(pygame.display.get_surface()) + pygame.display.update(dirty) + clock.tick(FRAMERATE) + except KeyboardInterrupt : + self.stop() + raise def stop(self) : self._running = False