Skip to content

Commit 266b80d

Browse files
authored
Merge pull request #2651 from jedgarpark/gc-midi
fixed name to avoid confusion
2 parents a604216 + 448ae58 commit 266b80d

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

Grand_Central_MIDI_Knobs/code.py

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# SPDX-FileCopyrightText: 2021 John Park for Adafruit Industries
1+
# SPDX-FileCopyrightText: 2023 John Park for Adafruit Industries
22
# SPDX-License-Identifier: MIT
33

44
# Grand Central MIDI Knobs
5-
# for USB MIDI
5+
# for USB MIDI and optional UART MIDI
66
# Reads analog inputs, sends out MIDI CC values
77
# with Kattni Rembor and Jan Goolsbey for range and hysteresis code
88

@@ -16,18 +16,18 @@
1616
import adafruit_midi # MIDI protocol encoder/decoder library
1717
from adafruit_midi.control_change import ControlChange
1818

19-
20-
USB_MIDI_channel = 1 # pick your USB MIDI out channel here, 1-16
19+
# pick your USB MIDI out channel here, 1-16
20+
MIDI_USB_channel = 1
2121
# pick your classic MIDI channel for sending over UART serial TX/RX
2222
CLASSIC_MIDI_channel = 2
2323

24-
usb_midi = adafruit_midi.MIDI(
25-
midi_out=usb_midi.ports[1], out_channel=USB_MIDI_channel - 1
24+
midi_usb = adafruit_midi.MIDI(
25+
midi_out=usb_midi.ports[1], out_channel=MIDI_USB_channel - 1
2626
)
2727
# use DIN-5 or TRS MIDI jack on TX/RX for classic MIDI
28-
uart = busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001) # initialize UART
28+
midi_uart = busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001) # initialize UART
2929
classic_midi = adafruit_midi.MIDI(
30-
midi_out=uart, midi_in=uart, out_channel=CLASSIC_MIDI_channel - 1, debug=False
30+
midi_out=midi_uart, midi_in=midi_uart, out_channel=CLASSIC_MIDI_channel - 1, debug=False
3131
)
3232

3333
led = DigitalInOut(board.D13) # activity indicator
@@ -45,22 +45,22 @@
4545

4646
# assignment of knobs to cc numbers
4747
cc_number = [
48-
1, # knob 0, mod wheel
49-
2, # knob 1, breath control
50-
7, # knob 2, volume
51-
10, # knob 3 pan
52-
11, # knob 4, expression
53-
53, # knob 5
54-
54, # knob 6
55-
74, # knob 7
56-
74, # knob 8, Filter frequency cutoff
57-
71, # knob 9, Filter resonance
58-
58, # knob 10
59-
59, # knob 11
60-
60, # knob 12
61-
61, # knob 13
62-
62, # knob 14
63-
63, # knob 15
48+
1, # knob 1, mod wheel
49+
2, # knob 2, breath control
50+
7, # knob 3, volume
51+
10, # knob 4 pan
52+
11, # knob 5, expression
53+
53, # knob 6
54+
54, # knob 7
55+
73, # knob 8
56+
74, # knob 9, Filter frequency cutoff
57+
71, # knob 10, Filter resonance
58+
58, # knob 11
59+
59, # knob 12
60+
60, # knob 13
61+
61, # knob 14
62+
62, # knob 15
63+
63, # knob 16
6464
]
6565

6666
# CC range list defines the characteristics of the potentiometers
@@ -70,15 +70,15 @@
7070
# 36 (C2) min, 84 (B5) max: 49-note keyboard
7171
# 21 (A0) min, 108 (C8) max: 88-note grand piano
7272
cc_range = [
73-
(36, 84), # knob 0: C2 to B5: 49-note keyboard
74-
(36, 84), # knob 1
75-
(36, 84), # knob 2
76-
(36, 84), # knob 3
77-
(36, 84), # knob 4
78-
(36, 84), # knob 5
79-
(36, 84), # knob 6
80-
(36, 84), # knob 7
81-
(0, 127), # knob 8: 0 to 127: full range MIDI CC/control voltage for VCV Rack
73+
(0, 127), # knob 0: C2 to B5: 49-note keyboard
74+
(0, 127), # knob 1
75+
(0, 127), # knob 2
76+
(0, 127), # knob 3
77+
(0, 127), # knob 4
78+
(0, 127), # knob 5
79+
(0, 127), # knob 6
80+
(0, 127), # knob 7
81+
(0, 127), # knob 8
8282
(0, 127), # knob 9
8383
(0, 127), # knob 10
8484
(0, 127), # knob 11
@@ -89,7 +89,7 @@
8989
]
9090

9191
print("---Grand Central MIDI Knobs---")
92-
print(" USB MIDI channel: {}".format(USB_MIDI_channel))
92+
print(" USB MIDI channel: {}".format(MIDI_USB_channel))
9393
print(" TRS MIDI channel: {}".format(CLASSIC_MIDI_channel))
9494

9595
# Initialize cc_value list with current value and offset placeholders
@@ -134,7 +134,7 @@ def sign(x): # determine the sign of x
134134
)
135135
if cc_value[i] != last_cc_value[i]: # only send if it changed
136136
# Form a MIDI CC message and send it:
137-
usb_midi.send(ControlChange(cc_number[i], cc_value[i][0] + cc_range[i][0]))
137+
midi_usb.send(ControlChange(cc_number[i], cc_value[i][0] + cc_range[i][0]))
138138
classic_midi.send(
139139
ControlChange(cc_number[i], cc_value[i][0] + cc_range[i][0])
140140
)

0 commit comments

Comments
 (0)