X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/346a9b8e1fcfe30629f0d1ee4675e9e8f89890cf..4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349:/src/gui/FamiliarizerPGUConfiguration.py diff --git a/src/gui/FamiliarizerPGUConfiguration.py b/src/gui/FamiliarizerPGUConfiguration.py deleted file mode 100644 index a7b21f7..0000000 --- a/src/gui/FamiliarizerPGUConfiguration.py +++ /dev/null @@ -1,237 +0,0 @@ -''' -Created on 12 nov. 2009 - -@author: Samuel Benveniste -''' -from logging.FamiliarizerLog import FamiliarizerLog - -import os -import sys -import subprocess - -import pygame -import pygame.midi -import pickle - -from pygame.locals import * - -from pgu import gui - -from StaticFamiliarizer import StaticFamiliarizer -from SongFamiliarizer import SongFamiliarizer -from instruments.Instrument import Instrument -from cursor.WarpingCursor import * -from controllers.Wiimote import Wiimote -from logging.FamiliarizerLog import FamiliarizerLog -from songs.Song import Song -from constants import * -from SongPlayingScreen import SongPlayingScreen -from DummyInstrumentChoice import DummyInstrumentChoice - -class FamiliarizerPGUConfiguration(gui.Desktop): - ''' - classdocs - ''' - - - def __init__(self,window,defaultParams = False): - ''' - Constructor - ''' - gui.Desktop.__init__(self) - self.done = False - self.level = 0 - self.scale = scaleDict["majorScale"] - self.fileName = fileName - self.log = None - self.activeWiimotes = [False for i in range(4)] - - pygame.font.init() - - self.titleFont = pygame.font.Font(None,100) - self.font = pygame.font.Font(None,70) - self.spaceSize = (100,100) - - self.goButton = gui.Button(self.createLabel("Go")) - self.goButton.connect(gui.CLICK,self.goButtonClicked,None) - - self.quitButton = gui.Button(self.createLabel("Fin")) - self.quitButton.connect(gui.CLICK,self.quitButtonClicked,None) - - self.levelSelect = gui.Select() - for i in range(3) : - self.levelSelect.add(self.createLabel(str(i+1)),i) - self.levelSelect.connect(gui.CHANGE,self.levelSelectChanged,None) - - self.activeWiimoteSwitches = [gui.Switch(False) for i in range(4)] - for i in range(len(self.activeWiimoteSwitches)) : - self.activeWiimoteSwitches[i].connect(gui.CHANGE,self.activeWiimoteSwitchesChanged,i) - - self.connect(gui.QUIT,self.quit,None) - - self.window = window - - ##The table code is entered much like HTML. - ##:: - mainContainer = gui.Table() - - c = gui.Table() - -# c.tr() -# c.td(self.createLabel("MINWii",self.titleFont),colspan = 4) - - c.tr() - c.td(gui.Spacer(*self.spaceSize)) - - c.tr() - c.td(self.createLabel("Niveau :")) - c.td(self.levelSelect,colspan=3) - - c.tr() - c.td(gui.Spacer(*self.spaceSize)) - - c.tr() - c.td(self.createLabel("Joueurs :", self.font)) - playerTable = gui.Table() - for i in range(len(self.activeWiimoteSwitches)): - playerTable.td(self.createLabel(" " + str(i+1)+" ", self.font)) - playerTable.td(self.activeWiimoteSwitches[i]) - c.td(playerTable,colspan = 3) - - c.tr() - c.td(gui.Spacer(*self.spaceSize)) - - c.tr() - c.td(self.goButton) - c.td(self.quitButton,colspan=3) - - c.tr() - c.td(gui.Spacer(500,500)) - - mainContainer.add(c,0,0) - - if defaultParams : - self.goButtonClicked() - else : - self.run(mainContainer) - - def open_file_browser(self,data=None): - d = gui.FileDialog() - d.connect(gui.CHANGE, self.handle_file_browser_closed, d) - d.open() - - - def handle_file_browser_closed(self,dlg): - if dlg.value: - self.file = dlg.value - - def createLabel(self,text,font = None): - if font == None : - font = self.font - w,h = self.font.size(text) - label = gui.Label(text,width=w,height=h,font = font) - return(label) - - def levelSelectChanged(self,data=None): - self.level = self.levelSelect.value - - def quitButtonClicked(self,data = None): - self.done = True - self.quit() - - def activeWiimoteSwitchesChanged(self,data = None): - if self.activeWiimoteSwitches[data].value : - for i in range(len(self.activeWiimoteSwitches)) : - if self.activeWiimoteSwitches[i].value and data != i : - self.activeWiimoteSwitches[i].click() - for i in range(len(self.activeWiimoteSwitches)) : - self.activeWiimotes[i] = self.activeWiimoteSwitches[i].value - - def hasActiveWiimote(self): - hasActive = False - for active in self.activeWiimotes : - if active : - hasActive = True - break - return(hasActive) - - - - - def goButtonClicked(self,data = None): - - pygame.midi.init() - instruments = [Instrument(self.scale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)] - - joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())] - for joy in joys: - if joy[1] in joyNames: - pygame.joystick.Joystick(joy[0]).init() - - ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())] - portOffset = ports.index(portNames[0]) - print(portOffset) - - screen = pygame.display.get_surface() - clock = pygame.time.Clock() - cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']] - durations = [75 for i in range(len(cursorImages))] - - extsc = True - casc = False - easyMode = True - - song = Song(scaleDict["majorScale"],[3,9,6,4,1,8,5,7,2,10],True) - - wiimoteCount = 4 - - cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),'../cursor/cursorImages/black/flash.png') for i in range(wiimoteCount)] - wiimotes = [Wiimote(i, i + portOffset, None, instruments[0], cursors[i]) for i in range(wiimoteCount)] - dummyInstrumentChoice = DummyInstrumentChoice(wiimotes, self.window, screen, clock, joys, portOffset, self.activeWiimotes) - if not self.hasActiveWiimote(): - self.activeWiimotes[0] = True - if self.level < 2 : - familiarize = StaticFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes,level = self.level) - elif familiarize.nextLevel == 2 : - familiarize = SongFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,song,self.activeWiimotes,casc,extsc,easyMode) - else : - familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True) - - while familiarize.nextLevel != None : - if familiarize.nextLevel < 2 : - familiarize = StaticFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes,level = familiarize.nextLevel,eventLog = familiarize.eventLog) - elif familiarize.nextLevel == 2 : - familiarize = SongFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,song,self.activeWiimotes,casc,extsc,easyMode,eventLog = familiarize.eventLog) - else : - familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True,eventLog = familiarize.eventLog) - - for wiimote in wiimotes: - del wiimote.port - - pygame.midi.quit() - - i = 1 - filePath = "".join([self.fileName,str(i),".fmwi"]) - while os.path.exists(filePath): - i += 1 - filePath = "".join([self.fileName,str(i),".fmwi"]) - - f = file(filePath, 'w') - self.log = FamiliarizerLog(familiarize.eventLog,self.level,self.activeWiimotes) - pickler = pickle.Pickler(f) - pickler.dump(self.log) - - f.close() - - self.repaint() - -if __name__ == "__main__" : - pygame.init() - modeResolution = (1024,768) - window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN) - familiarizer = FamiliarizerPGUConfiguration(window) - pygame.quit() - - - - \ No newline at end of file