RAUL 0.7.0

midi_events.h

00001 /* Definitions to ease working with raw MIDI.
00002  *
00003  * Adapted from ALSA's asounddef.h
00004  *
00005  * This library is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU Lesser General Public License as
00007  * published by the Free Software Foundation; either version 2.1 of
00008  * the License, or (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00013  * GNU Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00018  *
00019  */
00020 
00021 #ifndef RAUL_MIDI_EVENTS_H
00022 #define RAUL_MIDI_EVENTS_H
00023 
00024 
00032 // Controllers
00033 #define MIDI_CTL_MSB_BANK               0x00 
00034 #define MIDI_CTL_MSB_MODWHEEL           0x01 
00035 #define MIDI_CTL_MSB_BREATH             0x02 
00036 #define MIDI_CTL_MSB_FOOT               0x04 
00037 #define MIDI_CTL_MSB_PORTAMENTO_TIME    0x05 
00038 #define MIDI_CTL_MSB_DATA_ENTRY         0x06 
00039 #define MIDI_CTL_MSB_MAIN_VOLUME        0x07 
00040 #define MIDI_CTL_MSB_BALANCE            0x08 
00041 #define MIDI_CTL_MSB_PAN                0x0A 
00042 #define MIDI_CTL_MSB_EXPRESSION         0x0B 
00043 #define MIDI_CTL_MSB_EFFECT1            0x0C 
00044 #define MIDI_CTL_MSB_EFFECT2            0x0D 
00045 #define MIDI_CTL_MSB_GENERAL_PURPOSE1   0x10 
00046 #define MIDI_CTL_MSB_GENERAL_PURPOSE2   0x11 
00047 #define MIDI_CTL_MSB_GENERAL_PURPOSE3   0x12 
00048 #define MIDI_CTL_MSB_GENERAL_PURPOSE4   0x13 
00049 #define MIDI_CTL_LSB_BANK               0x20 
00050 #define MIDI_CTL_LSB_MODWHEEL           0x21 
00051 #define MIDI_CTL_LSB_BREATH             0x22 
00052 #define MIDI_CTL_LSB_FOOT               0x24 
00053 #define MIDI_CTL_LSB_PORTAMENTO_TIME    0x25 
00054 #define MIDI_CTL_LSB_DATA_ENTRY         0x26 
00055 #define MIDI_CTL_LSB_MAIN_VOLUME        0x27 
00056 #define MIDI_CTL_LSB_BALANCE            0x28 
00057 #define MIDI_CTL_LSB_PAN                0x2A 
00058 #define MIDI_CTL_LSB_EXPRESSION         0x2B 
00059 #define MIDI_CTL_LSB_EFFECT1            0x2C 
00060 #define MIDI_CTL_LSB_EFFECT2            0x2D 
00061 #define MIDI_CTL_LSB_GENERAL_PURPOSE1   0x30 
00062 #define MIDI_CTL_LSB_GENERAL_PURPOSE2   0x31 
00063 #define MIDI_CTL_LSB_GENERAL_PURPOSE3   0x32 
00064 #define MIDI_CTL_LSB_GENERAL_PURPOSE4   0x33 
00065 #define MIDI_CTL_SUSTAIN                0x40 
00066 #define MIDI_CTL_PORTAMENTO             0x41 
00067 #define MIDI_CTL_SOSTENUTO              0x42 
00068 #define MIDI_CTL_SOFT_PEDAL             0x43 
00069 #define MIDI_CTL_LEGATO_FOOTSWITCH      0x44 
00070 #define MIDI_CTL_HOLD2                  0x45 
00071 #define MIDI_CTL_SC1_SOUND_VARIATION    0x46 
00072 #define MIDI_CTL_SC2_TIMBRE             0x47 
00073 #define MIDI_CTL_SC3_RELEASE_TIME       0x48 
00074 #define MIDI_CTL_SC4_ATTACK_TIME        0x49 
00075 #define MIDI_CTL_SC5_BRIGHTNESS         0x4A 
00076 #define MIDI_CTL_SC6                    0x4B 
00077 #define MIDI_CTL_SC7                    0x4C 
00078 #define MIDI_CTL_SC8                    0x4D 
00079 #define MIDI_CTL_SC9                    0x4E 
00080 #define MIDI_CTL_SC10                   0x4F 
00081 #define MIDI_CTL_GENERAL_PURPOSE5       0x50 
00082 #define MIDI_CTL_GENERAL_PURPOSE6       0x51 
00083 #define MIDI_CTL_GENERAL_PURPOSE7       0x52 
00084 #define MIDI_CTL_GENERAL_PURPOSE8       0x53 
00085 #define MIDI_CTL_PORTAMENTO_CONTROL     0x54 
00086 #define MIDI_CTL_E1_REVERB_DEPTH        0x5B 
00087 #define MIDI_CTL_E2_TREMOLO_DEPTH       0x5C 
00088 #define MIDI_CTL_E3_CHORUS_DEPTH        0x5D 
00089 #define MIDI_CTL_E4_DETUNE_DEPTH        0x5E 
00090 #define MIDI_CTL_E5_PHASER_DEPTH        0x5F 
00091 #define MIDI_CTL_DATA_INCREMENT         0x60 
00092 #define MIDI_CTL_DATA_DECREMENT         0x61 
00093 #define MIDI_CTL_NONREG_PARM_NUM_LSB    0x62 
00094 #define MIDI_CTL_NONREG_PARM_NUM_MSB    0x63 
00095 #define MIDI_CTL_REGIST_PARM_NUM_LSB    0x64 
00096 #define MIDI_CTL_REGIST_PARM_NUM_MSB    0x65 
00097 #define MIDI_CTL_ALL_SOUNDS_OFF         0x78 
00098 #define MIDI_CTL_RESET_CONTROLLERS      0x79 
00099 #define MIDI_CTL_LOCAL_CONTROL_SWITCH   0x7A 
00100 #define MIDI_CTL_ALL_NOTES_OFF          0x7B 
00101 #define MIDI_CTL_OMNI_OFF               0x7C 
00102 #define MIDI_CTL_OMNI_ON                0x7D 
00103 #define MIDI_CTL_MONO1                  0x7E 
00104 #define MIDI_CTL_MONO2                  0x7F 
00106 // Commands
00107 #define MIDI_CMD_NOTE_OFF               0x80 
00108 #define MIDI_CMD_NOTE_ON                0x90 
00109 #define MIDI_CMD_NOTE_PRESSURE          0xA0 
00110 #define MIDI_CMD_CONTROL                0xB0 
00111 #define MIDI_CMD_PGM_CHANGE             0xC0 
00112 #define MIDI_CMD_CHANNEL_PRESSURE       0xD0 
00113 #define MIDI_CMD_BENDER                 0xE0 
00114 #define MIDI_CMD_COMMON_SYSEX           0xF0 
00115 #define MIDI_CMD_COMMON_MTC_QUARTER     0xF1 
00116 #define MIDI_CMD_COMMON_SONG_POS        0xF2 
00117 #define MIDI_CMD_COMMON_SONG_SELECT     0xF3 
00118 #define MIDI_CMD_COMMON_TUNE_REQUEST    0xF6 
00119 #define MIDI_CMD_COMMON_SYSEX_END       0xF7 
00120 #define MIDI_CMD_COMMON_CLOCK           0xF8 
00121 #define MIDI_CMD_COMMON_TICK            0xF9 
00122 #define MIDI_CMD_COMMON_START           0xFA 
00123 #define MIDI_CMD_COMMON_CONTINUE        0xFB 
00124 #define MIDI_CMD_COMMON_STOP            0xFC 
00125 #define MIDI_CMD_COMMON_SENSING         0xFE 
00126 #define MIDI_CMD_COMMON_RESET           0xFF 
00129 
00130 
00133 #endif /* RAUL_MIDI_EVENTS_H */