X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/346a9b8e1fcfe30629f0d1ee4675e9e8f89890cf..4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349:/src/mxmMidi/constants.py diff --git a/src/mxmMidi/constants.py b/src/mxmMidi/constants.py deleted file mode 100644 index 81b91bc..0000000 --- a/src/mxmMidi/constants.py +++ /dev/null @@ -1,210 +0,0 @@ -# -*- coding: ISO-8859-1 -*- - -################################################### -## Definitions of the different midi events - - - -################################################### -## Midi channel events (The most usual events) -## also called "Channel Voice Messages" - -NOTE_OFF = 0x80 -# 1000cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity) - -NOTE_ON = 0x90 -# 1001cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity) - -AFTERTOUCH = 0xA0 -# 1010cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity) - -CONTINUOUS_CONTROLLER = 0xB0 # see Channel Mode Messages!!! -# 1011cccc 0ccccccc 0vvvvvvv (channel, controller, value) - -PATCH_CHANGE = 0xC0 -# 1100cccc 0ppppppp (channel, program) - -CHANNEL_PRESSURE = 0xD0 -# 1101cccc 0ppppppp (channel, pressure) - -PITCH_BEND = 0xE0 -# 1110cccc 0vvvvvvv 0wwwwwww (channel, value-lo, value-hi) - - -################################################### -## Channel Mode Messages (Continuous Controller) -## They share a status byte. -## The controller makes the difference here - -# High resolution continuous controllers (MSB) - -BANK_SELECT = 0x00 -MODULATION_WHEEL = 0x01 -BREATH_CONTROLLER = 0x02 -FOOT_CONTROLLER = 0x04 -PORTAMENTO_TIME = 0x05 -DATA_ENTRY = 0x06 -CHANNEL_VOLUME = 0x07 -BALANCE = 0x08 -PAN = 0x0A -EXPRESSION_CONTROLLER = 0x0B -EFFECT_CONTROL_1 = 0x0C -EFFECT_CONTROL_2 = 0x0D -GEN_PURPOSE_CONTROLLER_1 = 0x10 -GEN_PURPOSE_CONTROLLER_2 = 0x11 -GEN_PURPOSE_CONTROLLER_3 = 0x12 -GEN_PURPOSE_CONTROLLER_4 = 0x13 - -# High resolution continuous controllers (LSB) - -BANK_SELECT = 0x20 -MODULATION_WHEEL = 0x21 -BREATH_CONTROLLER = 0x22 -FOOT_CONTROLLER = 0x24 -PORTAMENTO_TIME = 0x25 -DATA_ENTRY = 0x26 -CHANNEL_VOLUME = 0x27 -BALANCE = 0x28 -PAN = 0x2A -EXPRESSION_CONTROLLER = 0x2B -EFFECT_CONTROL_1 = 0x2C -EFFECT_CONTROL_2 = 0x2D -GENERAL_PURPOSE_CONTROLLER_1 = 0x30 -GENERAL_PURPOSE_CONTROLLER_2 = 0x31 -GENERAL_PURPOSE_CONTROLLER_3 = 0x32 -GENERAL_PURPOSE_CONTROLLER_4 = 0x33 - -# Switches - -SUSTAIN_ONOFF = 0x40 -PORTAMENTO_ONOFF = 0x41 -SOSTENUTO_ONOFF = 0x42 -SOFT_PEDAL_ONOFF = 0x43 -LEGATO_ONOFF = 0x44 -HOLD_2_ONOFF = 0x45 - -# Low resolution continuous controllers - -SOUND_CONTROLLER_1 = 0x46 # (TG: Sound Variation; FX: Exciter On/Off) -SOUND_CONTROLLER_2 = 0x47 # (TG: Harmonic Content; FX: Compressor On/Off) -SOUND_CONTROLLER_3 = 0x48 # (TG: Release Time; FX: Distortion On/Off) -SOUND_CONTROLLER_4 = 0x49 # (TG: Attack Time; FX: EQ On/Off) -SOUND_CONTROLLER_5 = 0x4A # (TG: Brightness; FX: Expander On/Off)75 SOUND_CONTROLLER_6 (TG: Undefined; FX: Reverb OnOff) -SOUND_CONTROLLER_7 = 0x4C # (TG: Undefined; FX: Delay OnOff) -SOUND_CONTROLLER_8 = 0x4D # (TG: Undefined; FX: Pitch Transpose OnOff) -SOUND_CONTROLLER_9 = 0x4E # (TG: Undefined; FX: Flange/Chorus OnOff) -SOUND_CONTROLLER_10 = 0x4F # (TG: Undefined; FX: Special Effects OnOff) -GENERAL_PURPOSE_CONTROLLER_5 = 0x50 -GENERAL_PURPOSE_CONTROLLER_6 = 0x51 -GENERAL_PURPOSE_CONTROLLER_7 = 0x52 -GENERAL_PURPOSE_CONTROLLER_8 = 0x53 -PORTAMENTO_CONTROL = 0x54 # (PTC) (0vvvvvvv is the source Note number) (Detail) -EFFECTS_1 = 0x5B # (Ext. Effects Depth) -EFFECTS_2 = 0x5C # (Tremelo Depth) -EFFECTS_3 = 0x5D # (Chorus Depth) -EFFECTS_4 = 0x5E # (Celeste Depth) -EFFECTS_5 = 0x5F # (Phaser Depth) -DATA_INCREMENT = 0x60 # (0vvvvvvv is n/a; use 0) -DATA_DECREMENT = 0x61 # (0vvvvvvv is n/a; use 0) -NON_REGISTERED_PARAMETER_NUMBER = 0x62 # (LSB) -NON_REGISTERED_PARAMETER_NUMBER = 0x63 # (MSB) -REGISTERED_PARAMETER_NUMBER = 0x64 # (LSB) -REGISTERED_PARAMETER_NUMBER = 0x65 # (MSB) - -# Channel Mode messages - (Detail) - -ALL_SOUND_OFF = 0x78 -RESET_ALL_CONTROLLERS = 0x79 -LOCAL_CONTROL_ONOFF = 0x7A -ALL_NOTES_OFF = 0x7B -OMNI_MODE_OFF = 0x7C # (also causes ANO) -OMNI_MODE_ON = 0x7D # (also causes ANO) -MONO_MODE_ON = 0x7E # (Poly Off; also causes ANO) -POLY_MODE_ON = 0x7F # (Mono Off; also causes ANO) - - - -################################################### -## System Common Messages, for all channels - -SYSTEM_EXCLUSIVE = 0xF0 -# 11110000 0iiiiiii 0ddddddd ... 11110111 - -MTC = 0xF1 # MIDI Time Code Quarter Frame -# 11110001 - -SONG_POSITION_POINTER = 0xF2 -# 11110010 0vvvvvvv 0wwwwwww (lo-position, hi-position) - -SONG_SELECT = 0xF3 -# 11110011 0sssssss (songnumber) - -#UNDEFINED = 0xF4 -## 11110100 - -#UNDEFINED = 0xF5 -## 11110101 - -TUNING_REQUEST = 0xF6 -# 11110110 - -END_OFF_EXCLUSIVE = 0xF7 # terminator -# 11110111 # End of system exclusive - - -################################################### -## Midifile meta-events - -SEQUENCE_NUMBER = 0x00 # 00 02 ss ss (seq-number) -TEXT = 0x01 # 01 len text... -COPYRIGHT = 0x02 # 02 len text... -SEQUENCE_NAME = 0x03 # 03 len text... -INSTRUMENT_NAME = 0x04 # 04 len text... -LYRIC = 0x05 # 05 len text... -MARKER = 0x06 # 06 len text... -CUEPOINT = 0x07 # 07 len text... -PROGRAM_NAME = 0x08 # 08 len text... -DEVICE_NAME = 0x09 # 09 len text... - -MIDI_CH_PREFIX = 0x20 # MIDI channel prefix assignment (unofficial) - -MIDI_PORT = 0x21 # 21 01 port, legacy stuff but still used -END_OF_TRACK = 0x2F # 2f 00 -TEMPO = 0x51 # 51 03 tt tt tt (tempo in us/quarternote) -SMTP_OFFSET = 0x54 # 54 05 hh mm ss ff xx -TIME_SIGNATURE = 0x58 # 58 04 nn dd cc bb -KEY_SIGNATURE = 0x59 # ??? len text... -SPECIFIC = 0x7F # Sequencer specific event - -FILE_HEADER = 'MThd' -TRACK_HEADER = 'MTrk' - -################################################### -## System Realtime messages -## I don't supose these are to be found in midi files?! - -TIMING_CLOCK = 0xF8 -# undefined = 0xF9 -SONG_START = 0xFA -SONG_CONTINUE = 0xFB -SONG_STOP = 0xFC -# undefined = 0xFD -ACTIVE_SENSING = 0xFE -SYSTEM_RESET = 0xFF - - -################################################### -## META EVENT, it is used only in midi files. -## In transmitted data it means system reset!!! - -META_EVENT = 0xFF -# 11111111 - - -################################################### -## Helper functions - -def is_status(byte): - return (byte & 0x80) == 0x80 # 1000 0000 - -