Subversion Repositories svn.mios

Rev

Rev 628 | Rev 712 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 628 Rev 696
Line 34... Line 34...
34
    private static int lfoselect = 5;
34
    private static int lfoselect = 5;
35
    private static int combo = 6;
35
    private static int combo = 6;
36
36
37
    public static Vector createMSTR(Patch patch) {
37
    public static Vector createMSTR(Patch patch) {
38
        Vector leadControl = new Vector();
38
        Vector leadControl = new Vector();
39
        leadControl.add(new SIDSysexParameterControl(button, null, patch, 80,
39
        leadControl.add(new SIDSysexParameterControl(button, null, 0, patch, 80, 0, 1, "Legato"));
40
                0, 1, "Legato"));
-
 
41
        leadControl.add(new SIDSysexParameterControl(button, null, patch, 80,
40
        leadControl.add(new SIDSysexParameterControl(button, null, 0, patch, 80, 2, 1, "Fingered Portamento"));
42
                2, 1, "Fingered Portamento"));
-
 
43
        leadControl.add(new SIDSysexParameterControl(button, null, patch, 80,
41
        leadControl.add(new SIDSysexParameterControl(button, null, 0, patch, 80, 1, 1, "Wavetable only"));
44
                1, 1, "Wavetable only"));
-
 
45
        leadControl.add(new SIDSysexParameterControl(rotary, null, patch, 81,
42
        leadControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 81, 0, 8, "Detune", "Detune oscillators"));
46
                0, 8, "Detune", "Detune oscillators"));
-
 
47
        leadControl.add(new SIDSysexParameterControl(rotary, null, patch, 83,
43
        leadControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 83, 0, 8, "Phase Offset", "Oscillators phase offset "));
48
                0, 8, "Phase Offset", "Oscillators phase offset "));
-
 
49
        return leadControl;
44
        return leadControl;
50
    }
45
    }
51
46
52
    public static Vector createLFO(Patch patch) {
47
    public static Vector createLFO(Patch patch) {
53
        Vector lfoControl = new Vector();
48
        Vector lfoControl = new Vector();
54
        // LFO
49
        // LFO
55
        for (int c = 0; c < 6; c++) {
50
        for (int c = 0; c < 6; c++) {
56
            lfoControl.add(new SIDSysexParameterControl(button, null, patch,
51
            lfoControl.add(new SIDSysexParameterControl(button, null, 0, patch, 192 + (5 * c), 0, 1, "On/Off", "Enable/disable LFO"));
57
                    192 + (5 * c), 0, 1, "On/Off", "Enable/disable LFO"));
-
 
58
            lfoControl.add(new SIDSysexParameterControl(button, null, patch,
52
            lfoControl.add(new SIDSysexParameterControl(button, null, 0, patch, 192 + (5 * c), 2, 1, "MIDI Sync", "Global clock synchronisation"));
59
                    192 + (5 * c), 2, 1, "MIDI Sync",
-
 
60
                    "Global clock synchronisation"));
-
 
61
            lfoControl.add(new SIDSysexParameterControl(button, null, patch,
53
            lfoControl.add(new SIDSysexParameterControl(button, null, 0, patch, 192 + (5 * c), 3, 1, "Oneshot", "Oneshot mode"));
62
                    192 + (5 * c), 3, 1, "Oneshot", "Oneshot mode"));
-
 
63
            lfoControl.add(new SIDSysexParameterControl(lfoselect, null, patch,
54
            lfoControl.add(new SIDSysexParameterControl(lfoselect, null, 0, patch, 192 + (5 * c), 4, 4, "Waveform", "Select a waveform"));
64
                    192 + (5 * c), 4, 4, "Waveform", "Select a waveform"));
-
 
65
            lfoControl.add(new SIDSysexParameterControl(rotary, null, patch,
55
            lfoControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 193 + (5 * c), 0, 8, "Depth"));
66
                    193 + (5 * c), 0, -8, "Depth"));
-
 
67
            lfoControl.add(new SIDSysexParameterControl(rotary,
-
 
68
                    createRateStr(), patch, 194 + (5 * c), 0, 8, "Rate"));
-
 
69
            lfoControl.add(new SIDSysexParameterControl(rotary, null, patch,
56
            lfoControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 194 + (5 * c), 0, 8, "Rate"));
70
                    195 + (5 * c), 0, 8, "Delay"));
