]> CRI, Mines Paris - PSL - minwii.git/blobdiff - src/minwii/event_pprinters.py
renommage de app en minwii (ça va tout péter…).
[minwii.git] / src / minwii / event_pprinters.py
diff --git a/src/minwii/event_pprinters.py b/src/minwii/event_pprinters.py
new file mode 100755 (executable)
index 0000000..bc5834d
--- /dev/null
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+"""
+formatage des événements
+
+$Id$
+$URL$
+"""
+
+from events import eventNames
+import sys
+self = sys.modules[__name__]
+
+def log_NOTEON(e):
+    return '%3d %3d %3d' % (e.chan, e.key, e.vel)
+    
+def log_NOTEOFF(e):
+    return '%3d %3d' % (e.chan, e.key)
+    
+def log_NOTEEND(e):
+    return ''
+        
+def log_COLSTATECHANGE(e):
+    col = e.column
+    tone = col.tone
+    return u'%2d %5s %3s %3s %s' % \
+            (col.index, e.state, tone.midi, tone.name, e.syllabus)
+
+def _log_col(e) :
+    """ formate les événements de colonne COLDOWN, COLUP, COLOVER
+        - etat
+        - index de colonne
+        - hauteur midi
+        - nom de la note /A-G[#b]?/
+    """
+    col = e.column
+    tone = col.tone
+    pos = e.pos
+    return u'%2d %5s %3s %3s %r' % \
+            (col.index, col.state, tone.midi, tone.name, pos)
+
+log_COLDOWN = log_COLUP = log_COLOVER = _log_col
+
+def log_default(e) :
+    return str(e)
+
+pprinters = {}
+for type, name in eventNames.items() :
+    f = getattr(self, 'log_%s' % name, log_default)
+    pprinters[type] = f
+    
+__all__ = ('pprinters')
\ No newline at end of file