Ajout de la propriété « duration » sur l'objet musicxml.Part. Modification dans le...
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 27 Sep 2011 11:47:20 +0000 (11:47 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Tue, 27 Sep 2011 11:47:20 +0000 (11:47 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@394 fe552daf-6dbe-4428-90eb-1537e0879342

src/minwii/loganalyse.py
src/minwii/musicxml.py

index f3e5e32..61b0382 100755 (executable)
@@ -139,10 +139,7 @@ class LogFileAnalyser(LogFileReader) :
         
         songFile = self.getSongFile()
         song = musicXml2Song(songFile)
         
         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
         return self._toTimeDelta(duration)
     
     @statsresults
index 7468eca..54d859f 100755 (executable)
@@ -176,6 +176,17 @@ class Part(object) :
                 histogram[interval] = 1
             previousNote = note
         return histogram
                 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) :
         
     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)
                   printNotes=options.printNotes)
     from pprint import pprint
     pprint(song.intervalsHistogram)
+    print song.duration
 
 
 if __name__ == '__main__' :
 
 
 if __name__ == '__main__' :