Subversion Repositories svn.mios

Rev

Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
44 tk 1
; $Id: cs_menu_enc_table.inc 44 2008-01-30 21:39:30Z tk $
1 tk 2
;
3
; MIDIbox SID Control Surface Rotary Encoder assign tables
4
;
5
; ==========================================================================
6
;
7
;  Copyright 1998-2007 Thorsten Klose (tk@midibox.org)
8
;  Licensed for personal non-commercial use only.
9
;  All other rights reserved.
10
;
11
; ==========================================================================
12
 
13
; ==========================================================================
14
;  In this table all encoder functions are listed
15
;  the number and the position of entries are static and cannot be changed
16
;  without a modification in cs_menu_enc.inc!
17
; ==========================================================================
18
 
19
CSENC_ENTRY MACRO menu, page_offset, cursor_pos
20
	db	menu, page_offset, cursor_pos, 0	; (fill to 4 bytes)
21
	ENDM
22
 
23
	;; CSENC_ENTRY parameters:
24
	;;    - the menu in which the variable is located (see cs_menu_tables.inc)
25
	;;    - the page offset (which menu item should be at the left border)
26
	;;    - the cursor position of the menu item
27
 
28
	;; if menu is 0xff, the encoder handler won't switch to a new menu, but it will
29
	;; modify the currently visible values
30
	;; the menu offset specifies the 1st, 2nd, 3rd, ... parameter (counted from 0)
31
	;; the cursor pos is ignored
32
 
33
	;; -----------------------------------------------------------------
34
	;; Lead Engine
35
	;; -----------------------------------------------------------------
36
CS_MENU_ENC_TABLE_L
37
	;; OSC "Env" Layer
38
	;;		menu		offset	cursor pos
39
	CSENC_ENTRY	CS_MENU_L_OSC,	0x03,	0x03	; Delay
40
	CSENC_ENTRY	CS_MENU_L_OSC,	0x03,	0x04	; Attack
41
	CSENC_ENTRY	CS_MENU_L_OSC,	0x03,	0x05	; Decay
42
	CSENC_ENTRY	CS_MENU_L_OSC,	0x03,	0x06	; Sustain
43
#if CS_MENU_DISPLAYED_ITEMS == 4
44
	CSENC_ENTRY	CS_MENU_L_OSC,	0x04,	0x07	; Release
45
#else
46
	CSENC_ENTRY	CS_MENU_L_OSC,	0x03,	0x07	; Release
47
#endif
48
 
49
	;; OSC "Misc" Layer
50
	;;		menu		offset	cursor pos
51
	CSENC_ENTRY	CS_MENU_L_OSC,	0x09,	0x09	; Transpose
52
	CSENC_ENTRY	CS_MENU_L_OSC,	0x09,	0x0a	; Finetune
53
	CSENC_ENTRY	CS_MENU_L_OSC,	0x09,	0x0b	; Portamento
54
	CSENC_ENTRY	CS_MENU_L_OSC,	0x09,	0x0c	; Oscillator Phase Offset
55
#if CS_MENU_DISPLAYED_ITEMS == 4
56
	CSENC_ENTRY	CS_MENU_L_OSC,	0x0a,	0x0d	; Pulsewidth
57
#else
58
	CSENC_ENTRY	CS_MENU_L_OSC,	0x09,	0x0d	; Pulsewidth
59
#endif
60
 
61
	;; OSC "Assign" Layer
62
	;;		menu		offset	cursor pos
63
	CSENC_ENTRY	CS_MENU_L_KNB,	0x00,	0x00	; Knob #1
64
	CSENC_ENTRY	CS_MENU_L_KNB,	0x00,	0x01	; Knob #2
65
	CSENC_ENTRY	CS_MENU_L_KNB,	0x00,	0x02	; Knob #3
66
	CSENC_ENTRY	CS_MENU_L_KNB,	0x00,	0x03	; Knob #4
