From: pin Date: Tue, 23 Mar 2010 15:03:02 +0000 (+0000) Subject: Prise en charge du mode. X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/commitdiff_plain/a4026ac6cb2afe5804ca826f7e8fa04254d36d46 Prise en charge du mode. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@113 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/app/globals.py b/src/app/globals.py index ef51d78..0dde5f3 100755 --- a/src/app/globals.py +++ b/src/app/globals.py @@ -11,10 +11,14 @@ from math import floor BACKGROUND_LAYER = 0 FOREGROUND_LAYER = 1 CURSOR_LAYER = 2 -PLAYING_MODES = {'EASY':0 - ,'NORMAL':1 - ,'ADVANCED':2 - ,'EXPERT':3} +PLAYING_MODES = (('EASY' , u'Facile'), + ('NORMAL' , u'Normal'), + ('ADVANCED', u'Avancé'), + ('EXPERT' , u'Expert')) + + + +PLAYING_MODES_DICT = dict([(v[0], i) for i, v in enumerate(PLAYING_MODES)]) def hls_to_rgba_8bits(h, l, s, a=1) : #convert to rgb ranging from 0 to 255 diff --git a/src/app/minwii.py b/src/app/minwii.py index 06e33f7..2e65952 100755 --- a/src/app/minwii.py +++ b/src/app/minwii.py @@ -17,7 +17,7 @@ from synth import Synth from eventutils import EventDispatcher from musicxml import musicXml2Song from config import SONG_FILE_PATH -from time import sleep +from globals import PLAYING_MODES_DICT class MinWii(object): @@ -49,10 +49,13 @@ class MinWii(object): instrumentDescription = selector.selectedInstrument # lancement du lecteur / clavier - song = musicXml2Song(home.songFile) + songFile = home.songFile + playMode = home.modeSelect.value + playMode = PLAYING_MODES_DICT[playMode] + song = musicXml2Song(songFile) bank, preset = instrumentDescription['bank'], instrumentDescription['preset'] synth.program_select(0, bank, preset) - playingScreen = SongPlayingScreen(synth, song) + playingScreen = SongPlayingScreen(synth, song, mode=playMode) playingScreen.run() pygame.event.clear() EventDispatcher.reset() diff --git a/src/app/widgets/data/accueil.png b/src/app/widgets/data/accueil.png index cd3224b..9be4901 100644 Binary files a/src/app/widgets/data/accueil.png and b/src/app/widgets/data/accueil.png differ diff --git a/src/app/widgets/home.py b/src/app/widgets/home.py index 6d9d7d5..1aa74d3 100755 --- a/src/app/widgets/home.py +++ b/src/app/widgets/home.py @@ -15,7 +15,7 @@ from pgu.gui import CLICK from pgu.gui import QUIT from pgu.gui import CHANGE import pygame -from gui.constants import reversedReadabilityDict, modeDict +from globals import PLAYING_MODES from songfilebrowser import FileOpenDialog import os.path @@ -53,9 +53,9 @@ class Home(Table) : # choix du niveau self.tr() self.td(self.createLabel("Niveau :")) - self.modeSelect = Select('easy') - for key in modeDict.keys() : - self.modeSelect.add(self.createLabel(reversedReadabilityDict[key]),key) + self.modeSelect = Select('EASY') + for k, caption in PLAYING_MODES : + self.modeSelect.add(self.createLabel(caption), k) self.td(self.modeSelect,colspan=3) self.tr() @@ -80,7 +80,7 @@ class Home(Table) : self.tr() self.quitButton = Button(self.createLabel("Quitter")) self.td(self.quitButton) - self.playButton = Button(self.createLabel("Jouer")) + self.playButton = Button(self.createLabel("Jouer"), disabled=True) self.td(self.playButton,colspan=3) self.tr() @@ -114,6 +114,7 @@ class Home(Table) : def handle_file_browser_closed(self, dlg) : if dlg.value and os.path.isfile(dlg.value): self.songFile = dlg.value + self.playButton.disabled = False \ No newline at end of file diff --git a/src/app/widgets/playingscreen.py b/src/app/widgets/playingscreen.py index f5cbdb6..2fad9c2 100755 --- a/src/app/widgets/playingscreen.py +++ b/src/app/widgets/playingscreen.py @@ -21,7 +21,7 @@ from config import DEFAULT_MIDI_VELOCITY from globals import BACKGROUND_LAYER from globals import CURSOR_LAYER -from globals import PLAYING_MODES +from globals import PLAYING_MODES_DICT class _PlayingScreenBase(pygame.sprite.LayeredDirty, EventHandlerMixin) : @@ -169,17 +169,17 @@ class PlayingScreen(_PlayingScreenBase) : class SongPlayingScreen(_PlayingScreenBase) : - def __init__(self, synth, song, mode=PLAYING_MODES['EASY']) : + def __init__(self, synth, song, mode=PLAYING_MODES_DICT['EASY']) : super(SongPlayingScreen, self).__init__(synth, song.distinctNotes) self.song = song self.quarterNoteDuration = song.quarterNoteDuration self.currentColumn = None self.noteIterator = self.song.iterNotes() self.displayNext() - if mode == PLAYING_MODES['NORMAL'] : + if mode == PLAYING_MODES_DICT['NORMAL'] : EventDispatcher.addEventListener(events.COLDOWN, self.handleColumnDown) EventDispatcher.addEventListener(events.COLUP, self.handleColumnUp) - elif mode == PLAYING_MODES['EASY'] : + elif mode == PLAYING_MODES_DICT['EASY'] : EventDispatcher.addEventListener(events.COLOVER, self.handleColumnOver)