utilisation de la flûte traversière.
[minwii.git] / src / app / minwii.py
index fe95f7e..dbf1b23 100755 (executable)
@@ -6,29 +6,46 @@ $Id$
 $URL$
 """
 
 $URL$
 """
 
+import pygame
 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 Desktop
 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
+from config import SONG_FILE_PATH
 
 class MinWii(object):
     
     def __init__(self) :
         app = Desktop()
         synth = Synth()
 
 class MinWii(object):
     
     def __init__(self) :
         app = Desktop()
         synth = Synth()
-        synth.program_select(0, 0, 0)
 
 
-        if True :
-            #home = Home()
-            #home.connect(QUIT, app.quit)
-            #app.run(home)
-            #app.close(home)
+        while True :
+            # sélection de la chanson
+            home = Home(songPath=SONG_FILE_PATH)
+            home.connect(QUIT, app.quit)
+            app.run(home)
+            app.close(home)
+            returnValue = home.returnValue
+            if not returnValue :
+                break
             
             
-            song = musicXml2Song('/Users/pinbe/dev/minwii/src/songs/chansons/etoile_neige.xml', printNotes=True)
+            # 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)
+            bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
+            synth.program_select(0, bank, preset)
             playingScreen = SongPlayingScreen(synth, song)
             playingScreen = SongPlayingScreen(synth, song)
-            #playingScreen = PlayingScreen(synth)
             playingScreen.run()
             playingScreen.run()
+            pygame.event.clear()
             EventDispatcher.reset()
             EventDispatcher.reset()