67
	CSENC_ENTRY	CS_MENU_L_KNB,	0x00,	0x04	; Knob #5
68
 
69
	;; LFO section
70
	;;		menu		offset	cursor pos
71
	CSENC_ENTRY	CS_MENU_L_LFO,	0x02,	0x02	; Rate
72
	CSENC_ENTRY	CS_MENU_L_LFO,	0x02,	0x04	; Depth
73
 
74
	;; Filter section
75
	;;		menu		offset	cursor pos
76
	CSENC_ENTRY	CS_MENU_L_FIL,	0x00,	0x01	; Cutoff
77
	CSENC_ENTRY	CS_MENU_L_FIL,	0x00,	0x02	; Resonance
78
 
79
	;; Env "Env" Layer
80
	;;		menu		offset	cursor pos
81
	CSENC_ENTRY	CS_MENU_L_ENV,	0x01,	0x01	; Depth
82
	CSENC_ENTRY	CS_MENU_L_ENV,	0x02,	0x03	; Attack
83
	CSENC_ENTRY	CS_MENU_L_ENV,	0x06,	0x08	; Decay
84
	CSENC_ENTRY	CS_MENU_L_ENV,	0x09,	0x09	; Sustain
85
	CSENC_ENTRY	CS_MENU_L_ENV,	0x09,	0x0a	; Release
86
 
87
	;; Env "Assign" Layer
88
	;;		menu		offset	cursor pos
89
	CSENC_ENTRY	0xff,		0x00,	0x00	; Menu item #1
90
	CSENC_ENTRY	0xff,		0x01,	0x00	; Menu item #2
91
	CSENC_ENTRY	0xff,		0x02,	0x00	; Menu item #3
92
	CSENC_ENTRY	0xff,		0x03,	0x00	; Menu item #4
93
	CSENC_ENTRY	0xff,		0x04,	0x00	; Menu item #5
94
 
95
#if DEFAULT_MB6582_CS
96
	;; Env "Misc" Layer
97
	;;		menu		offset	cursor pos
98
	CSENC_ENTRY	CS_MENU_L_ENV,	0x00,	0x02	; Delay
99
	CSENC_ENTRY	CS_MENU_L_ENV,	0x0d,	0x0d	; Curve Attack
100
	CSENC_ENTRY	CS_MENU_L_ENV,	0x0d,	0x0e	; Curve Decay
101
	CSENC_ENTRY	CS_MENU_L_ENV,	0x09,	0x09	; Sustain
102
	CSENC_ENTRY	CS_MENU_L_ENV,	0x0d,	0x0f	; Curve Release
103
#endif
104
 
105
	;; -----------------------------------------------------------------
106
	;; Bassline Engine
107
	;; -----------------------------------------------------------------
108
CS_MENU_ENC_TABLE_B
109
	;; OSC "303" Layer
110
	;;		menu		offset	cursor pos
111
	CSENC_ENTRY	CS_MENU_B_OSC,	0x03,	0x03	; Delay
112
	CSENC_ENTRY	CS_MENU_B_OSC,	0x03,	0x04	; Attack
113
	CSENC_ENTRY	CS_MENU_B_OSC,	0x03,	0x05	; Decay
114
	CSENC_ENTRY	CS_MENU_B_OSC,	0x03,	0x06	; Sustain
115
#if CS_MENU_DISPLAYED_ITEMS == 4
116
	CSENC_ENTRY	CS_MENU_B_OSC,	0x04,	0x07	; Release
117
#else
118
	CSENC_ENTRY	CS_MENU_B_OSC,	0x03,	0x07	; Release
119
#endif
120
 
121
	;; OSC "Misc" Layer
122
	;;		menu		offset	cursor pos
123
	CSENC_ENTRY	CS_MENU_B_OSC,	0x09,	0x09	; Transpose
124
	CSENC_ENTRY	CS_MENU_B_OSC,	0x09,	0x0a	; Finetune