-
 
71
            lfoControl.add(new SIDSysexParameterControl(rotary, null, patch,
57
            lfoControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 195 + (5 * c), 0, 8, "Delay"));
72
                    196 + (5 * c), 0, 8, "Phase"));
-
 
73
            lfoControl.add(new SIDSysexParameterControl(button, null, patch,
58
            lfoControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 196 + (5 * c), 0, 8, "Phase"));
74
                    321, (2 + c), 1, "Key Sync", "Reset LFO at key press"));
59
            lfoControl.add(new SIDSysexParameterControl(button, null, 0, patch, 321, (2 + c), 1, "Key Sync", "Reset LFO at key press"));
75
        }
60
        }
76
        return lfoControl;
61
        return lfoControl;
77
    }
62
    }
78
63
79
    public static Vector createENV(Patch patch, int offset) {
64
    public static Vector createENV(Patch patch, int offset) {
80
        Vector envControl = new Vector();
65
        Vector envControl = new Vector();
81
        // Envelope
66
        // Envelope
82
        envControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.loop,
67
        envControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.loop, 0, patch, 224 + offset, 0, 3, "Loop Begin", "Envelope loop begin point"));
83
                patch, 224 + offset, 0, 3, "Loop Begin",
-
 
84
                "Envelope loop begin point"));
-
 
85
        envControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.loop,
68
        envControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.loop, 0, patch, 224 + offset, 4, 3, "Loop End", "Envelope loop end point"));
86
                patch, 224 + offset, 4, 3, "Loop End",
-
 
87
                "Envelope loop end point"));
-
 
88
        envControl
-
 
89
                .add(new SIDSysexParameterControl(button, null, patch,
69
        envControl.add(new SIDSysexParameterControl(button, null, 0, patch, 224 + offset, 7, 1, "MIDI Sync", "Global clock synchronisation"));
90
                        224 + offset, 7, 1, "MIDI Sync",
-
 
91
                        "Global clock synchronisation"));
-
 
92
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
70
        envControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 225 + offset, 0, 8, "Depth"));
93
                225 + offset, 0, -8, "Depth"));
-
 
94
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
71
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 226 + offset, 0, 8, "Delay"));
95
                226 + offset, 0, 8, "Delay"));
-
 
96
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
72
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 227 + offset, 0, 8, "Attack1", "Attack1 Rate"));
97
                227 + offset, 0, 8, "Attack1", "Attack1 Rate"));
-
 
98
        envControl.add(new SIDSysexParameterControl(slider, null, patch,
73
        envControl.add(new SIDSysexParameterControl(slider, null, 0, patch, 228 + offset, 0, 8, "Attack Lvl", "Attack Level"));
99
                228 + offset, 0, 8, "Attack Lvl", "Attack Level"));
-
 
100
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
74
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 229 + offset, 0, 8, "Attack2", "Attack2 Rate"));
101
                229 + offset, 0, 8, "Attack2", "Attack2 Rate"));
-
 
102
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
75
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 230 + offset, 0, 8, "Decay1", "Decay1 Rate"));
103
                230 + offset, 0, 8, "Decay1", "Decay1 Rate"));
-
 
104
        envControl.add(new SIDSysexParameterControl(slider, null, patch,
76
        envControl.add(new SIDSysexParameterControl(slider, null, 0, patch, 231 + offset, 0, 8, "Decay Lvl", "Decay Level"));
105
                231 + offset, 0, 8, "Decay Lvl", "Decay Level"));
-
 
