from musicxml import musicXml2Song
from config import SONG_FILE_PATH
from globals import PLAYING_MODES_DICT
-from log import console
+from log import console, LOG_FORMAT_VERSION, envLogger
class MinWii(object):
def __init__(self, wiimoteSupport=True) :
+ envLogger.info('winwii log format version : %s', LOG_FORMAT_VERSION)
self.wiimoteSupport = wiimoteSupport
LaunchScreen()
self.app = Desktop()
self.synth = Synth()
self.screenResolution = (1024,768)
+ envLogger.info('résolution écran : %s', self.screenResolution)
self.nwiimotes = 0
self.initWiimotes()
+ self.firstSong = True
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)
+ console.debug('wiimotes found : %d', nwiimotes)
self.WT = WT = pygame_wiimouse.WT
WT.pause()
else :
self.WT = _WTFacade()
def run(self) :
- "manage the screen sequence display"
+ "séquençage de l'affichage des écrans"
pygame.display.set_mode(self.screenResolution)
pygame.display.set_caption('MinWii')
WT.resume()
instrumentDescription = self.selectInstrument()
+ if not instrumentDescription :
+ WT.pause()
+ continue
+
self.runPlayingScreen(songFile, playMode, instrumentDescription)
WT.pause()
app.run(home)
app.close(home)
-
- actual_wiimotes = self.WT.get_count()
- if actual_wiimotes is None :
- msg = 'chanson : %s\nmode : %s\nHID : souris'
- msg = msg % (home.songFile,
- home.modeSelect.value)
- elif actual_wiimotes == 0 :
- msg = 'chanson : %s\nmode : %s\nHID : souris (pas de wiimote trouvée)'
- msg = msg % (home.songFile,
- home.modeSelect.value)
+ #logging
+ if home.exitApp :
+ console.debug("sortie de l'application")
else :
- msg = 'chanson : %s\nmode : %s\nHID : wiimote %d'
- msg = msg % (home.songFile,
- home.modeSelect.value,
- home.selectedWiimote.value + 1)
-
- console.info(msg)
+ actual_wiimotes = self.WT.get_count()
+ if self.firstSong :
+ self.firstSong = False
+ else :
+ envLogger.info('NEW_LOG_FILE')
+ console.info('chanson : %s', home.songFile)
+ console.info('mode : %s', home.modeSelect.value)
+ if actual_wiimotes is None :
+ console.info('HID : souris')
+ elif actual_wiimotes == 0 :
+ console.info('HID : souris (pas de wiimote trouvée)')
+ else :
+ console.info('HID : wiimote %d', home.selectedWiimote.value + 1)
+ #---
return (home.exitApp,
home.songFile,
selector.stop()
pygame.event.clear()
EventDispatcher.reset()
- return selector.selectedInstrument
+ instru = selector.selectedInstrument
+ if instru :
+ console.info('instrument : %s', instru['name'])
+ console.info('preset : %d', instru['preset'])
+ console.info('bank : %d', instru['bank'])
+ console.info('ajustement octave : %d', instru['octave'])
+ return instru
def runPlayingScreen(self, songFile, playMode, instrumentDescription) :
""" Lance l'écran de jeu principal avec la chanson 'songFile' dans le mode 'playMode'
playMode = PLAYING_MODES_DICT[playMode]
song = musicXml2Song(songFile)
bank, preset = instrumentDescription['bank'], instrumentDescription['preset']
- octave = instrumentDescription.get('octave', 0)
+ octave = instrumentDescription['octave']
self.synth.adjust_octave(0, octave)
self.synth.program_select(0, bank, preset)
playingScreen = SongPlayingScreen(self.synth, song, mode=playMode)