Subversion Repositories svn.mios

Rev

Rev 712 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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