X-Git-Url: https://scm.cri.minesparis.psl.eu/git/minwii.git/blobdiff_plain/346a9b8e1fcfe30629f0d1ee4675e9e8f89890cf..4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349:/src/mxmMidi/MidiToText.py diff --git a/src/mxmMidi/MidiToText.py b/src/mxmMidi/MidiToText.py deleted file mode 100644 index 7a35ff3..0000000 --- a/src/mxmMidi/MidiToText.py +++ /dev/null @@ -1,184 +0,0 @@ -# -*- coding: ISO-8859-1 -*- - -from MidiOutStream import MidiOutStream -class MidiToText(MidiOutStream): - - - """ - This class renders a midi file as text. It is mostly used for debugging - """ - - ############################# - # channel events - - def channel_message(self, message_type, channel, data): - """The default event handler for channel messages""" - print 'message_type:%X, channel:%X, data size:%X' % (message_type, channel, len(data)) - - - def note_on(self, channel=0, note=0x40, velocity=0x40): - print 'note_on - ch:%02X, note:%02X, vel:%02X time:%s' % (channel, note, velocity, self.timeInMs()) - - def note_off(self, channel=0, note=0x40, velocity=0x40): - print 'note_off - ch:%02X, note:%02X, vel:%02X time:%s' % (channel, note, velocity, self.abs_time()) - - def aftertouch(self, channel=0, note=0x40, velocity=0x40): - print 'aftertouch', channel, note, velocity - - - def continuous_controller(self, channel, controller, value): - print 'controller - ch: %02X, cont: #%02X, value: %02X' % (channel, controller, value) - - - def patch_change(self, channel, patch): - print 'patch_change - ch:%02X, patch:%02X' % (channel, patch) - - - def channel_pressure(self, channel, pressure): - print 'channel_pressure', channel, pressure - - - def pitch_bend(self, channel, value): - print 'pitch_bend ch:%s, value:%s' % (channel, value) - - - - ##################### - ## Common events - - - def system_exclusive(self, data): - print 'system_exclusive - data size: %s' % len(data) - - - def song_position_pointer(self, value): - print 'song_position_pointer: %s' % value - - - def song_select(self, songNumber): - print 'song_select: %s' % songNumber - - - def tuning_request(self): - print 'tuning_request' - - - def midi_time_code(self, msg_type, values): - print 'midi_time_code - msg_type: %s, values: %s' % (msg_type, values) - - - - ######################### - # header does not really belong here. But anyhoo!!! - - def header(self, format=0, nTracks=1, division=96): - print 'format: %s, nTracks: %s, division: %s' % (format, nTracks, division) - print '----------------------------------' - print '' - print division - self.division = division - - def eof(self): - print 'End of file' - - - def start_of_track(self, n_track=0): - print 'Start - track #%s' % n_track - - - def end_of_track(self): - print 'End of track' - print '' - - - - ############### - # sysex event - - def sysex_event(self, data): - print 'sysex_event - datasize: %X' % len(data) - - - ##################### - ## meta events - - def meta_event(self, meta_type, data): - print 'undefined_meta_event:', meta_type, len(data) - - - def sequence_number(self, value): - print 'sequence_number', value - - - def text(self, text): - print 'text', text - - - def copyright(self, text): - print 'copyright', text - - - def sequence_name(self, text): - print 'sequence_name:', text - - - def instrument_name(self, text): - print 'instrument_name:', text - - - def lyric(self, text): - print 'lyric', text - - - def marker(self, text): - print 'marker', text - - - def cuepoint(self, text): - print 'cuepoint', text - - - def midi_ch_prefix(self, channel): - print 'midi_ch_prefix', channel - - - def midi_port(self, value): - print 'midi_port:', value - - - def tempo(self, value): - print 'tempo:', value - self.tempo = value - - - def smtp_offset(self, hour, minute, second, frame, framePart): - print 'smtp_offset', hour, minute, second, frame, framePart - - - def time_signature(self, nn, dd, cc, bb): - print 'time_signature:', nn, dd, cc, bb - - - def key_signature(self, sf, mi): - print 'key_signature', sf, mi - - - def sequencer_specific(self, data): - print 'sequencer_specific', len(data) - - def timeInMs(self): - return(long(self.abs_time())*1000000000/(long(self.tempo)*long(self.division))) - - - -if __name__ == '__main__': - - # get data - test_file = '../songs/midis/test.mid' - f = open(test_file, 'rb') - - # do parsing - from MidiInFile import MidiInFile - midiIn = MidiInFile(MidiToText(), f) - midiIn.read() - f.close()