125
	CSENC_ENTRY	CS_MENU_B_OSC,	0x09,	0x0b	; Portamento
126
	CSENC_ENTRY	CS_MENU_B_OSC,	0x09,	0x0c	; Oscillator Phase Offset
127
#if CS_MENU_DISPLAYED_ITEMS == 4
128
	CSENC_ENTRY	CS_MENU_B_OSC,	0x0a,	0x0d	; Pulsewidth
129
#else
130
	CSENC_ENTRY	CS_MENU_B_OSC,	0x09,	0x0d	; Pulsewidth
131
#endif
132
 
133
	;; OSC "Assign" Layer
134
	;;		menu		offset	cursor pos
135
	CSENC_ENTRY	CS_MENU_B_KNB,	0x00,	0x00	; Knob #1
136
	CSENC_ENTRY	CS_MENU_B_KNB,	0x00,	0x01	; Knob #2
137
	CSENC_ENTRY	CS_MENU_B_KNB,	0x00,	0x02	; Knob #3
138
	CSENC_ENTRY	CS_MENU_B_KNB,	0x00,	0x03	; Knob #4
139
	CSENC_ENTRY	CS_MENU_B_KNB,	0x00,	0x04	; Knob #5
140
 
141
	;; LFO section
142
	;;		menu		offset	cursor pos
143
	CSENC_ENTRY	CS_MENU_B_LFO,	0x03,	0x03	; Rate
144
	CSENC_ENTRY	CS_MENU_B_LFO,	0x03,	0x06	; Depth
145
 
146
	;; Filter section
147
	;;		menu		offset	cursor pos
148
	CSENC_ENTRY	CS_MENU_B_FIL,	0x00,	0x01	; Cutoff
149
	CSENC_ENTRY	CS_MENU_B_FIL,	0x00,	0x02	; Resonance
150
 
151
	;; Env "Env" Layer
152
	;;		menu		offset	cursor pos
153
	CSENC_ENTRY	CS_MENU_B_ENV,	0x00,	0x03	; Depth
154
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x04	; Attack
155
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x05	; Decay
156
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x06	; Sustain
157
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x07	; Release
158
 
159
	;; Env "Assign" Layer
160
	;;		menu		offset	cursor pos
161
	CSENC_ENTRY	0xff,		0x00,	0x00	; Menu item #1
162
	CSENC_ENTRY	0xff,		0x01,	0x00	; Menu item #2
163
	CSENC_ENTRY	0xff,		0x02,	0x00	; Menu item #3
164
	CSENC_ENTRY	0xff,		0x03,	0x00	; Menu item #4
165
	CSENC_ENTRY	0xff,		0x04,	0x00	; Menu item #5
166
 
167
#if DEFAULT_MB6582_CS
168
	;; Env "Misc" Layer
169
	;;		menu		offset	cursor pos
170
	CSENC_ENTRY	CS_MENU_B_ENV,	0x00,	0x03	; Depth Filter
171
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x04	; Attack
172
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x05	; Decay
173
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x06	; Sustain
174
	CSENC_ENTRY	CS_MENU_B_ENV,	0x04,	0x07	; Release
175
#endif
176
 
177
	;; -----------------------------------------------------------------
178
	;; Drum Engine
179
	;; -----------------------------------------------------------------
180
CS_MENU_ENC_TABLE_D
181
	;; OSC "Env" Layer
182
	;;		menu		offset	cursor pos
183
	CSENC_ENTRY	CS_MENU_D_DRM,	0x01,	0x01	; Model
184
	CSENC_ENTRY	CS_MENU_D_DRM,	0x01,	0x02	; Attack
185
	CSENC_ENTRY	CS_MENU_D_DRM,	0x01,	0x03	; Decay
186
	CSENC_ENTRY	CS_MENU_D_DRM,	0x01,	0x04	; Sustain
