]> CRI, Mines Paris - PSL - minwii.git/commitdiff
envoi des événements NOTEON et NOTEOFF du synthé.
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 19 Apr 2010 13:11:44 +0000 (13:11 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 19 Apr 2010 13:11:44 +0000 (13:11 +0000)
doc++
impression « raw » des événements quelconques.

git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@151 fe552daf-6dbe-4428-90eb-1537e0879342

src/app/event_pprinters.py
src/app/log.py
src/app/minwii.py
src/app/synth.py

index 679924e3da4f1964672ead8ce483ed57c9113a41..e39958306149219c429c817bcee1a35bd378966a 100755 (executable)
@@ -11,10 +11,10 @@ import sys
 self = sys.modules[__name__]
 
 def log_NOTEON(e):
 self = sys.modules[__name__]
 
 def log_NOTEON(e):
-    return ''
+    return '%3d %3d %3d' % (e.chan, e.key, e.vel)
     
 def log_NOTEOFF(e):
     
 def log_NOTEOFF(e):
-    return ''
+    return '%3d %3d' % (e.chan, e.key)
     
 def log_NOTEEND(e):
     return ''
     
 def log_NOTEEND(e):
     return ''
@@ -26,7 +26,7 @@ def log_COLSTATECHANGE(e):
             (col.index, col.state, tone.midi, tone.name, e.syllabus)
 
 def _log_col(e) :
             (col.index, col.state, tone.midi, tone.name, e.syllabus)
 
 def _log_col(e) :
-    """ formate l'événement
+    """ formate les événements de colonne COLDOWN, COLUP, COLOVER
         - etat
         - index de colonne
         - hauteur midi
         - etat
         - index de colonne
         - hauteur midi
@@ -41,7 +41,6 @@ def _log_col(e) :
 log_COLDOWN = log_COLUP = log_COLOVER = _log_col
 
 def log_default(e) :
 log_COLDOWN = log_COLUP = log_COLOVER = _log_col
 
 def log_default(e) :
-    return ''
     return str(e)
 
 pprinters = {}
     return str(e)
 
 pprinters = {}
index ffcf4c6e8425b81f9a1644eb255cc9756a7bce42..f07e3d21dc62813bbc1ce1b2e6fd26bed8a5b46f 100755 (executable)
@@ -25,7 +25,7 @@ class EventLoggerAdapter(logging.LoggerAdapter) :
     FORMAT = "%(ticks)-10s %(eventName)-15s %(message)s"
     
     def process(self, msg, kwargs) :
     FORMAT = "%(ticks)-10s %(eventName)-15s %(message)s"
     
     def process(self, msg, kwargs) :
-        pp = pprinters.get(msg.type, lambda e: '')
+        pp = pprinters.get(msg.type, lambda e: str(e))
         extra = {}
         extra['eventType'] = msg.type
         extra['eventName'] = eventNames[msg.type]
         extra = {}
         extra['eventType'] = msg.type
         extra['eventName'] = eventNames[msg.type]
index da69dd92cae8b8102a21dc40f5a33ed2480a6e0a..4b23012d6974ad590db03d7e0425dfe41dc44080 100755 (executable)
@@ -45,7 +45,7 @@ class MinWii(object):
             self.WT = _WTFacade()
 
     def run(self) :
             self.WT = _WTFacade()
 
     def run(self) :
-        "manage the screen sequence display"
+        "séquençage de l'affichage des écrans"
 
         pygame.display.set_mode(self.screenResolution)
         pygame.display.set_caption('MinWii')
 
         pygame.display.set_mode(self.screenResolution)
         pygame.display.set_caption('MinWii')
@@ -130,7 +130,7 @@ class MinWii(object):
         playMode = PLAYING_MODES_DICT[playMode]
         song = musicXml2Song(songFile)
         bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
         playMode = PLAYING_MODES_DICT[playMode]
         song = musicXml2Song(songFile)
         bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
-        octave = instrumentDescription.get('octave', 0)
+        octave = instrumentDescription['octave']
         self.synth.adjust_octave(0, octave)
         self.synth.program_select(0, bank, preset)
         playingScreen = SongPlayingScreen(self.synth, song, mode=playMode)
         self.synth.adjust_octave(0, octave)
         self.synth.program_select(0, bank, preset)
         playingScreen = SongPlayingScreen(self.synth, song, mode=playMode)
index 9fb4a3eb1a1cffa6427ae8d1f05c32d4ab72d812..71fa12619fb63c9f32c15c9fe876a3f597ecc85a 100755 (executable)
@@ -8,6 +8,8 @@ $URL$
 from os.path import realpath, sep, exists
 from  fluidsynth import Synth as FSynth
 from log import console
 from os.path import realpath, sep, exists
 from  fluidsynth import Synth as FSynth
 from log import console
+import pygame
+import events
 
 class Synth(FSynth) :
     """
 
 class Synth(FSynth) :
     """
@@ -57,7 +59,11 @@ class Synth(FSynth) :
     def noteon(self, chan, key, vel):
         key = key + self._octaveAjusts.get(chan, 0) * 12
         FSynth.noteon(self, chan, key, 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)
     
     def noteoff(self, chan, key) :
         key = key + self._octaveAjusts.get(chan, 0) * 12
         FSynth.noteoff(self, chan, 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)