xtreme programming step1 : gestion des fichiers xml dans la boîte de dialogue d'ouver...
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 8 Feb 2010 10:14:02 +0000 (10:14 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 8 Feb 2010 10:14:02 +0000 (10:14 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@11 fe552daf-6dbe-4428-90eb-1537e0879342

.pydevproject
.settings/org.eclipse.core.resources.prefs
src/gui/MINWiiDialog.py
src/gui/PGUConfiguration.py
src/songs/musicxmltosong.py

index e35390d..ed4bea1 100755 (executable)
@@ -3,7 +3,7 @@
 \r
 <pydev_project>\r
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">\r
-<path>/MINWiiV7/src</path>\r
+<path>/MINWii-pinbe/src</path>\r
 </pydev_pathproperty>\r
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>\r
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>\r
index 6a3e2eb..abf067d 100644 (file)
@@ -1,5 +1,6 @@
-#Mon Dec 07 03:31:40 CET 2009\r
+#Mon Feb 08 10:43:31 CET 2010\r
 eclipse.preferences.version=1\r
+encoding//src/gui/MINWiiDialog.py=utf-8\r
 encoding//src/mxmMidi/DataTypeConverters.py=ISO-8859-1\r
 encoding//src/mxmMidi/EventDispatcher.py=ISO-8859-1\r
 encoding//src/mxmMidi/MidiFileParser.py=ISO-8859-1\r
@@ -12,3 +13,4 @@ encoding//src/mxmMidi/RawInstreamFile.py=ISO-8859-1
 encoding//src/mxmMidi/RawOutstreamFile.py=ISO-8859-1\r
 encoding//src/mxmMidi/__init__.py=ISO-8859-1\r
 encoding//src/mxmMidi/constants.py=ISO-8859-1\r
+encoding//src/songs/musicxmltosong.py=utf-8\r
index 51e51af..4116318 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-\r
 '''\r
 Created on 17 dec. 2009\r
 \r
@@ -53,6 +54,11 @@ class MINWiiDialog(pguGui.FileDialog):
                     else :\r
                         label = pguGui.basic.Label(key,font = self.customFont)\r
                     self.list.add(label,value=i)\r
+                elif i.endswith(".xml") :\r
+                    # TODO : afficher le Titre de la chanson au lieu du nom\r
+                    # de fichier\r
+                    label = pguGui.basic.Label(i, font=self.customFont)\r
+                    self.list.add(label,value=i)\r
         #self.list.resize()\r
         self.list.set_vertical_scroll(0)\r
         #self.list.repaintall()\r
index 631932c..214a347 100644 (file)
@@ -24,6 +24,7 @@ from cursor.WarpingCursor import *
 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
@@ -102,12 +103,17 @@ class PGUConfiguration(pguGui.Desktop):
         if dlg.value:\r
             if os.path.isfile(dlg.value):\r
                 self.file = dlg.value\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
+                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
@@ -115,6 +121,7 @@ class PGUConfiguration(pguGui.Desktop):
                 self.mainTable.clear()\r
                 self.fillMainTable()\r
                 \r
+                \r
     def fillMainTable(self):\r
         \r
         self.mainTable.tr()\r
index 0d4bb99..39df188 100755 (executable)
@@ -9,7 +9,7 @@ import sys
 from types import StringTypes
 from xml.dom.minidom import parse
 from optparse import OptionParser
-from Song import Song
+#from Song import Song
 
 # Do4 <=> midi 60
 OCTAVE_REF = 4
@@ -192,7 +192,7 @@ def _getNodeValue(node, path, default=_marker) :
         else :
             return default
 
-def musicXml2Song(input, output, partIndex=0, printNotes=False) :
+def musicXml2Song(input, partIndex=0, printNotes=False) :
     if isinstance(input, StringTypes) :
         input = open(input, 'r')
     
@@ -209,6 +209,9 @@ def musicXml2Song(input, output, partIndex=0, printNotes=False) :
     
     if printNotes :
         part.pprint()
+
+    return part
+
     
     # divisions de la noire
 #    divisions = 0
@@ -245,10 +248,10 @@ def main() :
     
     options, args = op.parse_args()
     
-    if len(args) != 2 :
+    if len(args) != 1 :
         raise SystemExit(op.format_help())
     
-    musicXml2Song(args[0], args[1], partIndex=options.partIndex, printNotes=options.printNotes)
+    musicXml2Song(args[0], partIndex=options.partIndex, printNotes=options.printNotes)