+++ /dev/null
-# -*- coding: utf-8 -*-
-"""
-l'application winwii
-
-$Id$
-$URL$
-"""
-
-import pygame
-from pgu.gui import Desktop
-from pgu.gui import QUIT
-from widgets.launch import LaunchScreen
-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 config import SONG_FILE_PATH
-from globals import PLAYING_MODES_DICT
-
-
-class MinWii(object):
-
- def __init__(self, wimoteSupport=True) :
- LaunchScreen()
- app = Desktop()
- synth = Synth()
-
- 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(screenResolution)
- pygame.display.set_caption('MinWii')
-
- while True :
- # sélection de la chanson
- 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
-
- WT.selectWiimote(home.selectedWiimoteIndex)
- WT.resume()
-
- # sélection de l'instrument
- selector = InstrumentSelector()
- selector.run()
- selector.stop()
- pygame.event.clear()
- EventDispatcher.reset()
- instrumentDescription = selector.selectedInstrument
-
- # lancement du lecteur / clavier
- songFile = home.songFile
- playMode = home.modeSelect.value
- playMode = PLAYING_MODES_DICT[playMode]
- song = musicXml2Song(songFile)
- bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
- octave = instrumentDescription.get('octave', 0)
- synth.adjust_octave(0, octave)
- synth.program_select(0, bank, preset)
- playingScreen = SongPlayingScreen(synth, song, mode=playMode)
- playingScreen.run()
- pygame.event.clear()
- EventDispatcher.reset()
- WT.pause()