+ def __init__(self, wiimoteSupport=True) :
+ self.wiimoteSupport = wiimoteSupport
+ LaunchScreen()
+ self.app = Desktop()
+ self.synth = Synth()
+ self.screenResolution = (1024,768)
+ console.info('résolution écran : %s', self.screenResolution)
+ self.nwiimotes = 0
+ self.initWiimotes()
+
+ def initWiimotes(self) :
+ if self.wiimoteSupport :
+ from pywiiuse import pygame_wiimouse
+ pygame_wiimouse.init(4, 5, self.screenResolution) # look for 4, wait 5 seconds
+ self.nwiimotes = nwiimotes = pygame_wiimouse.get_count()
+ console.debug('%d wiimotes found', nwiimotes)
+ self.WT = WT = pygame_wiimouse.WT
+ WT.pause()
+ else :
+ self.WT = _WTFacade()
+
+ def run(self) :
+ "séquençage de l'affichage des écrans"
+
+ pygame.display.set_mode(self.screenResolution)
+ pygame.display.set_caption('MinWii')
+ WT = self.WT
+
+ while True :
+
+ exit, songFile, playMode, selectedWiimoteIndex = self.selectSongAndOptions()
+ if exit : break
+
+ WT.selectWiimote(selectedWiimoteIndex)
+ WT.resume()
+
+ instrumentDescription = self.selectInstrument()
+ if not instrumentDescription :
+ WT.pause()
+ continue
+
+ self.runPlayingScreen(songFile, playMode, instrumentDescription)
+
+ WT.pause()
+
+
+ def selectSongAndOptions(self) :
+ """ lance l'écran de paramétrage et retourne un tuple comportant :
+ - drapeau de sortie de l'application (booléen)
+ - chemin du fichier de la chanson
+ - mode (entier)
+ - wiimote sélectionnée (entier)
+ """
+ home = Home(songPath=SONG_FILE_PATH,
+ nwiimotes=self.nwiimotes)
+ app = self.app
+ home.connect(QUIT, app.quit)
+ app.run(home)
+ app.close(home)