187
#if CS_MENU_DISPLAYED_ITEMS == 4
188
	CSENC_ENTRY	CS_MENU_D_DRM,	0x02,	0x05	; Release
189
#else
190
	CSENC_ENTRY	CS_MENU_D_DRM,	0x01,	0x05	; Release
191
#endif
192
 
193
	;; OSC "Misc" Layer
194
	;;		menu		offset	cursor pos
195
	CSENC_ENTRY	CS_MENU_D_DRM,	0x06,	0x06	; Tune
196
	CSENC_ENTRY	CS_MENU_D_DRM,	0x06,	0x07	; P.1
197
	CSENC_ENTRY	CS_MENU_D_DRM,	0x06,	0x08	; P.2
198
	CSENC_ENTRY	CS_MENU_D_DRM,	0x06,	0x09	; P.3
199
#if CS_MENU_DISPLAYED_ITEMS == 4
200
	CSENC_ENTRY	CS_MENU_D_DRM,	0x07,	0x0a	; VAs
201
#else
202
	CSENC_ENTRY	CS_MENU_D_DRM,	0x06,	0x0a	; VAs
203
#endif
204
 
205
	;; OSC "Assign" Layer
206
	;;		menu		offset	cursor pos
207
	CSENC_ENTRY	CS_MENU_D_KNB,	0x00,	0x00	; Knob #1
208
	CSENC_ENTRY	CS_MENU_D_KNB,	0x00,	0x01	; Knob #2
209
	CSENC_ENTRY	CS_MENU_D_KNB,	0x00,	0x02	; Knob #3
210
	CSENC_ENTRY	CS_MENU_D_KNB,	0x00,	0x03	; Knob #4
211
	CSENC_ENTRY	CS_MENU_D_KNB,	0x00,	0x04	; Knob #5
212
 
213
	;; LFO section
214
	;;		menu		offset	cursor pos
215
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
216
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
217
 
218
	;; Filter section
219
	;;		menu		offset	cursor pos
220
	CSENC_ENTRY	CS_MENU_D_FIL,	0x00,	0x01	; Cutoff
221
	CSENC_ENTRY	CS_MENU_D_FIL,	0x00,	0x02	; Resonance
222
 
223
	;; Env "Env" Layer
224
	;;		menu		offset	cursor pos
225
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
226
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
227
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
228
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
229
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
230
 
231
	;; Env "Assign" Layer
232
	;;		menu		offset	cursor pos
233
	CSENC_ENTRY	0xff,		0x00,	0x00	; Menu item #1
234
	CSENC_ENTRY	0xff,		0x01,	0x00	; Menu item #2
235
	CSENC_ENTRY	0xff,		0x02,	0x00	; Menu item #3
236
	CSENC_ENTRY	0xff,		0x03,	0x00	; Menu item #4
237
	CSENC_ENTRY	0xff,		0x04,	0x00	; Menu item #5
238
 
239
#if DEFAULT_MB6582_CS
240
	;; Env "Misc" Layer
241
	;;		menu		offset	cursor pos
242
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
243
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
244
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
245
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
246
	CSENC_ENTRY	CS_MENU_ROOT,	0x00,	0x00	; DISABLED
247
#endif
248
 
249
	;; -----------------------------------------------------------------
250
	;; Multi Engine
251
	;; -----------------------------------------------------------------
252
CS_MENU_ENC_TABLE_M
253
	;; OSC "Env" Layer
254
	;;		menu		offset	cursor pos
255
	CSENC_ENTRY	CS_MENU_M_OSC,	0x03,	0x03	; Delay
256
	CSENC_ENTRY	CS_MENU_M_OSC,	0x03,	0x04	; Attack
257
	CSENC_ENTRY	CS_MENU_M_OSC,	0x03,	0x05	; Decay
258
	CSENC_ENTRY	CS_MENU_M_OSC,	0x03,	0x06	; Sustain
259
#if CS_MENU_DISPLAYED_ITEMS == 4
260
	CSENC_ENTRY	CS_MENU_M_OSC,	0x04,	0x07	; Release
