+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