-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathMIDI_Map.py
239 lines (214 loc) · 7.06 KB
/
MIDI_Map.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# Brought to you by jzgDev https://github.com/jzgdev with the help of st4rchild https://github.com/st4rchild Hanz Petrov @ http://remotescripts.blogspot.com
# Avoid using tabs for indentation, use spaces.
# Control Ring "Red Ring" Dimensions - i.e. how big do you want your control grid in Session View to be?
CONTROL_RING_HEIGHT = 4
CONTROL_RING_WIDTH = 8
# Combination Mode offsets
# ------------------------\
TRACK_OFFSET = -1 #offset from the left of linked session origin; set to -1 for auto-joining of multiple instances
SCENE_OFFSET = 0 #offset from the top of linked session origin (no auto-join)
# Buttons / Pads
# -------------
# Valid Note/CC assignments are 0 to 127, or -1 for NONE
# Duplicate assignments are permitted
BUTTONCHANNEL = 0 #Channel assignment for all mapped buttons/pads; valid range is 0 to 15 ; 0=1, 1=2 etc.
MESSAGETYPE = 0 #Message type for buttons/pads; set to 0 for MIDI Notes, 1 for CCs.
#When using CCs for buttons/pads, set BUTTONCHANNEL and SLIDERCHANNEL to different values.
# General
PLAY = 85 #Global play
STOP = 60 #Global stop
REC = 86 #Global record
TAPTEMPO = 3 #Tap tempo
NUDGEUP = -1 #Tempo Nudge Up
NUDGEDOWN = -1 #Tempo Nudge Down
UNDO = -119 #Undo
REDO = -1 #Redo
LOOP = -1 #Loop on/off
PUNCHIN = -1 #Punch in
PUNCHOUT = -1 #Punch out
OVERDUB = -1 #Overdub on/off
METRONOME = 9 #Metronome on/off
RECQUANT = 116 #Record quantization on/off
DETAILVIEW = -1 #Detail view switch
CLIPTRACKVIEW = -1 #Clip/Track view switch
# Device Control
DEVICELOCK = 52 #Device Lock (lock "blue hand")
DEVICEONOFF = -1#Device on/off
DEVICENAVLEFT = -1 #Device nav left
DEVICENAVRIGHT = -1 #Device nav right
DEVICEBANKNAVLEFT = -1#Device bank nav left
DEVICEBANKNAVRIGHT = -1 #Device bank nav right
DEVICEBANK = (-1, #Bank 1 #All 8 banks must be assigned to positive values in order for bank selection to work
-1, #Bank 2
-1, #Bank 3
-1, #Bank 4
-1, #Bank 5
-1, #Bank 6
-1, #Bank 7
-1, #Bank 8
)
# Arrangement View Controls
SEEKFWD = -1 #Seek forward
SEEKRWD = -1 #Seek rewind
# Session Navigation (aka "red box")
SESSIONLEFT = 62 #Session left
SESSIONRIGHT = 63#Session right
SESSIONUP = 55 #Session up
SESSIONDOWN = 54 #Session down
ZOOMUP = -1 #Session Zoom up
ZOOMDOWN = -1 #Session Zoom down
ZOOMLEFT = -1 #Session Zoom left
ZOOMRIGHT = -1 #Session Zoom right
# Track Navigation
TRACKLEFT = 45 #Track left
TRACKRIGHT = 44 #Track right
# Scene Navigation
SCENEUP = -1 #Scene down
SCENEDN = -1 #Scene up
# Scene Launch
SELSCENELAUNCH = -1 #Selected scene launch
SCENELAUNCH = (43, #Scene 1 Launch
42, #Scene 2
41, #Scene 3
40, #Scene 4
)
# Clip Launch / Stop
SELCLIPLAUNCH = -1 #Selected clip launch
STOPALLCLIPS = 29 #Stop all clips
# Track Control
MASTERSEL = 28 #Master track select
TRACKSTOP = (-1, #Track 1 Clip Stop
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKSEL = (20, #Track 1 Select
21, #Track 2
22, #Track 3
23, #Track 4
24, #Track 5
25, #Track 6
26, #Track 7
27, #Track 8
)
TRACKMUTE = (-1, #Track 1 On/Off
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKSOLO = (-1, #Track 1 Solo
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKREC = (102, #Track 1 Record
103, #Track 2
104, #Track 3
105, #Track 4
106, #Track 5
107, #Track 6
108, #Track 7
109, #Track 8
)
# Pad Translations for Drum Rack
PADCHANNEL = 1 # MIDI channel for Drum Rack notes
DRUM_PADS_ENABLED = 1
if DRUM_PADS_ENABLED == 1:
DRUM_PADS = (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
else:
DRUM_PADS = -1
# 8x8 Matrix note assignments
# Track no.: 1 2 3 4 5 6 7 8
if DRUM_PADS_ENABLED == 1:
CLIPNOTEMAP = ((92, 93, 94, 95, 96, 97, 98, 99), #Row 1
(84, 85, 86, 87, 88, 89, 90, 91), #Row 2
(76, 77, 78, 79, 80, 81, 82, 83), #Row 3
(68, 69, 70, 71, 72, 73, 74, 75), #Row 4
)
else:
CLIPNOTEMAP = ((92, 93, 94, 95, 96, 97, 98, 99), #Row 1
(84, 85, 86, 87, 88, 89, 90, 91), #Row 2
(76, 77, 78, 79, 80, 81, 82, 83), #Row 3
(68, 69, 70, 71, 72, 73, 74, 75), #Row 4
(67, 66, 65, 64, 63, 62, 61, 60), #Row 5
(59, 58, 57, 56, 55, 54, 53, 52), #Row 6
(51, 50, 49, 48, 47, 46, 45, 44), #Row 7
(43, 42, 41, 40, 39, 38, 37, 36) #Row 8
)
# Sliders / Knobs
# ---------------
# Valid CC assignments are 0 to 127, or -1 for NONE
# Duplicate assignments will be ignored
SLIDERCHANNEL = 2 #Channel assignment for all mapped CCs; valid range is 0 to 15
TEMPO_TOP = 180.0 # Upper limit of tempo control in BPM (max is 999)
TEMPO_BOTTOM = 100.0 # Lower limit of tempo control in BPM (min is 0)
TEMPOCONTROL = 14 #Tempo control CC assignment; control range is set above
MASTERVOLUME = 79 #Master track volume
CUELEVEL = -1 #Cue level control
CROSSFADER = -1 #Crossfader control
TRACKVOL = (-1, #Track 1 Volume
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKPAN = (-1, #Track 1 Pan
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKSENDA = (-1, #Track 1 Send A
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKSENDB = (-1, #Track 1 Send B
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
TRACKSENDC = (-1, #Track 1 Send C
-1, #Track 2
-1, #Track 3
-1, #Track 4
-1, #Track 5
-1, #Track 6
-1, #Track 7
-1, #Track 8
)
PARAMCONTROL = (71, #Param 1 #All 8 params must be assigned to positive values in order for param control to work
72, #Param 2
73, #Param 3
74, #Param 4
75, #Param 5
76, #Param 6
77, #Param 7
78, #Param 8
)