envoi des événements NOTEON et NOTEOFF du synthé.
[minwii.git] / src / app / minwii.py
index fe17218..4b23012 100755 (executable)
@@ -29,6 +29,7 @@ class MinWii(object):
         self.app = Desktop()
         self.synth = Synth()
         self.screenResolution = (1024,768)
+        console.info('résolution écran : %s', self.screenResolution)
         self.nwiimotes = 0
         self.initWiimotes()
     
@@ -44,7 +45,7 @@ class MinWii(object):
             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')
@@ -59,6 +60,10 @@ class MinWii(object):
             WT.resume()
 
             instrumentDescription = self.selectInstrument()
+            if not instrumentDescription :
+                WT.pause()
+                continue
+            
             self.runPlayingScreen(songFile, playMode, instrumentDescription)
             
             WT.pause()
@@ -79,20 +84,23 @@ class MinWii(object):
         app.close(home)
         
         
-        actual_wiimotes = self.WT.get_count()
-        if actual_wiimotes is None :
-            msg = 'chanson : %s\nmode : %s\nHID : souris'
-            msg = msg % (home.songFile,
-                         home.modeSelect.value)
-        elif actual_wiimotes == 0 :
-            msg = 'chanson : %s\nmode : %s\nHID : souris (pas de wiimote trouvée)'
-            msg = msg % (home.songFile,
-                         home.modeSelect.value)
+        if home.exitApp :
+            msg = "sortie de l'application"
         else :
-            msg = 'chanson : %s\nmode : %s\nHID : wiimote %d'
-            msg = msg % (home.songFile,
-                         home.modeSelect.value,
-                         home.selectedWiimote.value + 1)
+            actual_wiimotes = self.WT.get_count()
+            if actual_wiimotes is None :
+                msg = 'chanson : %s\nmode : %s\nHID : souris'
+                msg = msg % (home.songFile,
+                             home.modeSelect.value)
+            elif actual_wiimotes == 0 :
+                msg = 'chanson : %s\nmode : %s\nHID : souris (pas de wiimote trouvée)'
+                msg = msg % (home.songFile,
+                             home.modeSelect.value)
+            else :
+                msg = 'chanson : %s\nmode : %s\nHID : wiimote %d'
+                msg = msg % (home.songFile,
+                             home.modeSelect.value,
+                             home.selectedWiimote.value + 1)
         
         console.info(msg)
         
@@ -110,6 +118,9 @@ class MinWii(object):
         selector.stop()
         pygame.event.clear()
         EventDispatcher.reset()
+        if selector.selectedInstrument :
+            console.info('instrument : %(name)s\npreset : %(preset)d\nbank : %(bank)d\najustement octave : %(octave)d' % \
+                         selector.selectedInstrument)
         return selector.selectedInstrument
     
     def runPlayingScreen(self, songFile, playMode, instrumentDescription) :
@@ -119,7 +130,7 @@ class MinWii(object):
         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)