From: pin Date: Tue, 27 Sep 2011 11:47:20 +0000 (+0000) Subject: Ajout de la propriété « duration » sur l'objet musicxml.Part. Modification dans le... X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/commitdiff_plain/94e7b3f13f4247613609d53c95d0ba59a1eee9d1?ds=sidebyside Ajout de la propriété « duration » sur l'objet musicxml.Part. Modification dans le code d'analyse pour prendre en charge cette propriété. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@394 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/minwii/loganalyse.py b/src/minwii/loganalyse.py index f3e5e32..61b0382 100755 --- a/src/minwii/loganalyse.py +++ b/src/minwii/loganalyse.py @@ -139,10 +139,7 @@ class LogFileAnalyser(LogFileReader) : songFile = self.getSongFile() song = musicXml2Song(songFile) - duration = 0 - for note, verseIndex in song.iterNotes() : - duration = duration + note.duration - duration = duration * song.quarterNoteDuration # en milisecondes + duration = song.duration return self._toTimeDelta(duration) @statsresults diff --git a/src/minwii/musicxml.py b/src/minwii/musicxml.py index 7468eca..54d859f 100755 --- a/src/minwii/musicxml.py +++ b/src/minwii/musicxml.py @@ -176,6 +176,17 @@ class Part(object) : histogram[interval] = 1 previousNote = note return histogram + + @property + def duration(self) : + 'Durée de référence du morceau en milisecondes' + it = self.iterNotes() + duration = 0 + for note, verseIndex in it : + duration = duration + note.duration + duration = duration * self.quarterNoteDuration # en milisecondes + return duration + def pprint(self) : for note, verseIndex in self.iterNotes(indefinitely=False) : @@ -423,6 +434,7 @@ def main() : printNotes=options.printNotes) from pprint import pprint pprint(song.intervalsHistogram) + print song.duration if __name__ == '__main__' :