106
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
77
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 232 + offset, 0, 8, "Decay2", "Decay2 Rate"));
107
                232 + offset, 0, 8, "Decay2", "Decay2 Rate"));
-
 
108
        envControl.add(new SIDSysexParameterControl(slider, null, patch,
78
        envControl.add(new SIDSysexParameterControl(slider, null, 0, patch, 233 + offset, 0, 8, "Sustain Lvl", "Sustain Level"));
109
                233 + offset, 0, 8, "Sustain Lvl", "Sustain Level"));
-
 
110
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
79
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 234 + offset, 0, 8, "Release1", "Release1 Rate"));
111
                234 + offset, 0, 8, "Release1", "Release1 Rate"));
-
 
112
        envControl.add(new SIDSysexParameterControl(slider, null, patch,
80
        envControl.add(new SIDSysexParameterControl(slider, null, 0, patch, 235 + offset, 0, 8, "Release Lvl", "Release Level"));
113
                235 + offset, 0, 8, "Release Lvl", "Release Level"));
-
 
114
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
81
        envControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 236 + offset, 0, 8, "Release2", "Release2 Rate"));
115
                236 + offset, 0, 8, "Release2", "Release2 Rate"));
-
 
116
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
82
        envControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 237 + offset, 0, 8, "Att.Curve", "Attack Curve"));
117
                237 + offset, 0, -8, "Att.Curve", "Attack Curve"));
-
 
118
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
83
        envControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 238 + offset, 0, 8, "Dec.Curve", "Decay Curve"));
119
                238 + offset, 0, -8, "Dec.Curve", "Decay Curve"));
-
 
120
        envControl.add(new SIDSysexParameterControl(rotary, null, patch,
84
        envControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 239 + offset, 0, 8, "Rel.Curve", "Release Curve"));
121
                239 + offset, 0, -8, "Rel.Curve", "Release Curve"));
-
 
122
        return envControl;
85
        return envControl;
123
    }
86
    }
124
87
125
    public static Vector createMOD(Patch patch) {
88
    public static Vector createMOD(Patch patch) {
126
        Vector modControl = new Vector();
89
        Vector modControl = new Vector();
127
        // Modulation paths
90
        // Modulation paths
128
        for (int c = 0; c < 8; c++) {
91
        for (int c = 0; c < 8; c++) {
129
            modControl.add(new SIDSysexParameterControl(combo, createSrcStr(),
92
            modControl.add(new SIDSysexParameterControl(combo, createSrcStr(), 0, patch, 256 + (8 * c), 0, 8, "Source 1"));
130
                    patch, 256 + (8 * c), 0, 8, "Source 1"));
-
 
131
            modControl.add(new SIDSysexParameterControl(combo, createSrcStr(),
93
            modControl.add(new SIDSysexParameterControl(combo, createSrcStr(), 0, patch, 257 + (8 * c), 0, 8, "Source 2"));
132
                    patch, 257 + (8 * c), 0, 8, "Source 2"));
-
 
133
            modControl.add(new SIDSysexParameterControl(combo,
-
 
134
                    SIDSysexInfo.operatorNames, patch, 258 + (8 * c), 0, 4,
94
            modControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.operatorNames, 0, patch, 258 + (8 * c), 0, 4, "Operator"));
135
                    "Operator"));
-
 
136
            modControl.add(new SIDSysexParameterControl(button, null, patch,
95
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 258 + (8 * c), 6, 1, "Invert 1/L", "Invert target 1/L"));
137
                    258 + (8 * c), 6, 1, "Invert 1/L", "Invert target 1/L"));
-
 
138
            modControl.add(new SIDSysexParameterControl(button, null, patch,
96
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 258 + (8 * c), 7, 1, "Invert 2/R", "Invert target 2/R"));
139
                    258 + (8 * c), 7, 1, "Invert 2/R", "Invert target 2/R"));
-
 
140
            modControl.add(new SIDSysexParameterControl(rotary, null, patch,
97
            modControl.add(new SIDSysexParameterControl(rotary, null, -128, patch, 259 + (8 * c), 0, 8, "Depth"));
141
                    259 + (8 * c), 0, -8, "Depth"));
