Skip to content

Commit e459ced

Browse files
Add description of a possible workflow to setup a MIDI mapping
1 parent a0c9037 commit e459ced

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

extras/midi_mapping.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,38 @@ The system can be configured to use either integer or float values via a define:
146146
```
147147

148148
If `MIDI_FMT_INT` is defined, the value is passed as a `uint8_t`, representing the raw MIDI value (0–127). If not defined, the value is converted to a float internally and passed as a normalized value (0.0 to 1.0).
149+
150+
151+
## Setting Up Your Own MIDI Map
152+
153+
To set up your own MIDI map, follow these steps:
154+
155+
1. Add the following line to your `config.c` file:
156+
```c
157+
#define MIDI_MONITOR_ENABLED
158+
```
159+
160+
2. Upload the new firmware to your device. You should now see messages when your MIDI device sends control change messages. For example:
161+
162+
**Knob 1:**
163+
```
164+
2 | b1 5b 00 | Control Change | Channel 1 | Number 91 | Value 0
165+
```
166+
167+
**Knob 2:**
168+
```
169+
2 | b0 5d 11 | Control Change | Channel 0 | Number 93 | Value 17
170+
```
171+
172+
**Knob 3:**
173+
```
174+
2 | b0 05 02 | Control Change | Channel 0 | Number 5 | Value 2
175+
```
176+
177+
3. Use these messages to create your own mapping. Enter the channel (first value), the number (second value), and give it a name to connect it to a specific function. For example:
178+
179+
```c
180+
{ 0x01, 0x5B, "Knob 1", NULL, Organ_SetDrawbarInv, 0 },
181+
{ 0x00, 0x5D, "Knob 2", NULL, Organ_SetDrawbarInv, 1 },
182+
{ 0x00, 0x05, "Knob 3", NULL, Organ_SetDrawbarInv, 2 },
183+
```

0 commit comments

Comments
 (0)