Subversion Repositories svn.mios

Rev

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

Rev 255 Rev 303
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,0,1,"Legato on/off"));
39
        leadControl.add(new SIDSysexParameterControl(button,null,patch,80,0,1,"Legato"));
-
 
40
        leadControl.add(new SIDSysexParameterControl(button,null,patch,80,2,1,"Fingered Portamento"));
40
        leadControl.add(new SIDSysexParameterControl(button,null,patch,80,1,1,"Wavetable only"));
41
        leadControl.add(new SIDSysexParameterControl(button,null,patch,80,1,1,"Wavetable only"));
41
        leadControl.add(new SIDSysexParameterControl(button,null,patch,80,2,1,"Fingered portamento"));
-
 
42
        leadControl.add(new SIDSysexParameterControl(rotary,null,patch,81,0,8,"Detune","Detune oscillators"));
42
        leadControl.add(new SIDSysexParameterControl(rotary,null,patch,81,0,8,"Detune","Detune oscillators"));
43
        leadControl.add(new SIDSysexParameterControl(rotary,null,patch,83,0,8,"Phase Offset","Oscillators phase offset "));
43
        leadControl.add(new SIDSysexParameterControl(rotary,null,patch,83,0,8,"Phase Offset","Oscillators phase offset "));
44
        return leadControl;
44
        return leadControl;
45
    }
45
    }
46
   
46
   
47
    public static Vector createLFO(Patch patch) {
47
    public static Vector createLFO(Patch patch) {
48
        Vector lfoControl = new Vector();
48
        Vector lfoControl = new Vector();
49
        // LFO
49
        // LFO
50
        for (int c = 0; c <6; c++) {
50
        for (int c = 0; c <6; c++) {
51
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),0,1,"on/off","Enable/disable LFO"));
51
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),0,1,"On/Off","Enable/disable LFO"));
52
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),2,1,"MIDI Sync","Global clock synchronisation"));
52
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),2,1,"MIDI Sync","Global clock synchronisation"));
53
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),3,1,"1 shot","One shot mode"));
53
            lfoControl.add(new SIDSysexParameterControl(button,null,patch,192+(5*c),3,1,"Oneshot","Oneshot mode"));
54
            lfoControl.add(new SIDSysexParameterControl(lfoselect,null,patch,192+(5*c),4,4,"Waveform","Select a waveform"));
54
            lfoControl.add(new SIDSysexParameterControl(lfoselect,null,patch,192+(5*c),4,4,"Waveform","Select a waveform"));
55
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,193+(5*c),0,-8,"Depth"));
55
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,193+(5*c),0,-8,"Depth"));
56
            lfoControl.add(new SIDSysexParameterControl(rotary,createRateStr(),patch,194+(5*c),0,8,"Rate"));
56
            lfoControl.add(new SIDSysexParameterControl(rotary,createRateStr(),patch,194+(5*c),0,8,"Rate"));
57
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,195+(5*c),0,8,"Delay"));
57
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,195+(5*c),0,8,"Delay"));
58
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,196+(5*c),0,8,"Phase"));
58
            lfoControl.add(new SIDSysexParameterControl(rotary,null,patch,196+(5*c),0,8,"Phase"));
Line 62... Line 62...
62
    }
62
    }
63
   
63
   
64
    public static Vector createENV(Patch patch, int offset) {
64
    public static Vector createENV(Patch patch, int offset) {
65
        Vector envControl = new Vector();  
65
        Vector envControl = new Vector();  
66
        // Envelope
66
        // Envelope
67
        envControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.loop,patch,224+offset,0,3,"Loop begin","Envelope loop begin point"));
67
        envControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.loop,patch,224+offset,0,3,"Loop Begin","Envelope loop begin point"));
68
        envControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.loop,patch,224+offset,4,3,"Loop end","Envelope loop end point"));
68
        envControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.loop,patch,224+offset,4,3,"Loop End","Envelope loop end point"));
69
        envControl.add(new SIDSysexParameterControl(button,null,patch,224+offset,7,1,"MIDI Sync","Global clock synchronisation"));
