Implémentation de la méthode de sélection de l'instrument.
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 22 Mar 2010 17:01:33 +0000 (17:01 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 22 Mar 2010 17:01:33 +0000 (17:01 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@106 fe552daf-6dbe-4428-90eb-1537e0879342

src/app/minwii.py
src/app/widgets/instrumentselector.py

index 56047ad..6f277a7 100755 (executable)
@@ -20,21 +20,20 @@ from config import SONG_FILE_PATH
 class MinWii(object):
     
     def __init__(self) :
-        #app = Desktop()
-        #synth = Synth()
+        app = Desktop()
+        synth = Synth()
 
         while True :
-            #home = Home(songPath=SONG_FILE_PATH)
-            #home.connect(QUIT, app.quit)
-            #app.run(home)
-            #app.close(home)
+            home = Home(songPath=SONG_FILE_PATH)
+            home.connect(QUIT, app.quit)
+            app.run(home)
+            app.close(home)
             
             selector = InstrumentSelector()
             selector.run()
             selector.stop()
             pygame.event.clear()
             EventDispatcher.reset()
-            break
             
             song = musicXml2Song(home.songFile, printNotes=True)
             synth.program_select(0, 0, 0)
index 6935e03..9bafbc3 100755 (executable)
@@ -89,6 +89,13 @@ class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) :
             
             self._inflatedTile = tile
         
+    @event_handler(pygame.MOUSEBUTTONDOWN)
+    def selectInstrument(self, event) :
+        for tile in reversed(self.sprites()[:-1]) :
+            if tile.rect.collidepoint(*event.pos) :
+                self.selectedInstrument = tile
+                self.stop()
+                break