From 848568d13d75f6f7b458ec464d5a5c836d0d8572 Mon Sep 17 00:00:00 2001 From: pin Date: Wed, 21 Apr 2010 11:38:02 +0000 Subject: [PATCH 1/1] =?utf8?q?plus=20de=20d=C3=A9calage=20entre=20ex=C3=A9?= =?utf8?q?cution=20des=20noteon/off=20et=20leur=20log.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@158 fe552daf-6dbe-4428-90eb-1537e0879342 --- src/app/synth.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/synth.py b/src/app/synth.py index eb19235..469fd04 100755 --- a/src/app/synth.py +++ b/src/app/synth.py @@ -7,7 +7,7 @@ $URL$ """ from os.path import realpath, sep, exists from fluidsynth import Synth as FSynth -from log import console, envLogger +from log import console, envLogger, eventLogger import pygame import events @@ -57,14 +57,22 @@ class Synth(FSynth) : def sfont_select(self, chan): FSynth.sfont_select(self, chan, self.fsid) + + # on loggue les noteon / noteoff en utilisant les événements pygame + # mais ils ne sont pas postés -> on fait ça pour que le log de l'événement + # et l'exécution du noteon/off soit effectué au sein de la même itération + # de la boucle principale. + def noteon(self, chan, key, vel): key = key + self._octaveAjusts.get(chan, 0) * 12 FSynth.noteon(self, chan, key, vel) evt = pygame.event.Event(events.NOTEON, chan=chan, key=key, vel=vel) - pygame.event.post(evt) + eventLogger.info(evt) + #pygame.event.post(evt) def noteoff(self, chan, key) : key = key + self._octaveAjusts.get(chan, 0) * 12 FSynth.noteoff(self, chan, key) evt = pygame.event.Event(events.NOTEOFF, chan=chan, key=key) - pygame.event.post(evt) + eventLogger.info(evt) + #pygame.event.post(evt) -- 2.20.1