69
        envControl.add(new SIDSysexParameterControl(button,null,patch,224+offset,7,1,"MIDI Sync","Global clock synchronisation"));
70
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,225+offset,0,-8,"Depth"));
70
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,225+offset,0,-8,"Depth"));
71
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,226+offset,0,8,"Delay"));
71
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,226+offset,0,8,"Delay"));
72
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,227+offset,0,8,"Attack1","Attack1 rate"));
72
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,227+offset,0,8,"Attack1","Attack1 Rate"));
73
        envControl.add(new SIDSysexParameterControl(slider,null,patch,228+offset,0,8,"Attack Lvl","Attack level"));
73
        envControl.add(new SIDSysexParameterControl(slider,null,patch,228+offset,0,8,"Attack Lvl","Attack Level"));
74
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,229+offset,0,8,"Attack2","Attack2 rate"));
74
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,229+offset,0,8,"Attack2","Attack2 Rate"));
75
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,230+offset,0,8,"Decay1","Decay1 rate"));
75
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,230+offset,0,8,"Decay1","Decay1 Rate"));
76
        envControl.add(new SIDSysexParameterControl(slider,null,patch,231+offset,0,8,"Decay Lvl","Decay level"));
76
        envControl.add(new SIDSysexParameterControl(slider,null,patch,231+offset,0,8,"Decay Lvl","Decay Level"));
77
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,232+offset,0,8,"Decay2","Decay2 rate"));
77
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,232+offset,0,8,"Decay2","Decay2 Rate"));
78
        envControl.add(new SIDSysexParameterControl(slider,null,patch,233+offset,0,8,"Sustain Lvl","Sustain level"));
78
        envControl.add(new SIDSysexParameterControl(slider,null,patch,233+offset,0,8,"Sustain Lvl","Sustain Level"));
79
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,234+offset,0,8,"Release1","Release1 rate"));
79
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,234+offset,0,8,"Release1","Release1 Rate"));
80
        envControl.add(new SIDSysexParameterControl(slider,null,patch,235+offset,0,8,"Release Lvl","Release level"));
80
        envControl.add(new SIDSysexParameterControl(slider,null,patch,235+offset,0,8,"Release Lvl","Release Level"));
81
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,236+offset,0,8,"Release2","Release2 rate"));
81
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,236+offset,0,8,"Release2","Release2 Rate"));
82
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,237+offset,0,-8,"Att.Curve","Attack curve"));
82
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,237+offset,0,-8,"Att.Curve","Attack Curve"));
83
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,238+offset,0,-8,"Dec.Curve","Decay curve"));
83
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,238+offset,0,-8,"Dec.Curve","Decay Curve"));
84
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,239+offset,0,-8,"Rel.Curve","Release curve"));
84
        envControl.add(new SIDSysexParameterControl(rotary,null,patch,239+offset,0,-8,"Rel.Curve","Release Curve"));
85
        return envControl;
85
        return envControl;
86
    }
86
    }
87
   
87
   
88
    public static Vector createMOD(Patch patch) {
88
    public static Vector createMOD(Patch patch) {
89
        Vector modControl = new Vector();          
89
        Vector modControl = new Vector();          
Line 95... Line 95...
95
            modControl.add(new SIDSysexParameterControl(button,null,patch,258+(8*c),6,1,"Invert 1/L","Invert target 1/L"));
95
            modControl.add(new SIDSysexParameterControl(button,null,patch,258+(8*c),6,1,"Invert 1/L","Invert target 1/L"));
96
            modControl.add(new SIDSysexParameterControl(button,null,patch,258+(8*c),7,1,"Invert 2/R","Invert target 2/R"));
96
            modControl.add(new SIDSysexParameterControl(button,null,patch,258+(8*c),7,1,"Invert 2/R","Invert target 2/R"));
97
            modControl.add(new SIDSysexParameterControl(rotary,null,patch,259+(8*c),0,-8,"Depth"));
97
            modControl.add(new SIDSysexParameterControl(rotary,null,patch,259+(8*c),0,-8,"Depth"));
98
            modControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.tgtNames,patch,262+(8*c),0,8,"Target 1"));
