X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/9371dfb82887daf6c2c4124def9929284239190a..a111b5a9b605b9c5c40933c5a8d5b3a5b42a03ae:/src/songs/musicxmltosong.py?ds=sidebyside diff --git a/src/songs/musicxmltosong.py b/src/songs/musicxmltosong.py index d24d81a..7f5c8bb 100755 --- a/src/songs/musicxmltosong.py +++ b/src/songs/musicxmltosong.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -converstion d'un fichier musicxml en objet song minwii. +conversion d'un fichier musicxml en objet song minwii. $Id$ $URL$ @@ -108,9 +108,14 @@ class Part(object) : verse.append(self.notes[-1]) - def iterNotes(self) : + def iterNotes(self, indefinitely=True) : "exécution de la chanson avec l'alternance couplets / refrains" - for verse in cycle(self.verses) : + print 'indefinitely', indefinitely + if indefinitely == False : + iterable = self.verses + else : + iterable = cycle(self.verses) + for verse in iterable : print "---partie---" repeats = len(verse[0].lyrics) if repeats > 1 : @@ -128,7 +133,7 @@ class Part(object) : yield note, 0 def pprint(self) : - for note, verseIndex in self.iterNotes() : + for note, verseIndex in self.iterNotes(indefinitely=False) : print note, note.lyrics[verseIndex] @@ -298,32 +303,10 @@ def musicXml2Song(input, partIndex=0, printNotes=False) : part.pprint() return part - - - # divisions de la noire -# divisions = 0 -# midiNotes, durations, lyrics = [], [], [] -# -# for measureNode in leadPart.getElementsByTagName('measure') : -# divisions = int(_getNodeValue(measureNode, 'attributes/divisions', divisions)) -# for noteNode in measureNode.getElementsByTagName('note') : -# note = Note(noteNode, divisions) -# if printNotes : -# print note.name, note.midi, note.duration, note.lyric -# midiNotes.append(note.midi) -# durations.append(note.duration) -# lyrics.append(note.lyric) -# -# song = Song(None, -# midiNoteNumbers = midiNotes, -# noteLengths = durations, -# lyrics = lyrics, -# notesInExtendedScale=None) -# song.save(output) def main() : - usage = "%prog musicXmlFile.xml outputSongFile.smwi [options]" + usage = "%prog musicXmlFile.xml [options]" op = OptionParser(usage) op.add_option("-i", "--part-index", dest="partIndex" , default = 0