X-Git-Url: https://scm.cri.minesparis.psl.eu/git/minwii.git/blobdiff_plain/e7854ed82aa375273bfbf772493739f875817061..46f3ffd7fdde386f41020171b5733e55a8e64a85:/src/minwii/event_pprinters.py?ds=inline diff --git a/src/minwii/event_pprinters.py b/src/minwii/event_pprinters.py new file mode 100755 index 0000000..bc5834d --- /dev/null +++ b/src/minwii/event_pprinters.py @@ -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