98
            modControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.tgtNames,patch,262+(8*c),0,8,"Target 1"));
99
            modControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.tgtNames,patch,263+(8*c),0,8,"Target 2"));
99
            modControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.tgtNames,patch,263+(8*c),0,8,"Target 2"));
100
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),0,1,"V1 pitch","Direct assignment to pitch of left OSC1"));
100
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),0,1,"V1 Pitch","Direct assignment to pitch of left OSC1"));
101
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),1,1,"V2 pitch","Direct assignment to pitch of left OSC2"));
101
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),1,1,"V2 Pitch","Direct assignment to pitch of left OSC2"));
102
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),2,1,"V3 pitch","Direct assignment to pitch of left OSC3"));
102
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),2,1,"V3 Pitch","Direct assignment to pitch of left OSC3"));
103
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),3,1,"V1 PWM","Direct assignment to pulse width of left OSC1"));
103
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),3,1,"V1 PWM","Direct assignment to pulse width of left OSC1"));
104
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),4,1,"V2 PWM","Direct assignment to pulse width of left OSC2"));
104
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),4,1,"V2 PWM","Direct assignment to pulse width of left OSC2"));
105
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),5,1,"V3 PWM","Direct assignment to pulse width of left OSC3"));
105
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),5,1,"V3 PWM","Direct assignment to pulse width of left OSC3"));
106
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),6,1,"Cutoff L","Direct assignment to filter cutoff of left SID"));
106
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),6,1,"Cutoff L","Direct assignment to filter cutoff of left SID"));
107
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),7,1,"Volume L","Direct assignment to volume of left SID"));
107
            modControl.add(new SIDSysexParameterControl(button,null,patch,260+(8*c),7,1,"Volume L","Direct assignment to volume of left SID"));
108
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),0,1,"V4 pitch","Direct assignment to pitch of right OSC1"));
108
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),0,1,"V4 Pitch","Direct assignment to pitch of right OSC1"));
109
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),1,1,"V5 pitch","Direct assignment to pitch of right OSC2"));
109
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),1,1,"V5 Pitch","Direct assignment to pitch of right OSC2"));
110
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),2,1,"V6 pitch","Direct assignment to pitch of right OSC3"));
110
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),2,1,"V6 Pitch","Direct assignment to pitch of right OSC3"));
111
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),3,1,"V4 PW","Direct assignment to pulse width of right OSC1"));
111
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),3,1,"V4 PW","Direct assignment to pulse width of right OSC1"));
112
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),4,1,"V5 PW","Direct assignment to pulse width of right OSC2"));
112
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),4,1,"V5 PW","Direct assignment to pulse width of right OSC2"));
113
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),5,1,"V6 PW","Direct assignment to pulse width of right OSC3"));
113
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),5,1,"V6 PW","Direct assignment to pulse width of right OSC3"));
114
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),6,1,"Cutoff R","Direct assignment to filter cutoff of right SID"));
114
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),6,1,"Cutoff R","Direct assignment to filter cutoff of right SID"));
115
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),7,1,"Volume R","Direct assignment to volume of right SID"));
115
            modControl.add(new SIDSysexParameterControl(button,null,patch,261+(8*c),7,1,"Volume R","Direct assignment to volume of right SID"));
Line 119... Line 119...
119
   
119
   
