ménage (par le vide)
[minwii.git] / src / gui / PGUConfiguration.py
diff --git a/src/gui/PGUConfiguration.py b/src/gui/PGUConfiguration.py
deleted file mode 100644 (file)
index 214a347..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-'''\r
-Created on 12 nov. 2009\r
-\r
-@author: Samuel Benveniste\r
-'''\r
-\r
-import os\r
-import sys\r
-import subprocess\r
-\r
-import pygame\r
-import pygame.midi\r
-import pickle\r
-\r
-from pygame.locals import *\r
-\r
-from pgu import gui as pguGui\r
-\r
-from PlayingScreen import PlayingScreen\r
-from SongPlayingScreen import SongPlayingScreen\r
-from InstrumentChoice import InstrumentChoice\r
-from instruments.Instrument import Instrument\r
-from cursor.WarpingCursor import *\r
-from controllers.Wiimote import Wiimote\r
-from logging.Log import Log\r
-from songs.Song import Song,loadSong\r
-from songs.musicxmltosong import musicXml2Song\r
-from constants import *\r
-from MINWiiDialog import MINWiiDialog\r
-\r
-class PGUConfiguration(pguGui.Desktop):\r
-    '''\r
-    classdocs\r
-    '''\r
-\r
-\r
-    def __init__(self,window):\r
-        '''\r
-        Constructor\r
-        '''\r
-        pguGui.Desktop.__init__(self)\r
-        self.extendedScale = False\r
-        self.cascade = False\r
-        self.song = None\r
-        self.scale = scaleDict["majorScale"]\r
-        self.log = None\r
-        self.done = False\r
-        self.easyMode = True\r
-        self.mode = 0\r
-        self.activeWiimotes = [False for i in range(4)]\r
-        self.alwaysDown = False\r
-        \r
-        self.file = None\r
-        #fileName is the path for the log file\r
-        self.fileName = fileName\r
-        self.titleFont = pygame.font.Font(None,100)\r
-        self.font = pygame.font.Font(None,70)\r
-        self.spaceSize = (100,100)\r
-        \r
-        self.browseButton = pguGui.Button(self.createLabel("Choisir..."))\r
-        self.browseButton.connect(pguGui.CLICK, self.open_file_browser, None)\r
-        \r
-        self.songSwitch = pguGui.Switch(False)\r
-        \r
-        self.modeSelect = pguGui.Select()\r
-        for key in modeDict.keys() :\r
-            self.modeSelect.add(self.createLabel(reversedReadabilityDict[key]),key)\r
-        self.modeSelect.connect(pguGui.CHANGE,self.modeSelectChanged,None)\r
-        \r
-        self.activeWiimoteSwitches = [pguGui.Switch(False) for i in range(4)]\r
-        for i in range(len(self.activeWiimoteSwitches)) :\r
-            self.activeWiimoteSwitches[i].connect(pguGui.CHANGE,self.activeWiimoteSwitchesChanged,i)\r
-        \r
-        self.goButton = pguGui.Button(self.createLabel("Go"))\r
-        self.goButton.connect(pguGui.CLICK,self.goButtonClicked,None)\r
-        \r
-        self.quitButton = pguGui.Button(self.createLabel("Fin"))\r
-        self.quitButton.connect(pguGui.CLICK,self.quitButtonClicked,None)\r
-        \r
-        self.connect(pguGui.QUIT,self.quit,None)\r
-        \r
-        self.window = window\r
-        \r
-        ##The table code is entered much like HTML.\r
-        ##::\r
-        \r
-        self.mainTable = pguGui.Table()\r
-        \r
-        self.fillMainTable()\r
-                \r
-#        self.mainTable.tr()\r
-#        self.mainTable.td(self.createLabel("MINWii",self.titleFont),colspan = 4)\r
-        \r
-        self.run(self.mainTable)\r
-        \r
-    def open_file_browser(self,data=None):\r
-        d = MINWiiDialog(font = self.font,width = 800, height = 600,path = "../songs/smwis")\r
-        d.connect(pguGui.CHANGE, self.handle_file_browser_closed, d)\r
-        d.open()\r
-    \r
-\r
-    def handle_file_browser_closed(self,dlg):\r
-        if dlg.value:\r
-            if os.path.isfile(dlg.value):\r
-                self.file = dlg.value\r
-                if self.file.endswith('.smwi') :\r
-                    self.song = loadSong(self.file)\r
-                    key = os.path.basename(self.file)[:-5]\r
-                    if key in reversedReadabilityDict :                     \r
-                        label = self.createLabel(reversedReadabilityDict[key])\r
-                    else :\r
-                        label = self.createLabel(key)\r
-                elif self.file.endswith('.xml') :\r
-                    self.song = musicXml2Song(self.file, printNotes=True)\r
-                    filename = os.path.basename(self.file)\r
-                    label = self.createLabel(filename) \r
-                self.browseButton = pguGui.Button(label)\r
-                self.browseButton.connect(pguGui.CLICK, self.open_file_browser, None)\r
-                if not self.songSwitch.value :\r
-                    self.songSwitch.click()\r
-                self.mainTable.clear()\r
-                self.fillMainTable()\r
-                \r
-                \r
-    def fillMainTable(self):\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(self.createLabel("Chanson :"))\r
-        self.mainTable.td(self.browseButton,colspan=2)\r
-        self.mainTable.td(self.songSwitch)\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(self.createLabel("Niveau :"))\r
-        self.mainTable.td(self.modeSelect,colspan=3)\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(self.createLabel("Joueurs :", self.font))\r
-        playerTable = pguGui.Table()\r
-        for i in range(len(self.activeWiimoteSwitches)):\r
-            playerTable.td(self.createLabel(" " + str(i+1)+" ", self.font))\r
-            playerTable.td(self.activeWiimoteSwitches[i])\r
-        self.mainTable.td(playerTable,colspan = 3)\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))\r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(self.goButton)\r
-        self.mainTable.td(self.quitButton,colspan=3)        \r
-        \r
-        self.mainTable.tr()\r
-        self.mainTable.td(pguGui.Spacer(500,500))        \r
-                           \r
-    def createLabel(self,text,font = None):\r
-        if font == None :\r
-            font = self.font\r
-        w,h = self.font.size(text)\r
-        label = pguGui.Label(text,width=w,height=h,font = font)\r
-        return(label)\r
-    \r
-    def songSelectChanged(self,data=None):\r
-        self.song = songDict[self.songSelect.value]\r
-        \r
-    def activeWiimoteSwitchesChanged(self,data = None):\r
-        if self.activeWiimoteSwitches[data].value :\r
-            for i in range(len(self.activeWiimoteSwitches)) :\r
-                if self.activeWiimoteSwitches[i].value and data != i :\r
-                    self.activeWiimoteSwitches[i].click()                \r
-        for i in range(len(self.activeWiimoteSwitches)) :\r
-            self.activeWiimotes[i] = self.activeWiimoteSwitches[i].value\r
-        \r
-    def modeSelectChanged(self,data = None):\r
-        self.mode = modeDict[self.modeSelect.value]\r
-        \r
-    def hasActiveWiimote(self):\r
-        hasActive = False\r
-        for i in self.activeWiimotes:\r
-            if i :\r
-                hasActive = True\r
-        return(hasActive)\r
-    \r
-    def quitButtonClicked(self,data = None):\r
-        self.done = True\r
-        print 'puti'\r
-        for isActive in self.activeWiimotes :\r
-            print isActive\r
-        self.quit()\r
-    \r
-    def goButtonClicked(self,data = None):\r
-        pygame.font.init()\r
-        \r
-        if not self.hasActiveWiimote():\r
-            self.activeWiimotes[0] = True\r
-        pygame.midi.init()\r
-        instruments = [Instrument(self.scale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]\r
-        \r
-        joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]\r
-        for joy in joys:\r
-            print joy[1]\r
-            if joy[1] in joyNames:\r
-                print "On"\r
-                pygame.joystick.Joystick(joy[0]).init()\r
-            else :\r
-                print "off" \r
-        \r
-        ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]\r
-        portOffset = ports.index(portNames[0])\r
-        print(portOffset)\r
-        \r
-        screen = pygame.display.get_surface()\r
-        clock = pygame.time.Clock()        \r
-        cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]\r
-        durations = [75 for i in range(len(cursorImages[0]))]\r
-        \r
-        wiimoteCount = 4\r
-        cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),flashImage = '../cursor/cursorImages/black/flash.png' ) for i in range(wiimoteCount)]\r
-        wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]\r
-        \r
-        if self.song != None and self.songSwitch.value :\r
-            \r
-            if self.mode == 0 :\r
-                self.extendedScale = self.song.requiresExtendedScale\r
-                self.cascade = True\r
-                self.easyMode = True\r
-                self.alwaysDown = True\r
-            elif self.mode == 1 :\r
-                self.extendedScale = self.song.requiresExtendedScale\r
-                self.cascade = True\r
-                self.easyMode = True\r
-            elif self.mode == 2:\r
-                self.extendedScale = self.song.requiresExtendedScale\r
-                self.cascade = False\r
-                self.easyMode = True\r
-            elif self.mode == 3:\r
-                self.extendedScale = True\r
-                self.cascade = False\r
-                self.easyMode = False\r
-                \r
-            choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes, scaleFactor = songScaleFactor)\r
-            play = SongPlayingScreen(choice, self.song,self.cascade, self.extendedScale,self.easyMode,self.alwaysDown)\r
-        \r
-        else:\r
-            \r
-            if self.mode == 0 :\r
-                self.extendedScale = False\r
-                self.cascade = False\r
-            elif self.mode == 1 :\r
-                self.extendedScale = True\r
-                self.cascade = False\r
-            elif self.mode == 2:\r
-                self.extendedScale = False\r
-                self.cascade = True\r
-            elif self.mode == 3:\r
-                self.extendedScale = True\r
-                self.cascade = True\r
-                \r
-            choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes)\r
-            play = PlayingScreen(choice, None,self.cascade, self.extendedScale)            \r
-                \r
-        while play.backToInstrumentChoice == True :\r
-            \r
-            for wiimote in wiimotes:\r
-                del wiimote.port\r
-                \r
-            wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]\r
-            previousEventLog = choice.eventLog\r
-\r
-            if self.song != None :\r
-                choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset, self.activeWiimotes,eventLog = previousEventLog, replay = False, scaleFactor = songScaleFactor)\r
-                play = SongPlayingScreen(choice, self.song, False, self.extendedScale,self.easyMode)\r
-            else:\r
-                choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes, eventLog = previousEventLog, replay = False)\r
-                play = PlayingScreen(choice, None, self.cascade, self.extendedScale)\r
-                               \r
-        for wiimote in wiimotes:\r
-                del wiimote.port\r
-        \r
-        i = 1        \r
-        filePath = "".join([self.fileName,str(i),".mwi"])        \r
-        while os.path.exists(filePath):\r
-            i += 1\r
-            filePath = "".join([self.fileName,str(i),".mwi"])            \r
-        \r
-        f = file(filePath, 'w')\r
-        self.log = Log(play.eventLog,self.scale,self.extendedScale,self.cascade,self.song,self.mode,self.activeWiimotes)\r
-        pickler = pickle.Pickler(f)\r
-        pickler.dump(self.log)\r
-        \r
-        f.close()\r
-        \r
-        pygame.midi.quit()\r
-        \r
-        self.repaint()\r
-        \r
-if __name__ == "__main__" :\r
-    pygame.init()\r
-    modeResolution = (1024,768)\r
-    window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)\r
-    pgu = PGUConfiguration(window)\r
-    pygame.quit()   \r
-        \r
-        \r
-        \r
-        
\ No newline at end of file