RAUL  0.5.1
midi_names.h
1 /* Names of standard MIDI events and controllers.
2  * Copyright (C) 2007 Dave Robillard <http://drobilla.net>
3  *
4  * This library is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation; either version 2.1 of
7  * the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  */
19 
20 #ifndef RAUL_MIDI_NAMES_H
21 #define RAUL_MIDI_NAMES_H
22 
23 #include "midi_events.h"
24 
25 #ifdef __cplusplus
26 namespace Raul {
27 extern "C" {
28 #endif
29 
30 
37 inline static const char* midi_name(uint8_t status)
38 {
39  switch (status) {
40 
41  case MIDI_CMD_NOTE_OFF:
42  return "Note Off"; break;
43  case MIDI_CMD_NOTE_ON:
44  return "Note On"; break;
46  return "Key Pressure"; break;
47  case MIDI_CMD_CONTROL:
48  return "Control Change"; break;
50  return "Program Change"; break;
52  return "Channel Pressure"; break;
53  case MIDI_CMD_BENDER:
54  return "Pitch Bender"; break;
55 
57  return "Sysex (System Exclusive) Begin"; break;
59  return "MTC Quarter Frame"; break;
61  return "Song Position"; break;
63  return "Song Select"; break;
65  return "Tune Request"; break;
67  return "End of Sysex"; break;
69  return "Clock"; break;
71  return "Tick"; break;
73  return "Start"; break;
75  return "Continue"; break;
77  return "Stop"; break;
79  return "Active Sensing"; break;
81  return "Reset"; break;
82 
83  case MIDI_CTL_MSB_BANK:
84  return "Bank Select (Coarse)"; break;
86  return "Modulation (Coarse)"; break;
88  return "Breath (Coarse)"; break;
89  case MIDI_CTL_MSB_FOOT:
90  return "Foot (Coarse)"; break;
92  return "Portamento Time (Coarse)"; break;
94  return "Data Entry (Coarse)"; break;
96  return "Main Volume (Coarse)"; break;
98  return "Balance (Coarse)"; break;
99  case MIDI_CTL_MSB_PAN:
100  return "Pan (Coarse)"; break;
102  return "Expression (Coarse)"; break;
104  return "Effect 1 (Coarse)"; break;
106  return "Effect 2 (Coarse)"; break;
108  return "General Purpose 1 (Coarse)"; break;
110  return "General Purpose 2 (Coarse)"; break;
112  return "General Purpose 3 (Coarse)"; break;
114  return "General Purpose 4 (Coarse)"; break;
115  case MIDI_CTL_LSB_BANK:
116  return "Bank Select (Fine)"; break;
118  return "Modulation (Fine)"; break;
119  case MIDI_CTL_LSB_BREATH:
120  return "Breath (Fine)"; break;
121  case MIDI_CTL_LSB_FOOT:
122  return "Foot (Fine)"; break;
124  return "Portamento Time (Fine)"; break;
126  return "Data Entry (Fine)"; break;
128  return "Main Volume (Fine)"; break;
130  return "Balance (Fine)"; break;
131  case MIDI_CTL_LSB_PAN:
132  return "Pan (Fine)"; break;
134  return "Expression (Fine)"; break;
136  return "Effect 1 (Fine)"; break;
138  return "Effect 2 (Fine)"; break;
140  return "General Purpose 1 (Fine)"; break;
142  return "General Purpose 2 (Fine)"; break;
144  return "General Purpose 3 (Fine)"; break;
146  return "General Purpose 4 (Fine)"; break;
147  case MIDI_CTL_SUSTAIN:
148  return "Sustain Pedal"; break;
149  case MIDI_CTL_PORTAMENTO:
150  return "Portamento"; break;
151  case MIDI_CTL_SOSTENUTO:
152  return "Sostenuto"; break;
153  case MIDI_CTL_SOFT_PEDAL:
154  return "Soft Pedal"; break;
156  return "Legato Foot Switch"; break;
157  case MIDI_CTL_HOLD2:
158  return "Hold2"; break;
160  return "Sound Variation"; break;
161  case MIDI_CTL_SC2_TIMBRE:
162  return "Sound Timbre"; break;
164  return "Sound Release Time"; break;
166  return "Sound Attack Time"; break;
168  return "Sound Brightness"; break;
169  case MIDI_CTL_SC6:
170  return "Sound Control 6"; break;
171  case MIDI_CTL_SC7:
172  return "Sound Control 7"; break;
173  case MIDI_CTL_SC8:
174  return "Sound Control 8"; break;
175  case MIDI_CTL_SC9:
176  return "Sound Control 9"; break;
177  case MIDI_CTL_SC10:
178  return "Sound Control 10"; break;
180  return "General Purpose 5"; break;
182  return "General Purpose 6"; break;
184  return "General Purpose 7"; break;
186  return "General Purpose 8"; break;
188  return "Portamento Control"; break;
190  return "Reverb Depth"; break;
192  return "Tremolo Depth"; break;
194  return "Chorus Depth"; break;
196  return "Detune Depth"; break;
198  return "Phaser Depth"; break;
200  return "Data Increment"; break;
202  return "Data Decrement"; break;
204  return "Non-registered Parameter Number"; break;
206  return "Non-registered Narameter Number"; break;
208  return "Registered Parameter Number"; break;
210  return "Registered Parameter Number"; break;
212  return "All Sounds Off"; break;
214  return "Reset Controllers"; break;
216  return "Local Control Switch"; break;
218  return "All Notes Off"; break;
219  case MIDI_CTL_OMNI_OFF:
220  return "Omni Off"; break;
221  case MIDI_CTL_OMNI_ON:
222  return "Omni On"; break;
223  case MIDI_CTL_MONO1:
224  return "Mono 1"; break;
225  case MIDI_CTL_MONO2:
226  return "Mono 2"; break;
227  default:
228  return "Unnamed"; break;
229  }
230 }
231 
232 
233 #ifdef __cplusplus
234 } // extern "C"
235 } // namespace Raul
236 #endif
237 
238 
239 #endif /* RAUL_MIDI_NAMES_H */
#define MIDI_CTL_MSB_PORTAMENTO_TIME
Portamento Time.
Definition: midi_events.h:37
#define MIDI_CTL_LSB_PAN
Panpot.
Definition: midi_events.h:57
#define MIDI_CTL_MSB_BANK
Bank Selection.
Definition: midi_events.h:33
#define MIDI_CTL_NONREG_PARM_NUM_LSB
Non-registered Parameter Number.
Definition: midi_events.h:93
#define MIDI_CMD_COMMON_CLOCK
Clock.
Definition: midi_events.h:120
#define MIDI_CMD_NOTE_OFF
Note Off.
Definition: midi_events.h:107
#define MIDI_CMD_NOTE_ON
Note On.
Definition: midi_events.h:108
#define MIDI_CTL_PORTAMENTO_CONTROL
Portamento Control.
Definition: midi_events.h:85
#define MIDI_CTL_SC5_BRIGHTNESS
SC5 Brightness.
Definition: midi_events.h:75
#define MIDI_CTL_LSB_MAIN_VOLUME
Main Volume.
Definition: midi_events.h:55
#define MIDI_CTL_LOCAL_CONTROL_SWITCH
Local Control Switch.
Definition: midi_events.h:99
#define MIDI_CTL_MSB_EXPRESSION
Expression.
Definition: midi_events.h:42
#define MIDI_CTL_SC8
SC8.
Definition: midi_events.h:78
#define MIDI_CTL_LSB_BANK
Bank Selection.
Definition: midi_events.h:49
#define MIDI_CTL_MSB_FOOT
Foot.
Definition: midi_events.h:36
#define MIDI_CTL_MSB_GENERAL_PURPOSE3
General Purpose 3.
Definition: midi_events.h:47
#define MIDI_CMD_CHANNEL_PRESSURE
Channel Pressure.
Definition: midi_events.h:112
#define MIDI_CTL_OMNI_ON
Omni On.
Definition: midi_events.h:102
#define MIDI_CTL_SC4_ATTACK_TIME
SC4 Attack Time.
Definition: midi_events.h:74
#define MIDI_CTL_LSB_EFFECT2
Effect2.
Definition: midi_events.h:60
#define MIDI_CTL_SC9
SC9.
Definition: midi_events.h:79
#define MIDI_CMD_PGM_CHANGE
Program Change.
Definition: midi_events.h:111
#define MIDI_CMD_COMMON_TUNE_REQUEST
Tune Request.
Definition: midi_events.h:118
#define MIDI_CTL_MSB_GENERAL_PURPOSE1
General Purpose 1.
Definition: midi_events.h:45
#define MIDI_CTL_MSB_MAIN_VOLUME
Main Volume.
Definition: midi_events.h:39
#define MIDI_CMD_COMMON_SONG_POS
Song Position.
Definition: midi_events.h:116
#define MIDI_CMD_BENDER
Pitch Bender.
Definition: midi_events.h:113
#define MIDI_CTL_ALL_SOUNDS_OFF
All Sounds Off.
Definition: midi_events.h:97
#define MIDI_CTL_E2_TREMOLO_DEPTH
E2 Tremolo Depth.
Definition: midi_events.h:87
#define MIDI_CTL_E3_CHORUS_DEPTH
E3 Chorus Depth.
Definition: midi_events.h:88
#define MIDI_CTL_MSB_EFFECT2
Effect2.
Definition: midi_events.h:44
#define MIDI_CTL_LSB_MODWHEEL
Modulation.
Definition: midi_events.h:50
#define MIDI_CTL_MSB_DATA_ENTRY
Data Entry.
Definition: midi_events.h:38
#define MIDI_CTL_LEGATO_FOOTSWITCH
Legato Foot Switch.
Definition: midi_events.h:69
#define MIDI_CTL_RESET_CONTROLLERS
Reset Controllers.
Definition: midi_events.h:98
#define MIDI_CMD_COMMON_CONTINUE
Continue.
Definition: midi_events.h:123
#define MIDI_CTL_LSB_DATA_ENTRY
Data Entry.
Definition: midi_events.h:54
#define MIDI_CTL_MSB_GENERAL_PURPOSE2
General Purpose 2.
Definition: midi_events.h:46
#define MIDI_CMD_CONTROL
Control Change.
Definition: midi_events.h:110
#define MIDI_CTL_REGIST_PARM_NUM_LSB
Registered Parameter Number.
Definition: midi_events.h:95
#define MIDI_CTL_GENERAL_PURPOSE6
General Purpose 6.
Definition: midi_events.h:82
#define MIDI_CTL_SC7
SC7.
Definition: midi_events.h:77
#define MIDI_CTL_HOLD2
Hold2.
Definition: midi_events.h:70
#define MIDI_CTL_SC6
SC6.
Definition: midi_events.h:76
#define MIDI_CTL_SUSTAIN
Sustain Pedal.
Definition: midi_events.h:65
#define MIDI_CTL_REGIST_PARM_NUM_MSB
Registered Parameter Number.
Definition: midi_events.h:96
#define MIDI_CTL_MONO2
Mono2.
Definition: midi_events.h:104
#define MIDI_CTL_LSB_EFFECT1
Effect1.
Definition: midi_events.h:59
#define MIDI_CMD_COMMON_SENSING
Active Sensing.
Definition: midi_events.h:125
#define MIDI_CTL_MSB_GENERAL_PURPOSE4
General Purpose 4.
Definition: midi_events.h:48
#define MIDI_CTL_MSB_BALANCE
Balance.
Definition: midi_events.h:40
#define MIDI_CTL_SC1_SOUND_VARIATION
SC1 Sound Variation.
Definition: midi_events.h:71
#define MIDI_CTL_GENERAL_PURPOSE7
General Purpose 7.
Definition: midi_events.h:83
#define MIDI_CTL_LSB_GENERAL_PURPOSE3
General Purpose 3.
Definition: midi_events.h:63
#define MIDI_CTL_SOSTENUTO
Sostenuto.
Definition: midi_events.h:67
#define MIDI_CMD_COMMON_MTC_QUARTER
MTC Quarter Frame.
Definition: midi_events.h:115
#define MIDI_CTL_NONREG_PARM_NUM_MSB
Non-registered Parameter Number.
Definition: midi_events.h:94
#define MIDI_CTL_E4_DETUNE_DEPTH
E4 Detune Depth.
Definition: midi_events.h:89
#define MIDI_CTL_OMNI_OFF
Omni Off.
Definition: midi_events.h:101
#define MIDI_CMD_COMMON_RESET
Reset.
Definition: midi_events.h:126
#define MIDI_CTL_MSB_PAN
Panpot.
Definition: midi_events.h:41
#define MIDI_CTL_SC3_RELEASE_TIME
SC3 Release Time.
Definition: midi_events.h:73
#define MIDI_CMD_COMMON_START
Start.
Definition: midi_events.h:122
#define MIDI_CTL_DATA_INCREMENT
Data Increment.
Definition: midi_events.h:91
#define MIDI_CMD_COMMON_SYSEX
Sysex (System Exclusive) Begin.
Definition: midi_events.h:114
#define MIDI_CTL_MSB_BREATH
Breath.
Definition: midi_events.h:35
#define MIDI_CMD_COMMON_TICK
Tick.
Definition: midi_events.h:121
#define MIDI_CTL_LSB_PORTAMENTO_TIME
Portamento Time.
Definition: midi_events.h:53
#define MIDI_CTL_LSB_GENERAL_PURPOSE2
General Purpose 2.
Definition: midi_events.h:62
#define MIDI_CTL_LSB_GENERAL_PURPOSE1
General Purpose 1.
Definition: midi_events.h:61
#define MIDI_CTL_E5_PHASER_DEPTH
E5 Phaser Depth.
Definition: midi_events.h:90
#define MIDI_CTL_PORTAMENTO
Portamento.
Definition: midi_events.h:66
#define MIDI_CTL_SC2_TIMBRE
SC2 Timbre.
Definition: midi_events.h:72
#define MIDI_CTL_DATA_DECREMENT
Data Decrement.
Definition: midi_events.h:92
#define MIDI_CTL_MSB_MODWHEEL
Modulation.
Definition: midi_events.h:34
#define MIDI_CTL_LSB_BALANCE
Balance.
Definition: midi_events.h:56
#define MIDI_CTL_LSB_FOOT
Foot.
Definition: midi_events.h:52
#define MIDI_CTL_E1_REVERB_DEPTH
E1 Reverb Depth.
Definition: midi_events.h:86
#define MIDI_CTL_MSB_EFFECT1
Effect1.
Definition: midi_events.h:43
#define MIDI_CMD_COMMON_SONG_SELECT
Song Select.
Definition: midi_events.h:117
#define MIDI_CMD_NOTE_PRESSURE
Key Pressure.
Definition: midi_events.h:109
#define MIDI_CTL_LSB_EXPRESSION
Expression.
Definition: midi_events.h:58
#define MIDI_CTL_ALL_NOTES_OFF
All Notes Off.
Definition: midi_events.h:100
#define MIDI_CTL_GENERAL_PURPOSE8
General Purpose 8.
Definition: midi_events.h:84
#define MIDI_CMD_COMMON_STOP
Stop.
Definition: midi_events.h:124
#define MIDI_CTL_GENERAL_PURPOSE5
General Purpose 5.
Definition: midi_events.h:81
#define MIDI_CTL_LSB_BREATH
Breath.
Definition: midi_events.h:51
#define MIDI_CMD_COMMON_SYSEX_END
End of Sysex.
Definition: midi_events.h:119
#define MIDI_CTL_SC10
SC10.
Definition: midi_events.h:80
#define MIDI_CTL_MONO1
Mono1.
Definition: midi_events.h:103
#define MIDI_CTL_LSB_GENERAL_PURPOSE4
General Purpose 4.
Definition: midi_events.h:64
#define MIDI_CTL_SOFT_PEDAL
Soft Pedal.
Definition: midi_events.h:68