-
 
142
            modControl.add(new SIDSysexParameterControl(combo,
-
 
143
                    SIDSysexInfo.tgtNames, patch, 262 + (8 * c), 0, 8,
98
            modControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.tgtNames, 0, patch, 262 + (8 * c), 0, 8, "Target 1"));
144
                    "Target 1"));
-
 
145
            modControl.add(new SIDSysexParameterControl(combo,
-
 
146
                    SIDSysexInfo.tgtNames, patch, 263 + (8 * c), 0, 8,
99
            modControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.tgtNames, 0, patch, 263 + (8 * c), 0, 8, "Target 2"));
147
                    "Target 2"));
-
 
148
            modControl.add(new SIDSysexParameterControl(button, null, patch,
100
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 0, 1, "V1 Pitch", "Direct assignment to pitch of left OSC1"));
149
                    260 + (8 * c), 0, 1, "V1 Pitch",
-
 
150
                    "Direct assignment to pitch of left OSC1"));
-
 
151
            modControl.add(new SIDSysexParameterControl(button, null, patch,
101
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 1, 1, "V2 Pitch", "Direct assignment to pitch of left OSC2"));
152
                    260 + (8 * c), 1, 1, "V2 Pitch",
-
 
153
                    "Direct assignment to pitch of left OSC2"));
-
 
154
            modControl.add(new SIDSysexParameterControl(button, null, patch,
102
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 2, 1, "V3 Pitch", "Direct assignment to pitch of left OSC3"));
155
                    260 + (8 * c), 2, 1, "V3 Pitch",
-
 
156
                    "Direct assignment to pitch of left OSC3"));
-
 
157
            modControl.add(new SIDSysexParameterControl(button, null, patch,
103
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 3, 1, "V1 PWM", "Direct assignment to pulse width of left OSC1"));
158
                    260 + (8 * c), 3, 1, "V1 PWM",
-
 
159
                    "Direct assignment to pulse width of left OSC1"));
-
 
160
            modControl.add(new SIDSysexParameterControl(button, null, patch,
104
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 4, 1, "V2 PWM", "Direct assignment to pulse width of left OSC2"));
161
                    260 + (8 * c), 4, 1, "V2 PWM",
-
 
162
                    "Direct assignment to pulse width of left OSC2"));
-
 
163
            modControl.add(new SIDSysexParameterControl(button, null, patch,
105
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 5, 1, "V3 PWM", "Direct assignment to pulse width of left OSC3"));
164
                    260 + (8 * c), 5, 1, "V3 PWM",
-
 
165
                    "Direct assignment to pulse width of left OSC3"));
-
 
166
            modControl.add(new SIDSysexParameterControl(button, null, patch,
106
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 6, 1, "Cutoff L", "Direct assignment to filter cutoff of left SID"));
167
                    260 + (8 * c), 6, 1, "Cutoff L",
-
 
168
                    "Direct assignment to filter cutoff of left SID"));
-
 
169
            modControl.add(new SIDSysexParameterControl(button, null, patch,
107
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 260 + (8 * c), 7, 1, "Volume L", "Direct assignment to volume of left SID"));
170
                    260 + (8 * c), 7, 1, "Volume L",
-
 
171
                    "Direct assignment to volume of left SID"));
-
 
172
            modControl.add(new SIDSysexParameterControl(button, null, patch,
108
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 0, 1, "V4 Pitch", "Direct assignment to pitch of right OSC1"));
173
                    261 + (8 * c), 0, 1, "V4 Pitch",
-
 
174
                    "Direct assignment to pitch of right OSC1"));
-
 
175
            modControl.add(new SIDSysexParameterControl(button, null, patch,
109
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 1, 1, "V5 Pitch", "Direct assignment to pitch of right OSC2"));
176
                    261 + (8 * c), 1, 1, "V5 Pitch",
-
 
