X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/2afd6b2dc26dd12ecbba36d221a7cc45f19673f2..40df0291f9bad08da9ee6c5fc0457899bd52b7ac:/src/app/musicxml.py diff --git a/src/app/musicxml.py b/src/app/musicxml.py index ab6dbf9..ec3be4a 100755 --- a/src/app/musicxml.py +++ b/src/app/musicxml.py @@ -53,6 +53,7 @@ class Part(object) : self.notes = [] self.repeats = [] self.distinctNotes = [] + self.quarterNoteDuration = 500 self._parseMusic() self.verses = [[]] self.chorus = [] @@ -104,6 +105,15 @@ class Part(object) : self.repeats.append(barline) self.distinctNotes.sort(lambda a, b : cmp(a.midi, b.midi)) + sounds = self.node.getElementsByTagName('sound') + tempo = 120 + for sound in sounds : + if sound.hasAttribute('tempo') : + tempo = float(sound.getAttribute('tempo')) + break + + self.quarterNoteDuration = int(round(60000/tempo)) + def _findChorus(self): @@ -138,7 +148,6 @@ class Part(object) : def iterNotes(self, indefinitely=True) : "exécution de la chanson avec l'alternance couplets / refrains" - print 'indefinitely', indefinitely if indefinitely == False : iterable = self.verses else : @@ -235,7 +244,7 @@ class Tone(object) : def name(self) : name = '%s%d' % (self.step, self.octave) if self.alter < 0 : - alterext = 'b' + alterext = '♭' else : alterext = '#' name = '%s%s' % (name, abs(self.alter) * alterext) @@ -245,10 +254,10 @@ class Tone(object) : def nom(self) : name = FR_NOTES[self.step] if self.alter < 0 : - alterext = 'b' + alterext = u'♭' else : - alterext = '#' - name = '%s%s' % (name, abs(self.alter) * alterext) + alterext = u'#' + name = u'%s%s' % (name, abs(self.alter) * alterext) return name