utilisation de la flûte traversière.
[minwii.git] / src / app / minwii.py
index 350f32d..dbf1b23 100755 (executable)
@@ -11,6 +11,7 @@ from pgu.gui import Desktop
 from pgu.gui import QUIT
 from widgets.home import Home
 from widgets.playingscreen import SongPlayingScreen, PlayingScreen
 from pgu.gui import QUIT
 from widgets.home import Home
 from widgets.playingscreen import SongPlayingScreen, PlayingScreen
+from widgets.instrumentselector import InstrumentSelector
 from synth import Synth
 from eventutils import EventDispatcher
 from musicxml import musicXml2Song
 from synth import Synth
 from eventutils import EventDispatcher
 from musicxml import musicXml2Song
@@ -23,13 +24,27 @@ class MinWii(object):
         synth = Synth()
 
         while True :
         synth = Synth()
 
         while True :
+            # sélection de la chanson
             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)
+            returnValue = home.returnValue
+            if not returnValue :
+                break
             
             
+            # sélection de l'instrument
+            selector = InstrumentSelector()
+            selector.run()
+            selector.stop()
+            pygame.event.clear()
+            EventDispatcher.reset()
+            instrumentDescription = selector.selectedInstrument
+            
+            # lancement du lecteur / clavier
             song = musicXml2Song(home.songFile, printNotes=True)
             song = musicXml2Song(home.songFile, printNotes=True)
-            synth.program_select(0, 0, 45)
+            bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
+            synth.program_select(0, bank, preset)
             playingScreen = SongPlayingScreen(synth, song)
             playingScreen.run()
             pygame.event.clear()
             playingScreen = SongPlayingScreen(synth, song)
             playingScreen.run()
             pygame.event.clear()