Refactoring orienté objet.
[minwii.git] / src / minwii / musicxml.py
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__' :