261
#else
262
	CSENC_ENTRY	CS_MENU_M_OSC,	0x03,	0x07	; Release
263
#endif
264
 
265
	;; OSC "Misc" Layer
266
	;;		menu		offset	cursor pos
267
	CSENC_ENTRY	CS_MENU_M_OSC,	0x09,	0x09	; Transpose
268
	CSENC_ENTRY	CS_MENU_M_OSC,	0x09,	0x0a	; Finetune
269
	CSENC_ENTRY	CS_MENU_M_OSC,	0x09,	0x0b	; Portamento
270
	CSENC_ENTRY	CS_MENU_M_OSC,	0x09,	0x0c	; Oscillator Phase Offset
271
#if CS_MENU_DISPLAYED_ITEMS == 4
272
	CSENC_ENTRY	CS_MENU_M_OSC,	0x0a,	0x0d	; Pulsewidth
273
#else
274
	CSENC_ENTRY	CS_MENU_M_OSC,	0x09,	0x0d	; Pulsewidth
275
#endif
276
 
277
	;; OSC "Assign" Layer
278
	;;		menu		offset	cursor pos
279
	CSENC_ENTRY	CS_MENU_M_KNB,	0x00,	0x00	; Knob #1
280
	CSENC_ENTRY	CS_MENU_M_KNB,	0x00,	0x01	; Knob #2
281
	CSENC_ENTRY	CS_MENU_M_KNB,	0x00,	0x02	; Knob #3
282
	CSENC_ENTRY	CS_MENU_M_KNB,	0x00,	0x03	; Knob #4
283
	CSENC_ENTRY	CS_MENU_M_KNB,	0x00,	0x04	; Knob #5
284
 
285
	;; LFO section
286
	;;		menu		offset	cursor pos
287
	CSENC_ENTRY	CS_MENU_M_LFO,	0x03,	0x03	; Rate
288
	CSENC_ENTRY	CS_MENU_M_LFO,	0x03,	0x05	; Depth
289
 
290
	;; Filter section
291
	;;		menu		offset	cursor pos
292
	CSENC_ENTRY	CS_MENU_M_FIL,	0x00,	0x01	; Cutoff
293
	CSENC_ENTRY	CS_MENU_M_FIL,	0x00,	0x02	; Resonance
294
 
295
	;; Env "Env" Layer
296
	;;		menu		offset	cursor pos
297
	CSENC_ENTRY	CS_MENU_M_ENV,	0x00,	0x02	; Depth
298
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x04	; Attack
299
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x05	; Decay
300
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x06	; Sustain
301
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x07	; Release
302
 
303
	;; Env "Assign" Layer
304
	;;		menu		offset	cursor pos
305
	CSENC_ENTRY	0xff,		0x00,	0x00	; Menu item #1
306
	CSENC_ENTRY	0xff,		0x01,	0x00	; Menu item #2
307
	CSENC_ENTRY	0xff,		0x02,	0x00	; Menu item #3
308
	CSENC_ENTRY	0xff,		0x03,	0x00	; Menu item #4
309
	CSENC_ENTRY	0xff,		0x04,	0x00	; Menu item #5
310
 
311
#if DEFAULT_MB6582_CS
312
	;; Env "Misc" Layer
313
	;;		menu		offset	cursor pos
314
	CSENC_ENTRY	CS_MENU_M_ENV,	0x00,	0x02	; Depth
315
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x04	; Attack
316
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x05	; Decay
317
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x06	; Sustain
318
	CSENC_ENTRY	CS_MENU_M_ENV,	0x04,	0x07	; Release
319
#endif
320
 
321
 
322
	;; offsets between Lead/Bassline/Drum/Multi tables
323
CS_MENU_ENC_TABLE_LBDM_OFFSET EQU CS_MENU_ENC_TABLE_B-CS_MENU_ENC_TABLE_L