177
                    "Direct assignment to pitch of right OSC2"));
-
 
178
            modControl.add(new SIDSysexParameterControl(button, null, patch,
110
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 2, 1, "V6 Pitch", "Direct assignment to pitch of right OSC3"));
179
                    261 + (8 * c), 2, 1, "V6 Pitch",
-
 
180
                    "Direct assignment to pitch of right OSC3"));
-
 
181
            modControl.add(new SIDSysexParameterControl(button, null, patch,
111
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 3, 1, "V4 PW", "Direct assignment to pulse width of right OSC1"));
182
                    261 + (8 * c), 3, 1, "V4 PW",
-
 
183
                    "Direct assignment to pulse width of right OSC1"));
-
 
184
            modControl.add(new SIDSysexParameterControl(button, null, patch,
112
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 4, 1, "V5 PW", "Direct assignment to pulse width of right OSC2"));
185
                    261 + (8 * c), 4, 1, "V5 PW",
-
 
186
                    "Direct assignment to pulse width of right OSC2"));
-
 
187
            modControl.add(new SIDSysexParameterControl(button, null, patch,
113
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 5, 1, "V6 PW", "Direct assignment to pulse width of right OSC3"));
188
                    261 + (8 * c), 5, 1, "V6 PW",
-
 
189
                    "Direct assignment to pulse width of right OSC3"));
-
 
190
            modControl.add(new SIDSysexParameterControl(button, null, patch,
114
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 6, 1, "Cutoff R", "Direct assignment to filter cutoff of right SID"));
191
                    261 + (8 * c), 6, 1, "Cutoff R",
-
 
192
                    "Direct assignment to filter cutoff of right SID"));
-
 
193
            modControl.add(new SIDSysexParameterControl(button, null, patch,
115
            modControl.add(new SIDSysexParameterControl(button, null, 0, patch, 261 + (8 * c), 7, 1, "Volume R", "Direct assignment to volume of right SID"));
194
                    261 + (8 * c), 7, 1, "Volume R",
-
 
195
                    "Direct assignment to volume of right SID"));
-
 
196
        }
116
        }
197
        return modControl;
117
        return modControl;
198
    }
118
    }
199
119
200
    public static Vector createTRIG(Patch patch) {
120
    public static Vector createTRIG(Patch patch) {
201
        Vector trigControl = new Vector();
121
        Vector trigControl = new Vector();
202
        // Trigger matrix
122
        // Trigger matrix
203
        for (int c = 0; c < 14; c++) {
123
        for (int c = 0; c < 14; c++) {
204
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
124
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 0, 1, "OSC1 Left Ch"));
205
                    patch, 320 + (3 * c), 0, 1, "OSC1 Left Ch"));
-
 
206
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
125
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 1, 1, "OSC2 Left Ch"));
207
                    patch, 320 + (3 * c), 1, 1, "OSC2 Left Ch"));
-
 
208
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
126
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 2, 1, "OSC3 Left Ch"));
209
                    patch, 320 + (3 * c), 2, 1, "OSC3 Left Ch"));
-
 
210
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
127
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 3, 1, "OSC1 Right Ch"));
211
                    patch, 320 + (3 * c), 3, 1, "OSC1 Right Ch"));
-
 
212
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
128
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 4, 1, "OSC2 Right Ch"));
213
                    patch, 320 + (3 * c), 4, 1, "OSC2 Right Ch"));
-
 
214
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
129
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 5, 1, "OSC3 Right Ch"));
215
                    patch, 320 + (3 * c), 5, 1, "OSC3 Right Ch"));
-
 
216
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
130
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 6, 1, "ENV1 Attack"));
217
                    patch, 320 + (3 * c), 6, 1, "ENV1 Attack"));
-
 
218
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
131
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 320 + (3 * c), 7, 1, "ENV2 Attack"));
219
                    patch, 320 + (3 * c), 7, 1, "ENV2 Attack"));
-
 
220
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
132
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 0, 1, "ENV1 Release"));
221
                    patch, 321 + (3 * c), 0, 1, "ENV1 Release"));
