bugfix.
[minwii.git] / src / app / minwii.py
index fc45bdf..d75dd5e 100755 (executable)
@@ -18,43 +18,55 @@ from eventutils import EventDispatcher
 from musicxml import musicXml2Song
 from config import SONG_FILE_PATH
 from globals import PLAYING_MODES_DICT
-from pywiiuse import pygame_wiimouse
-from pywiiuse.PyWiiUse import IR_BELOW
 
 
 class MinWii(object):
     
-    def __init__(self) :
+    def __init__(self, wimoteSupport=True) :
         LaunchScreen()
         app = Desktop()
         synth = Synth()
 
-        modeResolution = (1024,768)
-
-        pygame_wiimouse.init(1, 5) # look for 1, wait 5 seconds
-        n = pygame_wiimouse.get_count()
-        print '%d wiimotes' % n
-        WT = pygame_wiimouse.WT
-        WT.pause()
-        wm = pygame_wiimouse.Wiimote(0) # access the wiimote object
-        wm.enable_accels(0) # turn on acceleration reporting
-        wm.enable_ir(1, vres = modeResolution, position=IR_BELOW)
+        screenResolution = (1024,768)
+        
+        if wimoteSupport :
+            from pywiiuse import pygame_wiimouse
+            pygame_wiimouse.init(4, 5, screenResolution) # look for 4, wait 5 seconds
+            nwiimotes = pygame_wiimouse.get_count()
+            print '%d wiimotes' % nwiimotes
+            WT = pygame_wiimouse.WT
+            WT.pause()
+        else :
+            nwiimotes = 0
+            class _WTFacade :
+                selectWimoteIndex = 0
+                def pause(self):
+                    pass
+                def resume(self):
+                    pass
+                def selectWiimote(self, i):
+                    pass
+            WT = _WTFacade()
 
-        pygame.display.set_mode(modeResolution)
+        pygame.display.set_mode(screenResolution)
         pygame.display.set_caption('MinWii')
 
         while True :
             # sélection de la chanson
-            home = Home(songPath=SONG_FILE_PATH)
+            home = Home(songPath=SONG_FILE_PATH,
+                        nwiimotes=nwiimotes)
             home.connect(QUIT, app.quit)
             app.run(home)
             app.close(home)
             returnValue = home.returnValue
+            print 'home.selectedWiimoteIndex', home.selectedWiimoteIndex
             if not returnValue :
                 break
             
-            # sélection de l'instrument
+            WT.selectWiimote(home.selectedWiimoteIndex)
             WT.resume()
+
+            # sélection de l'instrument
             selector = InstrumentSelector()
             selector.run()
             selector.stop()