From: pin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Date: Thu, 8 Jul 2010 12:37:49 +0000 (+0000)
Subject: Ajout de méthodes et commentaires.
X-Git-Url: https://svn.cri.ensmp.fr/git/minwii.git/commitdiff_plain/d0939a86a1795f5d2328202dcecf1eca8ebaf914

Ajout de méthodes et commentaires.


git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@279 fe552daf-6dbe-4428-90eb-1537e0879342
---

diff --git a/src/minwii/loganalyse.py b/src/minwii/loganalyse.py
index 1772849..551af7f 100755
--- a/src/minwii/loganalyse.py
+++ b/src/minwii/loganalyse.py
@@ -40,7 +40,8 @@ class LogFileAnalyser(LogFileReader) :
 
     POSSIBLE_ANALYSES = {'BEGINNER' : ('songDuration',
                                        'playingDuration',
-                                       'noteEndNoteOnLatency')}
+                                       'noteEndNoteOnLatency',
+                                       'noteOnCount')}
     
     def analyse(self) :
         mode = self.getMode()
@@ -55,15 +56,22 @@ class LogFileAnalyser(LogFileReader) :
         pprint(results)
     
     def playingDuration(self) :
+        """ retourne la durée écoulée entre le premier et de dernier message
+            de type événement : correspond à la durée d'interprétation.
+        """
         last = self.getLastEventTicks()
         first = self.getFirstEventTicks()
         return last - first
     
     def songDuration(self) :
+        """ retourne la durée de référence de la chanson
+            en prenant en compte le tempo présent dans la transcription
+            et en effectuant toutes les répétitions des couplets / refrains.
+        """
         songFile = self.getSongFile()
         song = musicXml2Song(songFile)
         duration = 0
-        for note, verseIndex in song.iterNotes(indefinitely=False) :
+        for note, verseIndex in song.iterNotes() :
             duration = duration + note.duration
         return duration * song.quarterNoteDuration
     
@@ -81,6 +89,20 @@ class LogFileAnalyser(LogFileReader) :
         
         return latencies
     
+    def noteOnCount(self) :
+        "retourne le nombre d'événements NOTEON"
+        
+        eIter = self.getEventsIterator()
+        cpt = 0        
+
+        for ticks, eventName, message in eIter :
+            if eventName == 'NOTEON' :
+                cpt = cpt + 1
+        
+        return cpt
+            
+        
+