plus de décalage entre exécution des noteon/off et leur log.
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Wed, 21 Apr 2010 11:38:02 +0000 (11:38 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Wed, 21 Apr 2010 11:38:02 +0000 (11:38 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@158 fe552daf-6dbe-4428-90eb-1537e0879342

src/app/synth.py

index eb19235..469fd04 100755 (executable)
@@ -7,7 +7,7 @@ $URL$
 """
 from os.path import realpath, sep, exists
 from  fluidsynth import Synth as FSynth
 """
 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
 
 import pygame
 import events
 
@@ -57,14 +57,22 @@ class Synth(FSynth) :
     def sfont_select(self, chan):
         FSynth.sfont_select(self, chan, self.fsid)
 
     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)
     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)
     
     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)