20 unsigned s_rate,
unsigned b_size,
21 unsigned in_chans,
unsigned out_chans)
22 :
IO(s_rate, b_size, 0, 0, in_chans, out_chans),
23 AudioEffectX (audioMaster, 1, 1) {
24 setNumInputs(in_chans);
25 setNumOutputs(out_chans);
26 setUniqueID (
'CSL_BP_Filter');
27 canProcessReplacing ();
35 mFilter->setName(
"CSL B-P Filter");
57 vst_strncpy ((
char *)
mGraph->name()->c_str(), name, kVstMaxProgNameLen);
61 vst_strncpy (name,
"CSL B-P Filter", kVstMaxProgNameLen);
82 vst_strncpy(label,
"Hz", kVstMaxParamStrLen);
86 Hz2string(
mFreq, text, kVstMaxParamStrLen);
90 vst_strncpy(text,
"Freq", kVstMaxParamStrLen);
94 vst_strncpy(name,
"CSL B-P Filter", kVstMaxEffectNameLen);
99 vst_strncpy(text,
"CREATE / UCSB", kVstMaxVendorStrLen);
104 vst_strncpy(text,
"CSL B-P Filter", kVstMaxProductStrLen);
154 return new VSTInst (audioMaster, inst);
157 VSTInst::VSTInst()
IO(), AudioEffectX (audioMaster, 1, 1) { }
159 VSTInst:: VSTInst(audioMasterCallback audioMaster,
Instrument * theInstrument,
160 unsigned s_rate,
unsigned b_size,
161 unsigned in_chans,
unsigned out_chans)
162 :
IO(s_rate, b_size, 0, 0, in_chans, out_chans),
163 AudioEffectX (audioMaster, 1, 1) {
164 setNumInputs (in_chans);
165 setNumOutputs (out_chans);
166 setUniqueID (
'Gain');
167 canProcessReplacing ();
170 VSTInst::~VSTInst() { }
182 void VSTInst::setProgramName (
char* name) {
183 vst_strncpy (mInstrument->mName, name, kVstMaxProgNameLen);
186 void VSTInst::getProgramName (
char* name) {
187 vst_strncpy (name, mInstrument->mName, kVstMaxProgNameLen);
192 void VSTInst::setParameter (VstInt32 index,
float value) {
196 float VSTInst::getParameter (VstInt32 index) {
202 void VSTInst::getParameterLabel (VstInt32 index,
char* label) {
203 vst_strncpy (label,
"dB", kVstMaxParamStrLen);
206 void VSTInst::getParameterDisplay (VstInt32 index,
char* text) {
207 dB2string (fGain, text, kVstMaxParamStrLen);
210 void VSTInst::getParameterName (VstInt32 index,
char* text) {
211 vst_strncpy (label,
"Gain", kVstMaxParamStrLen);
214 bool VSTInst::getEffectName (
char* name) {
215 vst_strncpy (name,
"Gain", kVstMaxEffectNameLen);
219 bool VSTInst::getVendorString (
char* text) {
220 vst_strncpy (text,
"CREATE / UCSB", kVstMaxVendorStrLen);
224 bool VSTInst::getProductString (
char* text) {
225 vst_strncpy (text,
"Gain", kVstMaxProductStrLen);
229 VSTInst::VstInt32 getVendorVersion () {
235 void VSTInst::processReplacing (
float** inputs,
float** outputs, VstInt32 sampleFrames) {
236 float* in1 = inputs[0];
237 float* in2 = inputs[1];
238 float* out1 = outputs[0];
239 float* out2 = outputs[1];
241 while (--sampleFrames >= 0) {
242 (*out1++) = (*in1++) * fGain;
243 (*out2++) = (*in2++) * fGain;