-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModVCA.java
81 lines (73 loc) · 2.86 KB
/
ModVCA.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* Synth Patch Conversion
* Copyright (C) 2003-4, Kenneth L. Martinez ([email protected])
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
package PatchConversion;
/**
* This module is a vca with a built-in control offset (which adjusts for
* bipolar or negative-polarity modulation input).
*
* @author Kenneth L. Martinez
*/
//import java.util.*;
public class ModVCA extends Module {
ModVCA(String pName, int pNumber, String initOffset) throws PatchDefinitionException {
super(pName, "mod_vca", pNumber);
ModuleParm mp;
addParm(new ModuleParm("Mod Offset", "percent", new ParmValidatorRange(0, 100), initOffset, "linear"));
mp = new ModuleParm("Level Amt1", "percent", new ParmValidatorRange(0, 100), "100", "linear");
addParm(mp);
addInputJack(new ModuleInputJack("Level In1", "control_input"), mp);
mp = new ModuleParm("Level Amt2", "percent", new ParmValidatorRange(-100, 100), "0", "linear");
addParm(mp);
addInputJack(new ModuleInputJack("Level In2", "control_input"), mp);
mp = new ModuleParm("Level Amt1 Mod Amt", "percent", new ParmValidatorRange(-100, 100), "0", "linear");
addParm(mp);
addInputJack(new ModuleInputJack("Level Amt1 Mod In", "control_input"), mp);
addInputJack(new ModuleInputJack("VCA In", "audio_input"));
addOutputJack(new ModuleOutputJack("VCA Out", "audio_output"));
}
ModVCA(String xml) throws PatchDefinitionException {
super(xml);
if (findInputJack("Level In1") == null) {
throw new PatchDefinitionException("Error: ModAmount " + getName() +
" missing required jack Level In1");
}
if (findParm("Level Amt1") == null) {
throw new PatchDefinitionException("Error: ModAmount " + getName() +
" missing required parm Level Amt1");
}
if (findParm("Mod Offset") == null) {
throw new PatchDefinitionException("Error: ModAmount " + getName() +
" missing required parm Mod Offset");
}
}
public void seeIfParmsUsed() {
super.seeIfParmsUsed();
// ModuleParm mp;
//// if (getParms().size() == 0) { // FIXME why was this here?
//// return;
//// }
// for (int i = 0; i < getParms().size(); i++) {
// mp = ((ModuleParm)getParms().get(i));
// if (mp.isUsed()) {
// return;
// }
// }
// setUsed(1);
}
}