-
 
222
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
133
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 1, 1, "ENV2 Release"));
223
                    patch, 321 + (3 * c), 1, 1, "ENV2 Release"));
-
 
224
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
134
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 2, 1, "LFO1 Reset"));
225
                    patch, 321 + (3 * c), 2, 1, "LFO1 Reset"));
-
 
226
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
135
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 3, 1, "LFO2 Reset"));
227
                    patch, 321 + (3 * c), 3, 1, "LFO2 Reset"));
-
 
228
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
136
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 4, 1, "LFO3 Reset"));
229
                    patch, 321 + (3 * c), 4, 1, "LFO3 Reset"));
-
 
230
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
137
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 5, 1, "LFO4 Reset"));
231
                    patch, 321 + (3 * c), 5, 1, "LFO4 Reset"));
-
 
232
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
138
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 6, 1, "LFO5 Reset"));
233
                    patch, 321 + (3 * c), 6, 1, "LFO5 Reset"));
-
 
234
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
139
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 321 + (3 * c), 7, 1, "LFO6 Reset"));
235
                    patch, 321 + (3 * c), 7, 1, "LFO6 Reset"));
-
 
236
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
140
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 0, 1, "WT1 Reset"));
237
                    patch, 322 + (3 * c), 0, 1, "WT1 Reset"));
-
 
238
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
141
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 1, 1, "WT2 Reset"));
239
                    patch, 322 + (3 * c), 1, 1, "WT2 Reset"));
-
 
240
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
142
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 2, 1, "WT3 Reset"));
241
                    patch, 322 + (3 * c), 2, 1, "WT3 Reset"));
-
 
242
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
143
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 3, 1, "WT4 Reset"));
243
                    patch, 322 + (3 * c), 3, 1, "WT4 Reset"));
-
 
244
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
144
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 4, 1, "WT1 Step"));
245
                    patch, 322 + (3 * c), 4, 1, "WT1 Step"));
-
 
246
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
145
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 5, 1, "WT2 Step"));
247
                    patch, 322 + (3 * c), 5, 1, "WT2 Step"));
-
 
248
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
146
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 6, 1, "WT3 Step"));
249
                    patch, 322 + (3 * c), 6, 1, "WT3 Step"));
-
 
250
            trigControl.add(new SIDSysexParameterControl(simplebutton, null,
147
            trigControl.add(new SIDSysexParameterControl(simplebutton, null, 0, patch, 322 + (3 * c), 7, 1, "WT4 Step"));
251
                    patch, 322 + (3 * c), 7, 1, "WT4 Step"));
-
 
252
        }
148
        }
253
        return trigControl;
149
        return trigControl;
254
    }
150
    }