120
    public static Vector createTRIG(Patch patch) {
120
    public static Vector createTRIG(Patch patch) {
121
        Vector trigControl = new Vector(); 
121
        Vector trigControl = new Vector(); 
122
        // Trigger matrix
122
        // Trigger matrix
123
        for (int c = 0; c <14; c++) {
123
        for (int c = 0; c <14; c++) {
124
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),0,1,"OSC1 left ch"));
124
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),0,1,"OSC1 Left Ch"));
125
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),1,1,"OSC2 left ch"));
125
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),1,1,"OSC2 Left Ch"));
126
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),2,1,"OSC3 left ch"));
126
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),2,1,"OSC3 Left Ch"));
127
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),3,1,"OSC1 right ch"));
127
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),3,1,"OSC1 Right Ch"));
128
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),4,1,"OSC2 right ch"));
128
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),4,1,"OSC2 Right Ch"));
129
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),5,1,"OSC3 right ch"));
129
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),5,1,"OSC3 Right Ch"));
130
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),6,1,"ENV1 Attack"));
130
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),6,1,"ENV1 Attack"));
131
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),7,1,"ENV2 Attack"));
131
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,320+(3*c),7,1,"ENV2 Attack"));
132
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),0,1,"ENV1 Release"));
132
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),0,1,"ENV1 Release"));
133
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),1,1,"ENV2 Release"));
133
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),1,1,"ENV2 Release"));
134
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),2,1,"LFO1 Reset"));
134
            trigControl.add(new SIDSysexParameterControl(simplebutton,null,patch,321+(3*c),2,1,"LFO1 Reset"));
Line 152... Line 152...
152
    public static Vector createWT(Patch patch) {
152
    public static Vector createWT(Patch patch) {
153
        Vector wtControl = new Vector();       
153
        Vector wtControl = new Vector();       
154
        // Wavetable sequencer
154
        // Wavetable sequencer
155
        for (int c = 0; c <4; c++) {
155
        for (int c = 0; c <4; c++) {
156
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,364+(5*c),0,6,"Clock Divider","Clock divider (sets tempo)"));
156
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,364+(5*c),0,6,"Clock Divider","Clock divider (sets tempo)"));
157
            wtControl.add(new SIDSysexParameterControl(button,null,patch,364+(5*c),6,1,"To left ch","Parameter forwarded to left channel"));
157
            wtControl.add(new SIDSysexParameterControl(button,null,patch,364+(5*c),6,1,"To Left Ch","Parameter forwarded to left channel"));
158
            wtControl.add(new SIDSysexParameterControl(button,null,patch,364+(5*c),7,1,"To right ch","Parameter forwarded to right channel"));
158
            wtControl.add(new SIDSysexParameterControl(button,null,patch,364+(5*c),7,1,"To Right Ch","Parameter forwarded to right channel"));
159
            wtControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.leadParams,patch,365+(5*c),0,8,"Assign","Parameter assignment"));
159
            wtControl.add(new SIDSysexParameterControl(combo,SIDSysexInfo.leadParams,patch,365+(5*c),0,8,"Assign","Parameter assignment"));
160
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,366+(5*c),0,7,"Start pos","Start position in wavetable"));
160
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,366+(5*c),0,7,"Start Pos","Start position in wavetable"));
161
            wtControl.add(new SIDSysexParameterControl(button,null,patch,366+(5*c),7,1,"Pos ctrl by MP","Position controlled by modulation path"));
161
            wtControl.add(new SIDSysexParameterControl(button,null,patch,366+(5*c),7,1,"Pos Ctrl by MP","Position controlled by modulation path"));
162
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,367+(5*c),0,7,"End pos","End position in wavetable"));
162
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,367+(5*c),0,7,"End Pos","End position in wavetable"));
163
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,368+(5*c),0,7,"Loop pos","Loop position in wavetable"));
163
            wtControl.add(new SIDSysexParameterControl(rotary,null,patch,368+(5*c),0,7,"Loop Pos","Loop position in wavetable"));
164
            wtControl.add(new SIDSysexParameterControl(button,null,patch,368+(5*c),7,1,"Oneshot"));
164
            wtControl.add(new SIDSysexParameterControl(button,null,patch,368+(5*c),7,1,"Oneshot"));
165
        }      
165
        }      
166
        // Wavetable data
166
        // Wavetable data
167
        for (int c = 0; c <128; c++) {
167
        for (int c = 0; c <128; c++) {
168
            wtControl.add(new SIDSysexParameterControl(slider,null,patch,384+c,0,8,Integer.toString(c)));
168
            wtControl.add(new SIDSysexParameterControl(slider,null,patch,384+c,0,8,Integer.toString(c)));