from os.path import realpath, sep, exists
from fluidsynth import Synth as FSynth
from log import console
+import pygame
+import events
class Synth(FSynth) :
"""
self.start()
self.fsid = self.sfload(sfPath)
self._octaveAjusts = {}
- console.info('démarrage du synthétiseur\nsoundfont : %s', sfPath)
+ console.info('démarrage du synthétiseur')
+ console.info('soundfont : %s', sfPath)
def __del__(self) :
console.info('arrêt du synthétiseur.')
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)
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)