255
151
256
    public static Vector createWT(Patch patch) {
152
    public static Vector createWT(Patch patch) {
257
        Vector wtControl = new Vector();
153
        Vector wtControl = new Vector();
258
        // Wavetable sequencer
154
        // Wavetable sequencer
259
        for (int c = 0; c < 4; c++) {
155
        for (int c = 0; c < 4; c++) {
260
            wtControl.add(new SIDSysexParameterControl(rotary, null, patch,
156
            wtControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 364 + (5 * c), 0, 6, "Clock Divider", "Clock divider (sets tempo)"));
261
                    364 + (5 * c), 0, 6, "Clock Divider",
-
 
262
                    "Clock divider (sets tempo)"));
-
 
263
            wtControl.add(new SIDSysexParameterControl(button, null, patch,
157
            wtControl.add(new SIDSysexParameterControl(button, null, 0, patch,  364 + (5 * c), 6, 1, "To Left Ch", "Parameter forwarded to left channel"));
264
                    364 + (5 * c), 6, 1, "To Left Ch",
-
 
265
                    "Parameter forwarded to left channel"));
-
 
266
            wtControl.add(new SIDSysexParameterControl(button, null, patch,
158
            wtControl.add(new SIDSysexParameterControl(button, null, 0, patch,  364 + (5 * c), 7, 1, "To Right Ch", "Parameter forwarded to right channel"));
267
                    364 + (5 * c), 7, 1, "To Right Ch",
-
 
268
                    "Parameter forwarded to right channel"));
-
 
269
            wtControl.add(new SIDSysexParameterControl(combo,
-
 
270
                    SIDSysexInfo.leadParams, patch, 365 + (5 * c), 0, 8,
159
            wtControl.add(new SIDSysexParameterControl(combo, SIDSysexInfo.leadParams, 0, patch, 365 + (5 * c), 0, 8, "Assign", "Parameter assignment"));
271
                    "Assign", "Parameter assignment"));
-
 
272
            wtControl.add(new SIDSysexParameterControl(rotary, null, patch,
160
            wtControl.add(new SIDSysexParameterControl(rotary, null, 0, patch,  366 + (5 * c), 0, 7, "Start Pos", "Start position in wavetable"));
273
                    366 + (5 * c), 0, 7, "Start Pos",
-
 
274
                    "Start position in wavetable"));
-
 
275
            wtControl.add(new SIDSysexParameterControl(button, null, patch,
161
            wtControl.add(new SIDSysexParameterControl(button, null, 0, patch,  366 + (5 * c), 7, 1, "Pos Ctrl by MP", "Position controlled by modulation path"));
276
                    366 + (5 * c), 7, 1, "Pos Ctrl by MP",
-
 
277
                    "Position controlled by modulation path"));
-
 
278
            wtControl
-
 
279
                    .add(new SIDSysexParameterControl(rotary, null, patch,
162
            wtControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 367 + (5 * c), 0, 7, "End Pos", "End position in wavetable"));
280
                            367 + (5 * c), 0, 7, "End Pos",
-
 
281
                            "End position in wavetable"));
-
 
282
            wtControl.add(new SIDSysexParameterControl(rotary, null, patch,
163
            wtControl.add(new SIDSysexParameterControl(rotary, null, 0, patch, 368 + (5 * c), 0, 7, "Loop Pos", "Loop position in wavetable"));
283
                    368 + (5 * c), 0, 7, "Loop Pos",
-
 
284
                    "Loop position in wavetable"));
-
 
285
            wtControl.add(new SIDSysexParameterControl(button, null, patch,
164
            wtControl.add(new SIDSysexParameterControl(button, null, 0, patch,  368 + (5 * c), 7, 1, "Oneshot"));
286
                    368 + (5 * c), 7, 1, "Oneshot"));
-
 
287
        }
165
        }
288
        // Wavetable data
166
        // Wavetable data
289
        for (int c = 0; c < 128; c++) {
167
        for (int c = 0; c < 128; c++) {
290
            wtControl.add(new SIDSysexParameterControl(slider, null, patch,
168
            wtControl.add(new SIDSysexParameterControl(slider, null, 0, patch,  384 + c, 0, 8, Integer.toString(c)));
291
                    384 + c, 0, 8, Integer.toString(c)));
-
 
292
        }
169
        }
293
        return wtControl;
170
        return wtControl;
294
    }
-
 
295
-
 
296
    private static String[] createRateStr() {
-
 
297
        String[] rateStr = new String[256];
-
 
298
        for (int c = 0; c < rateStr.length; c++) {
-
 
299
-
 
300
            if (c < 245) {
-
 
301
                rateStr[c] = Integer.toString(c);
-
 
302
            } else {
-
 
303
                rateStr[c] = SIDSysexInfo.rates[c - 245];
-
 
304
            }
-
 
305
        }
-
 
306
        return rateStr;
-
 
307
    }
171
    }
308
172
309
    private static String[] createSrcStr() {
173
    private static String[] createSrcStr() {
310
        String[] srcStr = new String[256];
174
        String[] srcStr = new String[256];
311
        String[] srcNames = SIDSysexInfo.srcNames;
175
        String[] srcNames = SIDSysexInfo.srcNames;