mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-21 06:46:21 -06:00
ZHighpass2
This commit is contained in:
parent
1ba0dd4fdc
commit
a6a7406df9
77 changed files with 12547 additions and 228 deletions
|
|
@ -278,6 +278,7 @@ add_airwindows_plugin(YLowpass)
|
|||
add_airwindows_plugin(YNotch)
|
||||
add_airwindows_plugin(ZBandpass)
|
||||
add_airwindows_plugin(ZHighpass)
|
||||
add_airwindows_plugin(ZHighpass2)
|
||||
add_airwindows_plugin(ZLowpass)
|
||||
add_airwindows_plugin(ZLowpass2)
|
||||
add_airwindows_plugin(ZNotch)
|
||||
|
|
|
|||
BIN
plugins/LinuxVST/src/ZHighpass2/.vs/Console4Channel64/v14/.suo
Normal file
BIN
plugins/LinuxVST/src/ZHighpass2/.vs/Console4Channel64/v14/.suo
Normal file
Binary file not shown.
BIN
plugins/LinuxVST/src/ZHighpass2/.vs/VSTProject/v14/.suo
Normal file
BIN
plugins/LinuxVST/src/ZHighpass2/.vs/VSTProject/v14/.suo
Normal file
Binary file not shown.
152
plugins/LinuxVST/src/ZHighpass2/ZHighpass2.cpp
Normal file
152
plugins/LinuxVST/src/ZHighpass2/ZHighpass2.cpp
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ZHighpass2(audioMaster);}
|
||||
|
||||
ZHighpass2::ZHighpass2(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.1;
|
||||
B = 0.5;
|
||||
C = 1.0;
|
||||
D = 0.5;
|
||||
|
||||
iirSampleAL = 0.0;
|
||||
iirSampleAR = 0.0;
|
||||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
ZHighpass2::~ZHighpass2() {}
|
||||
VstInt32 ZHighpass2::getVendorVersion () {return 1000;}
|
||||
void ZHighpass2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void ZHighpass2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);}
|
||||
//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than
|
||||
//trying to do versioning and preventing people from using older versions. Maybe they like the old one!
|
||||
|
||||
static float pinParameter(float data)
|
||||
{
|
||||
if (data < 0.0f) return 0.0f;
|
||||
if (data > 1.0f) return 1.0f;
|
||||
return data;
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
chunkData[3] = D;
|
||||
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
|
||||
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
|
||||
started with. */
|
||||
|
||||
*data = chunkData;
|
||||
return kNumParameters * sizeof(float);
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
D = pinParameter(chunkData[3]);
|
||||
/* We're ignoring byteSize as we found it to be a filthy liar */
|
||||
|
||||
/* calculate any other fields you need here - you could copy in
|
||||
code from setParameter() here. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ZHighpass2::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
case kParamD: D = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float ZHighpass2::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; break;
|
||||
case kParamD: return D; break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} return 0.0; //we only need to update the relevant name, this is simple to manage
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Freq", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Poles", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
|
||||
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool ZHighpass2::getEffectName(char* name) {
|
||||
vst_strncpy(name, "ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory ZHighpass2::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool ZHighpass2::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool ZHighpass2::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
122
plugins/LinuxVST/src/ZHighpass2/ZHighpass2.h
Normal file
122
plugins/LinuxVST/src/ZHighpass2/ZHighpass2.h
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) 2011 __MyCompanyName__, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#define __ZHighpass2_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA = 0,
|
||||
kParamB = 1,
|
||||
kParamC = 2,
|
||||
kParamD = 3,
|
||||
kNumParameters = 4
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'zhiq'; //Change this to what the AU identity is!
|
||||
|
||||
class ZHighpass2 :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
ZHighpass2(audioMasterCallback audioMaster);
|
||||
~ZHighpass2();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
long double iirSampleAL;
|
||||
long double iirSampleAR;
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
long double biquadA[biq_total];
|
||||
long double biquadB[biq_total];
|
||||
long double biquadC[biq_total];
|
||||
long double biquadD[biq_total];
|
||||
long double inTrimA;
|
||||
long double inTrimB;
|
||||
long double outTrimA;
|
||||
long double outTrimB;
|
||||
long double wetA;
|
||||
long double wetB;
|
||||
|
||||
enum {
|
||||
fix_freq,
|
||||
fix_reso,
|
||||
fix_a0,
|
||||
fix_a1,
|
||||
fix_a2,
|
||||
fix_b1,
|
||||
fix_b2,
|
||||
fix_sL1,
|
||||
fix_sL2,
|
||||
fix_sR1,
|
||||
fix_sR2,
|
||||
fix_total
|
||||
}; //fixed frequency biquad filter for ultrasonics, stereo
|
||||
long double fixA[fix_total];
|
||||
long double fixB[fix_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
float D;
|
||||
};
|
||||
|
||||
#endif
|
||||
440
plugins/LinuxVST/src/ZHighpass2/ZHighpass2Proc.cpp
Normal file
440
plugins/LinuxVST/src/ZHighpass2/ZHighpass2Proc.cpp
Normal file
|
|
@ -0,0 +1,440 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
void ZHighpass2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
float* in1 = inputs[0];
|
||||
float* in2 = inputs[1];
|
||||
float* out1 = outputs[0];
|
||||
float* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 32 bit stereo floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
||||
void ZHighpass2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
double* in1 = inputs[0];
|
||||
double* in2 = inputs[1];
|
||||
double* out1 = outputs[0];
|
||||
double* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 64 bit stereo floating point dither
|
||||
int expon; frexp((double)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
frexp((double)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
BIN
plugins/LinuxVST/src/ZLowpass2/.vs/Console4Channel64/v14/.suo
Normal file
BIN
plugins/LinuxVST/src/ZLowpass2/.vs/Console4Channel64/v14/.suo
Normal file
Binary file not shown.
BIN
plugins/LinuxVST/src/ZLowpass2/.vs/VSTProject/v14/.suo
Normal file
BIN
plugins/LinuxVST/src/ZLowpass2/.vs/VSTProject/v14/.suo
Normal file
Binary file not shown.
2
plugins/LinuxVST/src/ZLowpass2/ZLowpass2.cpp
Executable file → Normal file
2
plugins/LinuxVST/src/ZLowpass2/ZLowpass2.cpp
Executable file → Normal file
|
|
@ -22,7 +22,7 @@ ZLowpass2::ZLowpass2(audioMasterCallback audioMaster) :
|
|||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 1.0; wetB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
|
|
|
|||
0
plugins/LinuxVST/src/ZLowpass2/ZLowpass2.h
Executable file → Normal file
0
plugins/LinuxVST/src/ZLowpass2/ZLowpass2.h
Executable file → Normal file
0
plugins/LinuxVST/src/ZLowpass2/ZLowpass2Proc.cpp
Executable file → Normal file
0
plugins/LinuxVST/src/ZLowpass2/ZLowpass2Proc.cpp
Executable file → Normal file
|
|
@ -49,13 +49,15 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 639858013;
|
||||
PBXWorkspaceStateSaveDate = 639858013;
|
||||
PBXPerProjectTemplateStateSaveDate = 660600241;
|
||||
PBXWorkspaceStateSaveDate = 660600241;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B753DE91E4005E400347157 /* PlistBookmark */ = 8B753DE91E4005E400347157 /* PlistBookmark */;
|
||||
8B9E1DC5275FF5CE00AF4668 /* PBXBookmark */ = 8B9E1DC5275FF5CE00AF4668 /* PBXBookmark */;
|
||||
8B9E1E07275FF69E00AF4668 /* PBXTextBookmark */ = 8B9E1E07275FF69E00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1E0D275FF69E00AF4668 /* PBXTextBookmark */ = 8B9E1E0D275FF69E00AF4668 /* PBXTextBookmark */;
|
||||
8BA6294F2623752B00483AAF /* PBXTextBookmark */ = 8BA6294F2623752B00483AAF /* PBXTextBookmark */;
|
||||
8BA629512623752B00483AAF /* PBXTextBookmark */ = 8BA629512623752B00483AAF /* PBXTextBookmark */;
|
||||
8BA6296A2623757300483AAF /* PBXTextBookmark */ = 8BA6296A2623757300483AAF /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
|
|
@ -74,20 +76,44 @@
|
|||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8B9E1DC5275FF5CE00AF4668 /* PBXBookmark */ = {
|
||||
isa = PBXBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* BuildATPDF.cpp */;
|
||||
};
|
||||
8B9E1E07275FF69E00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* BuildATPDF.cpp */;
|
||||
name = "BuildATPDF.cpp: 263";
|
||||
rLen = 0;
|
||||
rLoc = 12469;
|
||||
rType = 0;
|
||||
vrLen = 258;
|
||||
vrLoc = 12018;
|
||||
};
|
||||
8B9E1E0D275FF69E00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* BuildATPDF.cpp */;
|
||||
name = "BuildATPDF.cpp: 263";
|
||||
rLen = 0;
|
||||
rLoc = 12469;
|
||||
rType = 0;
|
||||
vrLen = 1581;
|
||||
vrLoc = 10889;
|
||||
};
|
||||
8BA05A660720730100365D66 /* BuildATPDF.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {876, 5832}}";
|
||||
sepNavSelRange = "{12469, 0}";
|
||||
sepNavVisRange = "{12018, 258}";
|
||||
sepNavWindowFrame = "{{496, 42}, {923, 836}}";
|
||||
sepNavWindowFrame = "{{515, -438}, {923, 836}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* BuildATPDFVersion.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {876, 767}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
|
||||
sepNavSelRange = "{2901, 0}";
|
||||
sepNavVisRange = "{35, 2929}";
|
||||
sepNavWindowFrame = "{{15, 39}, {923, 837}}";
|
||||
sepNavVisRange = "{956, 2008}";
|
||||
sepNavWindowFrame = "{{15, 42}, {923, 836}}";
|
||||
};
|
||||
};
|
||||
8BA6294F2623752B00483AAF /* PBXTextBookmark */ = {
|
||||
|
|
@ -100,16 +126,6 @@
|
|||
vrLen = 131;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8BA629512623752B00483AAF /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* BuildATPDF.cpp */;
|
||||
name = "BuildATPDF.cpp: 263";
|
||||
rLen = 0;
|
||||
rLoc = 12469;
|
||||
rType = 0;
|
||||
vrLen = 280;
|
||||
vrLoc = 11996;
|
||||
};
|
||||
8BA6296A2623757300483AAF /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* BuildATPDF.cpp */;
|
||||
|
|
@ -122,9 +138,9 @@
|
|||
};
|
||||
8BC6025B073B072D006C4272 /* BuildATPDF.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1029, 2970}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 2934}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 131}";
|
||||
sepNavVisRange = "{5217, 1121}";
|
||||
sepNavWindowFrame = "{{108, 42}, {923, 836}}";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -222,7 +222,48 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>OpenEditors</key>
|
||||
<array/>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B9E1E0B275FF69E00AF4668</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>BuildATPDF.cpp</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B9E1E0C275FF69E00AF4668</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>BuildATPDF.cpp</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B9E1E0D275FF69E00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B9E1DC5275FF5CE00AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {923, 739}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>515 -382 923 780 0 0 1440 878 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>PerspectiveWidths</key>
|
||||
<array>
|
||||
<integer>810</integer>
|
||||
|
|
@ -325,7 +366,7 @@
|
|||
<real>288</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>599 205 841 654 0 0 1440 878 </string>
|
||||
<string>634 80 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
|
|
@ -353,12 +394,12 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8BA6296A2623757300483AAF</string>
|
||||
<string>8B9E1E07275FF69E00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B753DE91E4005E400347157</string>
|
||||
<string>8BA6294F2623752B00483AAF</string>
|
||||
<string>8BA629512623752B00483AAF</string>
|
||||
<string>8BA6296A2623757300483AAF</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -372,18 +413,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {531, 158}}</string>
|
||||
<string>{{0, 0}, {531, 142}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>599 205 841 654 0 0 1440 878 </string>
|
||||
<string>634 80 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>158pt</string>
|
||||
<string>142pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>450pt</string>
|
||||
<string>466pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -397,9 +438,9 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {531, 423}}</string>
|
||||
<string>{{10, 27}, {531, 439}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>599 205 841 654 0 0 1440 878 </string>
|
||||
<string>634 80 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
|
@ -481,11 +522,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8BA6296B2623757300483AAF</string>
|
||||
<string>8B9E1E08275FF69E00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8BA6296C2623757300483AAF</string>
|
||||
<string>8B9E1E09275FF69E00AF4668</string>
|
||||
<string>8BD7274A1D46E5A5000176F0</string>
|
||||
<string>8BA6296D2623757300483AAF</string>
|
||||
<string>8B9E1E0A275FF69E00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -658,7 +699,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>639858035.10268104</real>
|
||||
<real>660600478.44816196</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -675,10 +716,11 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8B9E1E0B275FF69E00AF4668</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>599 205 841 654 0 0 1440 878 </string>
|
||||
<string>634 80 841 654 0 0 1440 878 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
|
|||
|
|
@ -51,26 +51,36 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 655335844;
|
||||
PBXWorkspaceStateSaveDate = 655335844;
|
||||
PBXPerProjectTemplateStateSaveDate = 660600630;
|
||||
PBXWorkspaceStateSaveDate = 660600630;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B9E1E17275FF76F00AF4668 /* PBXTextBookmark */ = 8B9E1E17275FF76F00AF4668 /* PBXTextBookmark */;
|
||||
8BA23F9E25FD6E5700C915DA /* PlistBookmark */ = 8BA23F9E25FD6E5700C915DA /* PlistBookmark */;
|
||||
8BA23FA025FD6E5700C915DA /* PBXTextBookmark */ = 8BA23FA025FD6E5700C915DA /* PBXTextBookmark */;
|
||||
8BA23FA125FD6E5700C915DA /* PBXTextBookmark */ = 8BA23FA125FD6E5700C915DA /* PBXTextBookmark */;
|
||||
8BA2406B25FD854300C915DA /* PBXTextBookmark */ = 8BA2406B25FD854300C915DA /* PBXTextBookmark */;
|
||||
8BF1D8E5270FA1CB00D9A2B0 /* PBXTextBookmark */ = 8BF1D8E5270FA1CB00D9A2B0 /* PBXTextBookmark */;
|
||||
8BF1D8E6270FA1CB00D9A2B0 /* PBXTextBookmark */ = 8BF1D8E6270FA1CB00D9A2B0 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B9E1E17275FF76F00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* IronOxideClassic2.cpp */;
|
||||
name = "IronOxideClassic2.cpp: 424";
|
||||
rLen = 0;
|
||||
rLoc = 16259;
|
||||
rType = 0;
|
||||
vrLen = 11;
|
||||
vrLoc = 4106;
|
||||
};
|
||||
8BA05A660720730100365D66 /* IronOxideClassic2.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1353, 8028}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1353, 8046}}";
|
||||
sepNavSelRange = "{16259, 0}";
|
||||
sepNavVisRange = "{4016, 101}";
|
||||
sepNavVisRange = "{4106, 11}";
|
||||
sepNavWindowFrame = "{{288, 42}, {1127, 836}}";
|
||||
};
|
||||
};
|
||||
|
|
@ -153,16 +163,6 @@
|
|||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8BF1D8E5270FA1CB00D9A2B0 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* IronOxideClassic2.cpp */;
|
||||
name = "IronOxideClassic2.cpp: 424";
|
||||
rLen = 0;
|
||||
rLoc = 16259;
|
||||
rType = 0;
|
||||
vrLen = 101;
|
||||
vrLoc = 4016;
|
||||
};
|
||||
8BF1D8E6270FA1CB00D9A2B0 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* IronOxideClassic2.cpp */;
|
||||
|
|
|
|||
|
|
@ -354,14 +354,14 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8BF1D8E6270FA1CB00D9A2B0</string>
|
||||
<string>8B9E1E17275FF76F00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8BA23F9E25FD6E5700C915DA</string>
|
||||
<string>8BA23FA025FD6E5700C915DA</string>
|
||||
<string>8BA23FA125FD6E5700C915DA</string>
|
||||
<string>8BA2406B25FD854300C915DA</string>
|
||||
<string>8BF1D8E5270FA1CB00D9A2B0</string>
|
||||
<string>8BF1D8E6270FA1CB00D9A2B0</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -375,18 +375,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {531, 74}}</string>
|
||||
<string>{{0, 0}, {531, 56}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>27 181 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>74pt</string>
|
||||
<string>56pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>534pt</string>
|
||||
<string>552pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -400,7 +400,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {531, 507}}</string>
|
||||
<string>{{10, 27}, {531, 525}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>27 181 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
|
|
@ -484,11 +484,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8BF1D8E7270FA1CB00D9A2B0</string>
|
||||
<string>8B9E1E18275FF76F00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8BF1D8E8270FA1CB00D9A2B0</string>
|
||||
<string>8B9E1E19275FF76F00AF4668</string>
|
||||
<string>8BD7274A1D46E5A5000176F0</string>
|
||||
<string>8BF1D8E9270FA1CB00D9A2B0</string>
|
||||
<string>8B9E1E1A275FF76F00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -661,7 +661,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>655335883.79413199</real>
|
||||
<real>660600687.37506104</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -678,7 +678,7 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8BF1D8EA270FA1CB00D9A2B0</string>
|
||||
<string>8B9E1E1B275FF76F00AF4668</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/IronOxideClassic2/IronOxideClassic2.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
|
|
|||
|
|
@ -49,14 +49,14 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 651184429;
|
||||
PBXWorkspaceStateSaveDate = 651184429;
|
||||
PBXPerProjectTemplateStateSaveDate = 660503638;
|
||||
PBXWorkspaceStateSaveDate = 660503638;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B68B8A826D049330010C179 /* PBXTextBookmark */ = 8B68B8A826D049330010C179 /* PBXTextBookmark */;
|
||||
8B68B8A926D049330010C179 /* PBXTextBookmark */ = 8B68B8A926D049330010C179 /* PBXTextBookmark */;
|
||||
8B9E1DA8275E7F7100AF4668 /* PBXTextBookmark */ = 8B9E1DA8275E7F7100AF4668 /* PBXTextBookmark */;
|
||||
8B9E1DA9275E7F7100AF4668 /* PBXTextBookmark */ = 8B9E1DA9275E7F7100AF4668 /* PBXTextBookmark */;
|
||||
8BB94C9026C73DFB00D65CB1 /* PlistBookmark */ = 8BB94C9026C73DFB00D65CB1 /* PlistBookmark */;
|
||||
8BE5B0FE2638B4F000B8F5BF /* PBXTextBookmark */ = 8BE5B0FE2638B4F000B8F5BF /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
|
|
@ -72,22 +72,32 @@
|
|||
vrLen = 63;
|
||||
vrLoc = 11443;
|
||||
};
|
||||
8B68B8A926D049330010C179 /* PBXTextBookmark */ = {
|
||||
8B9E1DA8275E7F7100AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BC6025B073B072D006C4272 /* ZHighpass.h */;
|
||||
name = "ZHighpass.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 303;
|
||||
vrLen = 206;
|
||||
vrLoc = 133;
|
||||
};
|
||||
8B9E1DA9275E7F7100AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BC6025B073B072D006C4272 /* ZHighpass.h */;
|
||||
name = "ZHighpass.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 206;
|
||||
vrLoc = 133;
|
||||
};
|
||||
8BA05A660720730100365D66 /* ZHighpass.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {867, 5886}}";
|
||||
sepNavSelRange = "{10656, 0}";
|
||||
sepNavVisRange = "{11443, 63}";
|
||||
sepNavWindowFrame = "{{145, 42}, {869, 836}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1344, 6066}}";
|
||||
sepNavSelRange = "{9653, 0}";
|
||||
sepNavVisRange = "{11852, 2164}";
|
||||
sepNavWindowFrame = "{{12, 42}, {869, 836}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* ZHighpassVersion.h */ = {
|
||||
|
|
@ -112,9 +122,9 @@
|
|||
};
|
||||
8BC6025B073B072D006C4272 /* ZHighpass.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1029, 2988}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1029, 2682}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{133, 303}";
|
||||
sepNavVisRange = "{133, 206}";
|
||||
sepNavWindowFrame = "{{146, 42}, {1106, 836}}";
|
||||
};
|
||||
};
|
||||
|
|
@ -132,16 +142,6 @@
|
|||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8BE5B0FE2638B4F000B8F5BF /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BC6025B073B072D006C4272 /* ZHighpass.h */;
|
||||
name = "ZHighpass.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 436;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* ZHighpass */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>3</integer>
|
||||
<integer>4</integer>
|
||||
<integer>2</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
|
|
@ -326,7 +326,7 @@
|
|||
<real>288</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>294 92 841 654 0 0 1440 878 </string>
|
||||
<string>37 188 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
|
|
@ -354,12 +354,12 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B68B8A926D049330010C179</string>
|
||||
<string>8B9E1DA9275E7F7100AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8BB94C9026C73DFB00D65CB1</string>
|
||||
<string>8B68B8A826D049330010C179</string>
|
||||
<string>8BE5B0FE2638B4F000B8F5BF</string>
|
||||
<string>8B9E1DA8275E7F7100AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -373,18 +373,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {531, 74}}</string>
|
||||
<string>{{0, 0}, {531, 56}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>294 92 841 654 0 0 1440 878 </string>
|
||||
<string>37 188 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>74pt</string>
|
||||
<string>56pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>534pt</string>
|
||||
<string>552pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -398,9 +398,9 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {531, 507}}</string>
|
||||
<string>{{10, 27}, {531, 525}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>294 92 841 654 0 0 1440 878 </string>
|
||||
<string>37 188 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
|
@ -482,11 +482,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8B68B8AA26D049330010C179</string>
|
||||
<string>8B9E1DAA275E7F7100AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8B68B8AB26D049330010C179</string>
|
||||
<string>8B9E1DAB275E7F7100AF4668</string>
|
||||
<string>8BD7274A1D46E5A5000176F0</string>
|
||||
<string>8B68B8AC26D049330010C179</string>
|
||||
<string>8B9E1DAC275E7F7100AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -659,7 +659,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>651184435.108778</real>
|
||||
<real>660504433.64009202</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -679,7 +679,7 @@
|
|||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ZHighpass/ZHighpass.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>294 92 841 654 0 0 1440 878 </string>
|
||||
<string>37 188 841 654 0 0 1440 878 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
|
|||
BIN
plugins/MacAU/ZHighpass2/English.lproj/InfoPlist.strings
Normal file
BIN
plugins/MacAU/ZHighpass2/English.lproj/InfoPlist.strings
Normal file
Binary file not shown.
28
plugins/MacAU/ZHighpass2/Info.plist
Normal file
28
plugins/MacAU/ZHighpass2/Info.plist
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>DthX</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
356
plugins/MacAU/ZHighpass2/ZHighpass2.cpp
Normal file
356
plugins/MacAU/ZHighpass2/ZHighpass2.cpp
Normal file
|
|
@ -0,0 +1,356 @@
|
|||
/*
|
||||
* File: ZHighpass2.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 12/6/21
|
||||
*
|
||||
* Copyright: Copyright © 2021 Airwindows, All Rights Reserved
|
||||
*
|
||||
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
|
||||
* consideration of your agreement to the following terms, and your use, installation, modification
|
||||
* or redistribution of this Apple software constitutes acceptance of these terms. If you do
|
||||
* not agree with these terms, please do not use, install, modify or redistribute this Apple
|
||||
* software.
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and subject to these terms,
|
||||
* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
|
||||
* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
|
||||
* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
|
||||
* redistribute the Apple Software in its entirety and without modifications, you must retain this
|
||||
* notice and the following text and disclaimers in all such redistributions of the Apple Software.
|
||||
* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
|
||||
* endorse or promote products derived from the Apple Software without specific prior written
|
||||
* permission from Apple. Except as expressly stated in this notice, no other rights or
|
||||
* licenses, express or implied, are granted by Apple herein, including but not limited to any
|
||||
* patent rights that may be infringed by your derivative works or by other works in which the
|
||||
* Apple Software may be incorporated.
|
||||
*
|
||||
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
|
||||
* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
|
||||
* OR IN COMBINATION WITH YOUR PRODUCTS.
|
||||
*
|
||||
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
|
||||
* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
|
||||
* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
ZHighpass2.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "ZHighpass2.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
COMPONENT_ENTRY(ZHighpass2)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::ZHighpass2
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ZHighpass2::ZHighpass2(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_One, kDefaultValue_ParamOne );
|
||||
SetParameter(kParam_Two, kDefaultValue_ParamTwo );
|
||||
SetParameter(kParam_Three, kDefaultValue_ParamThree );
|
||||
SetParameter(kParam_Four, kDefaultValue_ParamFour );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult ZHighpass2::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult ZHighpass2::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_One:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
|
||||
break;
|
||||
case kParam_Two:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
|
||||
break;
|
||||
case kParam_Three:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamThree;
|
||||
break;
|
||||
case kParam_Four:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterFourName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamFour;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult ZHighpass2::GetPropertyInfo (AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable)
|
||||
{
|
||||
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult ZHighpass2::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// ZHighpass2::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult ZHighpass2::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____ZHighpass2EffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::ZHighpass2Kernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void ZHighpass2::ZHighpass2Kernel::Reset()
|
||||
{
|
||||
iirSampleA = 0.0;
|
||||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ZHighpass2::ZHighpass2Kernel::Process
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void ZHighpass2::ZHighpass2Kernel::Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence )
|
||||
{
|
||||
UInt32 nSampleFrames = inFramesToProcess;
|
||||
const Float32 *sourceP = inSourceP;
|
||||
Float32 *destP = inDestP;
|
||||
long double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= GetSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(GetParameter( kParam_Two ),4)*9500.0)/GetSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-GetParameter( kParam_Two ))*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = GetParameter( kParam_One )*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = GetParameter( kParam_Three )*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(GetParameter( kParam_Four ),2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / GetSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
long double outSample = 0.0;
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
long double inputSample = *sourceP;
|
||||
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
|
||||
long double drySample = *sourceP;
|
||||
long double overallDrySample = *sourceP;
|
||||
|
||||
long double temp = (long double)nSampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*temp)+(biquadA[biq_aB0]*(1.0-temp));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*temp)+(biquadA[biq_aB1]*(1.0-temp));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*temp)+(biquadA[biq_aB2]*(1.0-temp));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*temp)+(biquadA[biq_bB1]*(1.0-temp));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*temp)+(biquadA[biq_bB2]*(1.0-temp));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*temp)+(inTrimB*(1.0-temp));
|
||||
long double outTrim = (outTrimA*temp)+(outTrimB*(1.0-temp));
|
||||
long double wet = (wetA*temp)+(wetB*(1.0-temp));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
|
||||
if (inTrim != 1.0) inputSample *= inTrim;
|
||||
if (inputSample > 1.0) inputSample = 1.0; if (inputSample < -1.0) inputSample = -1.0;
|
||||
inputSample *= trim;
|
||||
//inputSample /= clipFactor;
|
||||
outSample = (inputSample * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSample * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSample * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySample = inputSample = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSample /= clipFactor;
|
||||
outSample = (inputSample * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSample * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSample * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySample = inputSample = (outSample * bWet) + (drySample * (1.0-bWet));
|
||||
}
|
||||
if (cWet > 0.0) {
|
||||
//inputSample /= clipFactor;
|
||||
outSample = (inputSample * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSample * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSample * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySample = inputSample = (outSample * cWet) + (drySample * (1.0-cWet));
|
||||
}
|
||||
if (dWet > 0.0) {
|
||||
//inputSample /= clipFactor;
|
||||
outSample = (inputSample * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSample * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSample * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySample = inputSample = (outSample * dWet) + (drySample * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSample /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleA)<1.18e-37) iirSampleA = 0.0;
|
||||
iirSampleA = (iirSampleA * (1.0 - iirAmountA)) + (inputSample * iirAmountA);
|
||||
inputSample -= iirSampleA;
|
||||
|
||||
outSample = (inputSample * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSample * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSample * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSample = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSample > 1.0) inputSample = 1.0; if (inputSample < -1.0) inputSample = -1.0;
|
||||
inputSample -= (inputSample*inputSample*inputSample*inputSample*inputSample*0.1768);
|
||||
|
||||
outSample = (inputSample * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSample * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSample * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSample = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) inputSample *= outTrim;
|
||||
//end opamp stage
|
||||
|
||||
if (aWet !=1.0) {
|
||||
inputSample = (inputSample * aWet) + (overallDrySample * (1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSample, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
||||
sourceP += inNumChannels; destP += inNumChannels;
|
||||
}
|
||||
}
|
||||
|
||||
1
plugins/MacAU/ZHighpass2/ZHighpass2.exp
Normal file
1
plugins/MacAU/ZHighpass2/ZHighpass2.exp
Normal file
|
|
@ -0,0 +1 @@
|
|||
_ZHighpass2Entry
|
||||
198
plugins/MacAU/ZHighpass2/ZHighpass2.h
Normal file
198
plugins/MacAU/ZHighpass2/ZHighpass2.h
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
/*
|
||||
* File: ZHighpass2.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 12/6/21
|
||||
*
|
||||
* Copyright: Copyright © 2021 Airwindows, All Rights Reserved
|
||||
*
|
||||
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
|
||||
* consideration of your agreement to the following terms, and your use, installation, modification
|
||||
* or redistribution of this Apple software constitutes acceptance of these terms. If you do
|
||||
* not agree with these terms, please do not use, install, modify or redistribute this Apple
|
||||
* software.
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and subject to these terms,
|
||||
* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
|
||||
* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
|
||||
* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
|
||||
* redistribute the Apple Software in its entirety and without modifications, you must retain this
|
||||
* notice and the following text and disclaimers in all such redistributions of the Apple Software.
|
||||
* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
|
||||
* endorse or promote products derived from the Apple Software without specific prior written
|
||||
* permission from Apple. Except as expressly stated in this notice, no other rights or
|
||||
* licenses, express or implied, are granted by Apple herein, including but not limited to any
|
||||
* patent rights that may be infringed by your derivative works or by other works in which the
|
||||
* Apple Software may be incorporated.
|
||||
*
|
||||
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
|
||||
* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
|
||||
* OR IN COMBINATION WITH YOUR PRODUCTS.
|
||||
*
|
||||
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
|
||||
* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
|
||||
* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#include "AUEffectBase.h"
|
||||
#include "ZHighpass2Version.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __ZHighpass2_h__
|
||||
#define __ZHighpass2_h__
|
||||
|
||||
|
||||
#pragma mark ____ZHighpass2 Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamOne = 0.1;
|
||||
static const float kDefaultValue_ParamTwo = 0.5;
|
||||
static const float kDefaultValue_ParamThree = 1.0;
|
||||
static const float kDefaultValue_ParamFour = 0.5;
|
||||
|
||||
static CFStringRef kParameterOneName = CFSTR("Input");
|
||||
static CFStringRef kParameterTwoName = CFSTR("Freq");
|
||||
static CFStringRef kParameterThreeName = CFSTR("Output");
|
||||
static CFStringRef kParameterFourName = CFSTR("Poles");
|
||||
//Alter the name if desired, but using the plugin name is a start
|
||||
|
||||
enum {
|
||||
kParam_One =0,
|
||||
kParam_Two =1,
|
||||
kParam_Three =2,
|
||||
kParam_Four =3,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=4
|
||||
};
|
||||
|
||||
#pragma mark ____ZHighpass2
|
||||
class ZHighpass2 : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
ZHighpass2(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~ZHighpass2 () { delete mDebugDispatcher; }
|
||||
#endif
|
||||
|
||||
virtual AUKernelBase * NewKernel() { return new ZHighpass2Kernel(this); }
|
||||
|
||||
virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings);
|
||||
|
||||
virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo);
|
||||
|
||||
virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable );
|
||||
|
||||
virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData);
|
||||
|
||||
virtual ComponentResult Initialize();
|
||||
virtual bool SupportsTail () { return true; }
|
||||
virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
|
||||
virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
|
||||
|
||||
/*! @method Version */
|
||||
virtual ComponentResult Version() { return kZHighpass2Version; }
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
class ZHighpass2Kernel : public AUKernelBase // most of the real work happens here
|
||||
{
|
||||
public:
|
||||
ZHighpass2Kernel(AUEffectBase *inAudioUnit )
|
||||
: AUKernelBase(inAudioUnit)
|
||||
{
|
||||
}
|
||||
|
||||
// *Required* overides for the process method for this effect
|
||||
// processes one channel of interleaved samples
|
||||
virtual void Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence);
|
||||
|
||||
virtual void Reset();
|
||||
|
||||
private:
|
||||
|
||||
long double iirSampleA;
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
long double biquadA[biq_total];
|
||||
long double biquadB[biq_total];
|
||||
long double biquadC[biq_total];
|
||||
long double biquadD[biq_total];
|
||||
long double inTrimA;
|
||||
long double inTrimB;
|
||||
long double outTrimA;
|
||||
long double outTrimB;
|
||||
long double wetA;
|
||||
long double wetB;
|
||||
|
||||
enum {
|
||||
fix_freq,
|
||||
fix_reso,
|
||||
fix_a0,
|
||||
fix_a1,
|
||||
fix_a2,
|
||||
fix_b1,
|
||||
fix_b2,
|
||||
fix_sL1,
|
||||
fix_sL2,
|
||||
fix_sR1,
|
||||
fix_sR2,
|
||||
fix_total
|
||||
}; //fixed frequency biquad filter for ultrasonics, stereo
|
||||
long double fixA[fix_total];
|
||||
long double fixB[fix_total];
|
||||
|
||||
uint32_t fpd;
|
||||
};
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacAU/ZHighpass2/ZHighpass2.r
Normal file
61
plugins/MacAU/ZHighpass2/ZHighpass2.r
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: ZHighpass2.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 12/6/21
|
||||
*
|
||||
* Copyright: Copyright © 2021 Airwindows, All Rights Reserved
|
||||
*
|
||||
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
|
||||
* consideration of your agreement to the following terms, and your use, installation, modification
|
||||
* or redistribution of this Apple software constitutes acceptance of these terms. If you do
|
||||
* not agree with these terms, please do not use, install, modify or redistribute this Apple
|
||||
* software.
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and subject to these terms,
|
||||
* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
|
||||
* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
|
||||
* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
|
||||
* redistribute the Apple Software in its entirety and without modifications, you must retain this
|
||||
* notice and the following text and disclaimers in all such redistributions of the Apple Software.
|
||||
* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
|
||||
* endorse or promote products derived from the Apple Software without specific prior written
|
||||
* permission from Apple. Except as expressly stated in this notice, no other rights or
|
||||
* licenses, express or implied, are granted by Apple herein, including but not limited to any
|
||||
* patent rights that may be infringed by your derivative works or by other works in which the
|
||||
* Apple Software may be incorporated.
|
||||
*
|
||||
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
|
||||
* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
|
||||
* OR IN COMBINATION WITH YOUR PRODUCTS.
|
||||
*
|
||||
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
|
||||
* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
|
||||
* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#include <AudioUnit/AudioUnit.r>
|
||||
|
||||
#include "ZHighpass2Version.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_ZHighpass2 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ZHighpass2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_ZHighpass2
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE ZHighpass2_COMP_SUBTYPE
|
||||
#define COMP_MANUF ZHighpass2_COMP_MANF
|
||||
|
||||
#define VERSION kZHighpass2Version
|
||||
#define NAME "Airwindows: ZHighpass2"
|
||||
#define DESCRIPTION "ZHighpass2 AU"
|
||||
#define ENTRY_POINT "ZHighpass2Entry"
|
||||
|
||||
#include "AUResources.r"
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,139 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* ZHighpass2 */;
|
||||
breakpoints = (
|
||||
);
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
292,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
252,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 660614755;
|
||||
PBXWorkspaceStateSaveDate = 660614755;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B9E1E8727602CC700AF4668 /* PlistBookmark */ = 8B9E1E8727602CC700AF4668 /* PlistBookmark */;
|
||||
8B9E1EED27602FC500AF4668 /* PBXTextBookmark */ = 8B9E1EED27602FC500AF4668 /* PBXTextBookmark */;
|
||||
8B9E1EEE27602FC500AF4668 /* PBXTextBookmark */ = 8B9E1EEE27602FC500AF4668 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B9E1E8727602CC700AF4668 /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
CFBundleName,
|
||||
);
|
||||
name = /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ZHighpass2/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8B9E1EED27602FC500AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ZHighpass2.cpp */;
|
||||
name = "ZHighpass2.cpp: 318";
|
||||
rLen = 0;
|
||||
rLoc = 15121;
|
||||
rType = 0;
|
||||
vrLen = 660;
|
||||
vrLoc = 14287;
|
||||
};
|
||||
8B9E1EEE27602FC500AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ZHighpass2.cpp */;
|
||||
name = "ZHighpass2.cpp: 318";
|
||||
rLen = 0;
|
||||
rLoc = 15121;
|
||||
rType = 0;
|
||||
vrLen = 660;
|
||||
vrLoc = 14287;
|
||||
};
|
||||
8BA05A660720730100365D66 /* ZHighpass2.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1038, 6318}}";
|
||||
sepNavSelRange = "{15121, 0}";
|
||||
sepNavVisRange = "{14287, 660}";
|
||||
sepNavWindowFrame = "{{8, 42}, {898, 836}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* ZHighpass2Version.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1158, 1062}}";
|
||||
sepNavSelRange = "{2901, 0}";
|
||||
sepNavVisRange = "{750, 2214}";
|
||||
sepNavWindowFrame = "{{223, 43}, {1205, 835}}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* ZHighpass2.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 3564}}";
|
||||
sepNavSelRange = "{6479, 0}";
|
||||
sepNavVisRange = "{5712, 767}";
|
||||
sepNavWindowFrame = "{{526, 42}, {898, 836}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* ZHighpass2 */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
490
plugins/MacAU/ZHighpass2/ZHighpass2.xcodeproj/project.pbxproj
Normal file
490
plugins/MacAU/ZHighpass2/ZHighpass2.xcodeproj/project.pbxproj
Normal file
|
|
@ -0,0 +1,490 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
|
||||
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
|
||||
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
|
||||
8B4119B70749654200361ABE /* ZHighpass2.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ZHighpass2.r */; };
|
||||
8BA05A6B0720730100365D66 /* ZHighpass2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ZHighpass2.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* ZHighpass2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ZHighpass2Version.h */; };
|
||||
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; };
|
||||
8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; };
|
||||
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; };
|
||||
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; };
|
||||
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; };
|
||||
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; };
|
||||
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; };
|
||||
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; };
|
||||
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; };
|
||||
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; };
|
||||
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; };
|
||||
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; };
|
||||
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; };
|
||||
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; };
|
||||
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; };
|
||||
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; };
|
||||
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; };
|
||||
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; };
|
||||
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; };
|
||||
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; };
|
||||
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; };
|
||||
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; };
|
||||
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; };
|
||||
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; };
|
||||
8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; };
|
||||
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; };
|
||||
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; };
|
||||
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; };
|
||||
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; };
|
||||
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; };
|
||||
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; };
|
||||
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; };
|
||||
8BC6025C073B072D006C4272 /* ZHighpass2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ZHighpass2.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
|
||||
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* ZHighpass2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ZHighpass2.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* ZHighpass2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ZHighpass2.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* ZHighpass2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ZHighpass2.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* ZHighpass2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ZHighpass2Version.h; sourceTree = "<group>"; };
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8BC6025B073B072D006C4272 /* ZHighpass2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ZHighpass2.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* ZHighpass2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ZHighpass2.component; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; };
|
||||
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */,
|
||||
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */,
|
||||
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* ZHighpass2 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = ZHighpass2;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */,
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */,
|
||||
8BA05A7D072073D200365D66 /* AUPublic */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* ZHighpass2.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* ZHighpass2.h */,
|
||||
8BA05A660720730100365D66 /* ZHighpass2.cpp */,
|
||||
8BA05A670720730100365D66 /* ZHighpass2.exp */,
|
||||
8BA05A680720730100365D66 /* ZHighpass2.r */,
|
||||
8BA05A690720730100365D66 /* ZHighpass2Version.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A7D072073D200365D66 /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7E072073D200365D66 /* AUBase */,
|
||||
8BA05A99072073D200365D66 /* OtherBases */,
|
||||
8BA05AA6072073D200365D66 /* Utility */,
|
||||
);
|
||||
name = AUPublic;
|
||||
path = Extras/CoreAudio/AudioUnits/AUPublic;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
8BA05A7E072073D200365D66 /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */,
|
||||
8BA05A80072073D200365D66 /* AUBase.h */,
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */,
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */,
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */,
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */,
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */,
|
||||
8BA05A87072073D200365D66 /* AUResources.r */,
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */,
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A99072073D200365D66 /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AA6072073D200365D66 /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
|
||||
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */,
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */,
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */,
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */,
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */,
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
|
||||
);
|
||||
name = PublicUtility;
|
||||
path = Extras/CoreAudio/PublicUtility;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6E0720730100365D66 /* ZHighpass2Version.h in Headers */,
|
||||
8BA05AAF072073D300365D66 /* AUBase.h in Headers */,
|
||||
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */,
|
||||
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */,
|
||||
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */,
|
||||
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */,
|
||||
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */,
|
||||
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */,
|
||||
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */,
|
||||
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */,
|
||||
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */,
|
||||
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */,
|
||||
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */,
|
||||
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */,
|
||||
8BA05AE80720742100365D66 /* CAMutex.h in Headers */,
|
||||
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */,
|
||||
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */,
|
||||
8BC6025C073B072D006C4272 /* ZHighpass2.h in Headers */,
|
||||
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */,
|
||||
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */,
|
||||
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* ZHighpass2 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ZHighpass2" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
8D01CCCF0486CAD60068D4B7 /* Rez */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = ZHighpass2;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = ZHighpass2;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* ZHighpass2.component */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ZHighpass2" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* ZHighpass2 */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* ZHighpass2 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXRezBuildPhase section */
|
||||
8D01CCCF0486CAD60068D4B7 /* Rez */ = {
|
||||
isa = PBXRezBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8B4119B70749654200361ABE /* ZHighpass2.r in Rez */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXRezBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6B0720730100365D66 /* ZHighpass2.cpp in Sources */,
|
||||
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
|
||||
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
|
||||
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
|
||||
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
|
||||
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
|
||||
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
|
||||
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
|
||||
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
|
||||
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
|
||||
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
|
||||
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C167EFE841241C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
EXPORTED_SYMBOLS_FILE = ZHighpass2.exp;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GENERATE_PKGINFO_FILE = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
|
||||
LIBRARY_STYLE = Bundle;
|
||||
OTHER_LDFLAGS = "-bundle";
|
||||
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
|
||||
PRODUCT_NAME = ZHighpass2;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA245089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
x86_64,
|
||||
);
|
||||
EXPORTED_SYMBOLS_FILE = ZHighpass2.exp;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GENERATE_PKGINFO_FILE = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
|
||||
LIBRARY_STYLE = Bundle;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.4;
|
||||
OTHER_LDFLAGS = "-bundle";
|
||||
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
|
||||
PRODUCT_NAME = ZHighpass2;
|
||||
SDKROOT = macosx10.5;
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
STRIP_STYLE = all;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
3E4BA248089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
SDKROOT = macosx10.6;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA249089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
SDKROOT = macosx10.6;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ZHighpass2" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ZHighpass2" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
58
plugins/MacAU/ZHighpass2/ZHighpass2Version.h
Normal file
58
plugins/MacAU/ZHighpass2/ZHighpass2Version.h
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: ZHighpass2Version.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 12/6/21
|
||||
*
|
||||
* Copyright: Copyright © 2021 Airwindows, All Rights Reserved
|
||||
*
|
||||
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
|
||||
* consideration of your agreement to the following terms, and your use, installation, modification
|
||||
* or redistribution of this Apple software constitutes acceptance of these terms. If you do
|
||||
* not agree with these terms, please do not use, install, modify or redistribute this Apple
|
||||
* software.
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and subject to these terms,
|
||||
* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
|
||||
* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
|
||||
* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
|
||||
* redistribute the Apple Software in its entirety and without modifications, you must retain this
|
||||
* notice and the following text and disclaimers in all such redistributions of the Apple Software.
|
||||
* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
|
||||
* endorse or promote products derived from the Apple Software without specific prior written
|
||||
* permission from Apple. Except as expressly stated in this notice, no other rights or
|
||||
* licenses, express or implied, are granted by Apple herein, including but not limited to any
|
||||
* patent rights that may be infringed by your derivative works or by other works in which the
|
||||
* Apple Software may be incorporated.
|
||||
*
|
||||
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
|
||||
* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
|
||||
* OR IN COMBINATION WITH YOUR PRODUCTS.
|
||||
*
|
||||
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
|
||||
* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
|
||||
* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#ifndef __ZHighpass2Version_h__
|
||||
#define __ZHighpass2Version_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kZHighpass2Version 0xFFFFFFFF
|
||||
#else
|
||||
#define kZHighpass2Version 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define ZHighpass2_COMP_MANF 'Dthr'
|
||||
#define ZHighpass2_COMP_SUBTYPE 'zhiq'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
16
plugins/MacAU/ZHighpass2/version.plist
Normal file
16
plugins/MacAU/ZHighpass2/version.plist
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildVersion</key>
|
||||
<string>3</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>ProjectName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>SourceVersion</key>
|
||||
<string>590000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -186,6 +186,7 @@ void ZLowpass2::ZLowpass2Kernel::Reset()
|
|||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,14 +51,16 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 659626093;
|
||||
PBXWorkspaceStateSaveDate = 659626093;
|
||||
PBXPerProjectTemplateStateSaveDate = 660614356;
|
||||
PBXWorkspaceStateSaveDate = 660614356;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B73B21E27511195006E2D3D /* PlistBookmark */ = 8B73B21E27511195006E2D3D /* PlistBookmark */;
|
||||
8B73B21F27511195006E2D3D /* PBXTextBookmark */ = 8B73B21F27511195006E2D3D /* PBXTextBookmark */;
|
||||
8B73B2552751202D006E2D3D /* PBXTextBookmark */ = 8B73B2552751202D006E2D3D /* PBXTextBookmark */;
|
||||
8B73B2562751202D006E2D3D /* PBXTextBookmark */ = 8B73B2562751202D006E2D3D /* PBXTextBookmark */;
|
||||
8B9E1D6E275E750400AF4668 /* PBXTextBookmark */ = 8B9E1D6E275E750400AF4668 /* PBXTextBookmark */;
|
||||
8B9E1E9927602CDD00AF4668 /* PBXBookmark */ = 8B9E1E9927602CDD00AF4668 /* PBXBookmark */;
|
||||
8B9E1E9F27602D2F00AF4668 /* PBXTextBookmark */ = 8B9E1E9F27602D2F00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1EA427602D3F00AF4668 /* PBXTextBookmark */ = 8B9E1EA427602D3F00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1EAA27602D3F00AF4668 /* PBXTextBookmark */ = 8B9E1EAA27602D3F00AF4668 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
|
|
@ -76,56 +78,70 @@
|
|||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8B73B21F27511195006E2D3D /* PBXTextBookmark */ = {
|
||||
8B9E1D6E275E750400AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A690720730100365D66 /* ZLowpass2Version.h */;
|
||||
name = "ZLowpass2Version.h: 54";
|
||||
rLen = 0;
|
||||
rLoc = 2895;
|
||||
rType = 0;
|
||||
vrLen = 235;
|
||||
vrLoc = 2722;
|
||||
};
|
||||
8B9E1E9927602CDD00AF4668 /* PBXBookmark */ = {
|
||||
isa = PBXBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ZLowpass2.cpp */;
|
||||
};
|
||||
8B9E1E9F27602D2F00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ZLowpass2.cpp */;
|
||||
name = "ZLowpass2.cpp: 249";
|
||||
name = "ZLowpass2.cpp: 248";
|
||||
rLen = 0;
|
||||
rLoc = 11284;
|
||||
rLoc = 11309;
|
||||
rType = 0;
|
||||
vrLen = 351;
|
||||
vrLoc = 11057;
|
||||
vrLen = 303;
|
||||
vrLoc = 11155;
|
||||
};
|
||||
8B73B2552751202D006E2D3D /* PBXTextBookmark */ = {
|
||||
8B9E1EA427602D3F00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A690720730100365D66 /* ZLowpass2Version.h */;
|
||||
name = "ZLowpass2Version.h: 54";
|
||||
fRef = 8BA05A660720730100365D66 /* ZLowpass2.cpp */;
|
||||
name = "ZLowpass2.cpp: 248";
|
||||
rLen = 0;
|
||||
rLoc = 2895;
|
||||
rLoc = 11309;
|
||||
rType = 0;
|
||||
vrLen = 241;
|
||||
vrLoc = 2716;
|
||||
vrLen = 303;
|
||||
vrLoc = 11155;
|
||||
};
|
||||
8B73B2562751202D006E2D3D /* PBXTextBookmark */ = {
|
||||
8B9E1EAA27602D3F00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A690720730100365D66 /* ZLowpass2Version.h */;
|
||||
name = "ZLowpass2Version.h: 54";
|
||||
fRef = 8BA05A660720730100365D66 /* ZLowpass2.cpp */;
|
||||
name = "ZLowpass2.cpp: 189";
|
||||
rLen = 0;
|
||||
rLoc = 2895;
|
||||
rLoc = 8745;
|
||||
rType = 0;
|
||||
vrLen = 241;
|
||||
vrLoc = 2716;
|
||||
vrLen = 1764;
|
||||
vrLoc = 8255;
|
||||
};
|
||||
8BA05A660720730100365D66 /* ZLowpass2.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1063, 6552}}";
|
||||
sepNavSelRange = "{13083, 0}";
|
||||
sepNavVisRange = "{11579, 2373}";
|
||||
sepNavWindowFrame = "{{-7, 42}, {1110, 836}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {732, 6498}}";
|
||||
sepNavSelRange = "{11309, 0}";
|
||||
sepNavVisRange = "{11155, 303}";
|
||||
sepNavWindowFrame = "{{0, 42}, {1110, 836}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* ZLowpass2Version.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1038, 1224}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
|
||||
sepNavSelRange = "{2895, 0}";
|
||||
sepNavVisRange = "{2716, 241}";
|
||||
sepNavVisRange = "{1058, 1900}";
|
||||
sepNavWindowFrame = "{{556, 50}, {848, 828}}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* ZLowpass2.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 4158}}";
|
||||
sepNavSelRange = "{6049, 0}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 4248}}";
|
||||
sepNavSelRange = "{5437, 1030}";
|
||||
sepNavVisRange = "{5712, 755}";
|
||||
sepNavWindowFrame = "{{70, 50}, {848, 828}}";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -222,7 +222,48 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>OpenEditors</key>
|
||||
<array/>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B9E1EA827602D3F00AF4668</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2.cpp</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B9E1EA927602D3F00AF4668</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2.cpp</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B9E1EAA27602D3F00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B9E1E9927602CDD00AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {1110, 739}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>0 98 1110 780 0 0 1440 878 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>PerspectiveWidths</key>
|
||||
<array>
|
||||
<integer>841</integer>
|
||||
|
|
@ -256,8 +297,6 @@
|
|||
<key>Layout</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXBottomSmartGroupGIDs</key>
|
||||
|
|
@ -326,7 +365,7 @@
|
|||
<real>288</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>13 214 841 654 0 0 1440 878 </string>
|
||||
<string>15 214 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
|
|
@ -342,7 +381,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8BD7274A1D46E5A5000176F0</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2Version.h</string>
|
||||
<string>ZLowpass2.cpp</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
|
|
@ -350,16 +389,16 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8BD7274B1D46E5A5000176F0</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2Version.h</string>
|
||||
<string>ZLowpass2.cpp</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B73B2562751202D006E2D3D</string>
|
||||
<string>8B9E1EA427602D3F00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B73B21E27511195006E2D3D</string>
|
||||
<string>8B73B21F27511195006E2D3D</string>
|
||||
<string>8B73B2552751202D006E2D3D</string>
|
||||
<string>8B9E1D6E275E750400AF4668</string>
|
||||
<string>8B9E1E9F27602D2F00AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -373,18 +412,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {531, 202}}</string>
|
||||
<string>{{0, 0}, {531, 173}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>13 214 841 654 0 0 1440 878 </string>
|
||||
<string>15 214 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>202pt</string>
|
||||
<string>173pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>406pt</string>
|
||||
<string>435pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -398,9 +437,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {531, 379}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>13 214 841 654 0 0 1440 878 </string>
|
||||
<string>{{10, 27}, {531, 408}}</string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
|
@ -454,7 +491,9 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {531, 339}}</string>
|
||||
<string>{{10, 27}, {531, 408}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>15 214 841 654 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXBuildResultsModule</string>
|
||||
|
|
@ -482,11 +521,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8B73B2572751202D006E2D3D</string>
|
||||
<string>8B9E1EA527602D3F00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8B73B2582751202D006E2D3D</string>
|
||||
<string>8B9E1EA627602D3F00AF4668</string>
|
||||
<string>8BD7274A1D46E5A5000176F0</string>
|
||||
<string>8B73B2592751202D006E2D3D</string>
|
||||
<string>8B9E1EA727602D3F00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -659,7 +698,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>659628077.82251704</real>
|
||||
<real>660614463.94370699</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -676,11 +715,11 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8B73B25A2751202D006E2D3D</string>
|
||||
<string>8B9E1EA827602D3F00AF4668</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ZLowpass2/ZLowpass2.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>13 214 841 654 0 0 1440 878 </string>
|
||||
<string>15 214 841 654 0 0 1440 878 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
|
|||
|
|
@ -49,12 +49,12 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 639858923;
|
||||
PBXWorkspaceStateSaveDate = 639858923;
|
||||
PBXPerProjectTemplateStateSaveDate = 660600422;
|
||||
PBXWorkspaceStateSaveDate = 660600422;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8BA6296E2623757500483AAF /* PBXTextBookmark */ = 8BA6296E2623757500483AAF /* PBXTextBookmark */;
|
||||
8BA62A072623790C00483AAF /* PBXTextBookmark */ = 8BA62A072623790C00483AAF /* PBXTextBookmark */;
|
||||
8B9E1DE5275FF65A00AF4668 /* PBXTextBookmark */ = 8B9E1DE5275FF65A00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1E02275FF69A00AF4668 /* PBXTextBookmark */ = 8B9E1E02275FF69A00AF4668 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 1512}}";
|
||||
sepNavSelRange = "{2562, 0}";
|
||||
sepNavVisRange = "{926, 1868}";
|
||||
sepNavVisRange = "{1032, 1762}";
|
||||
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
sepNavIntBoundsRect = "{{0, 0}, {554, 4428}}";
|
||||
sepNavSelRange = "{684, 0}";
|
||||
sepNavVisRange = "{0, 0}";
|
||||
sepNavWindowFrame = "{{335, 37}, {895, 831}}";
|
||||
sepNavWindowFrame = "{{335, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8BA6296E2623757500483AAF /* PBXTextBookmark */ = {
|
||||
8B9E1DE5275FF65A00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 24D8286F09A914000093AEF8 /* BuildATPDFProc.cpp */;
|
||||
name = "BuildATPDFProc.cpp: 30";
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
vrLen = 0;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8BA62A072623790C00483AAF /* PBXTextBookmark */ = {
|
||||
8B9E1E02275FF69A00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 24D8286F09A914000093AEF8 /* BuildATPDFProc.cpp */;
|
||||
name = "BuildATPDFProc.cpp: 30";
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>5</integer>
|
||||
<integer>6</integer>
|
||||
<integer>4</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
|
|
@ -323,7 +323,7 @@
|
|||
<real>185</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>546 97 810 487 0 0 1440 878 </string>
|
||||
<string>630 390 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
|
|
@ -351,10 +351,10 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8BA62A072623790C00483AAF</string>
|
||||
<string>8B9E1E02275FF69A00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8BA6296E2623757500483AAF</string>
|
||||
<string>8B9E1DE5275FF65A00AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -370,7 +370,7 @@
|
|||
<key>Frame</key>
|
||||
<string>{{0, 0}, {603, 0}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>546 97 810 487 0 0 1440 878 </string>
|
||||
<string>630 390 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
|
|
@ -395,7 +395,7 @@
|
|||
<key>Frame</key>
|
||||
<string>{{10, 27}, {603, 414}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>546 97 810 487 0 0 1440 878 </string>
|
||||
<string>630 390 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
|
@ -477,11 +477,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8BA62A082623790C00483AAF</string>
|
||||
<string>8B9E1E03275FF69A00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8BA62A092623790C00483AAF</string>
|
||||
<string>8B9E1E04275FF69A00AF4668</string>
|
||||
<string>8B0237581D42B1C400E1E8C8</string>
|
||||
<string>8BA62A0A2623790C00483AAF</string>
|
||||
<string>8B9E1E05275FF69A00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -634,7 +634,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>639858956.58066905</real>
|
||||
<real>660600474.74406695</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -651,11 +651,11 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8BA62A0B2623790C00483AAF</string>
|
||||
<string>8B9E1E06275FF69A00AF4668</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/BuildATPDF/BuildATPDF.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>546 97 810 487 0 0 1440 878 </string>
|
||||
<string>630 390 810 487 0 0 1440 878 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
|
|||
|
|
@ -51,11 +51,11 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 646345686;
|
||||
PBXWorkspaceStateSaveDate = 646345686;
|
||||
PBXPerProjectTemplateStateSaveDate = 660600703;
|
||||
PBXWorkspaceStateSaveDate = 660600703;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B60872E2683C22F0032D630 /* PBXTextBookmark */ = 8B60872E2683C22F0032D630 /* PBXTextBookmark */;
|
||||
8B9E1E35275FF79E00AF4668 /* PBXTextBookmark */ = 8B9E1E35275FF79E00AF4668 /* PBXTextBookmark */;
|
||||
8BA2406425FD854100C915DA /* PBXTextBookmark */ = 8BA2406425FD854100C915DA /* PBXTextBookmark */;
|
||||
8BDC4C74268673F80000E649 /* PBXTextBookmark */ = 8BDC4C74268673F80000E649 /* PBXTextBookmark */;
|
||||
};
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8B60872E2683C22F0032D630 /* PBXTextBookmark */ = {
|
||||
8B9E1E35275FF79E00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 24D8286F09A914000093AEF8 /* IronOxideClassic2Proc.cpp */;
|
||||
name = "IronOxideClassic2Proc.cpp: 38";
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>6</integer>
|
||||
<integer>5</integer>
|
||||
<integer>4</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
|
|
@ -351,11 +351,11 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8BDC4C74268673F80000E649</string>
|
||||
<string>8B9E1E35275FF79E00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8BA2406425FD854100C915DA</string>
|
||||
<string>8B60872E2683C22F0032D630</string>
|
||||
<string>8BDC4C74268673F80000E649</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -369,18 +369,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {603, 13}}</string>
|
||||
<string>{{0, 0}, {603, 0}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>567 266 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>13pt</string>
|
||||
<string>0pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>428pt</string>
|
||||
<string>441pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -394,7 +394,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {603, 401}}</string>
|
||||
<string>{{10, 27}, {603, 414}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>567 266 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
|
|
@ -478,11 +478,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8BDC4C75268673F80000E649</string>
|
||||
<string>8B9E1E36275FF79E00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8BDC4C76268673F80000E649</string>
|
||||
<string>8B9E1E37275FF79E00AF4668</string>
|
||||
<string>8B0237581D42B1C400E1E8C8</string>
|
||||
<string>8BDC4C77268673F80000E649</string>
|
||||
<string>8B9E1E38275FF79E00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -655,7 +655,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>646345720.36536205</real>
|
||||
<real>660600734.40743101</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -672,7 +672,6 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8BDC4C78268673F80000E649</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/IronOxideClassic2/IronOxideClassic2.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* ZHighpass2 */;
|
||||
codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
364,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
324,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 660613446;
|
||||
PBXWorkspaceStateSaveDate = 660613446;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* ZHighpass2.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1029, 2826}}";
|
||||
sepNavSelRange = "{738, 0}";
|
||||
sepNavVisRange = "{74, 1483}";
|
||||
sepNavWindowFrame = "{{534, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* ZHighpass2.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 2214}}";
|
||||
sepNavSelRange = "{3428, 0}";
|
||||
sepNavVisRange = "{0, 1151}";
|
||||
sepNavWindowFrame = "{{530, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
|
||||
sepNavSelRange = "{10616, 0}";
|
||||
sepNavVisRange = "{9653, 2414}";
|
||||
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* ZHighpass2Proc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1047, 7938}}";
|
||||
sepNavSelRange = "{18977, 0}";
|
||||
sepNavVisRange = "{20328, 1452}";
|
||||
sepNavWindowFrame = "{{529, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* ZHighpass2 */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
2201
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/project.pbxproj
Executable file
2201
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/project.pbxproj
Executable file
File diff suppressed because it is too large
Load diff
7
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Sample.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
Binary file not shown.
Binary file not shown.
1372
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/spiadmin.mode1v3
Normal file
1372
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/spiadmin.mode1v3
Normal file
File diff suppressed because it is too large
Load diff
143
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/spiadmin.pbxuser
Normal file
143
plugins/MacVST/ZHighpass2/ZHighpass2.xcodeproj/spiadmin.pbxuser
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */;
|
||||
codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
829,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
789,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 345089498;
|
||||
PBXWorkspaceStateSaveDate = 345089498;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */;
|
||||
915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* Gain.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}";
|
||||
sepNavSelRange = "{247, 0}";
|
||||
sepNavVisRange = "{0, 1657}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* Gain.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 975}}";
|
||||
sepNavSelRange = "{1552, 0}";
|
||||
sepNavVisRange = "{796, 1857}";
|
||||
sepNavWindowFrame = "{{15, 465}, {750, 558}}";
|
||||
};
|
||||
};
|
||||
24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 488}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 798}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}";
|
||||
sepNavSelRange = "{10641, 0}";
|
||||
sepNavVisRange = "{10076, 1095}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* GainProc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 482}}";
|
||||
sepNavSelRange = "{239, 0}";
|
||||
sepNavVisRange = "{0, 950}";
|
||||
};
|
||||
};
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 493}}";
|
||||
sepNavSelRange = "{249, 0}";
|
||||
sepNavVisRange = "{0, 249}";
|
||||
};
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Gain */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */;
|
||||
name = "Gain.cpp: 10";
|
||||
rLen = 0;
|
||||
rLoc = 247;
|
||||
rType = 0;
|
||||
vrLen = 1657;
|
||||
vrLoc = 0;
|
||||
};
|
||||
915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */;
|
||||
name = "Gain.cpp: 10";
|
||||
rLen = 0;
|
||||
rLoc = 247;
|
||||
rType = 0;
|
||||
vrLen = 1625;
|
||||
vrLoc = 0;
|
||||
};
|
||||
91857D94148EF55400AAA11B /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
91857D95148EF55400AAA11B /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Gain"
|
||||
ReferencedContainer = "container:Gain.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Gain"
|
||||
ReferencedContainer = "container:Gain.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Gain"
|
||||
ReferencedContainer = "container:Gain.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>Gain.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>«PROJECTNAME».xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "«PROJECTNAME».vst"
|
||||
BlueprintName = "«PROJECTNAME»"
|
||||
ReferencedContainer = "container:Sample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
24
plugins/MacVST/ZHighpass2/mac/Info.plist
Executable file
24
plugins/MacVST/ZHighpass2/mac/Info.plist
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>ZHighpass2</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.airwindows.ZHighpass2</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>Dthr</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
1
plugins/MacVST/ZHighpass2/mac/PkgInfo
Executable file
1
plugins/MacVST/ZHighpass2/mac/PkgInfo
Executable file
|
|
@ -0,0 +1 @@
|
|||
BNDL????
|
||||
17
plugins/MacVST/ZHighpass2/mac/xcode_vst_prefix.h
Executable file
17
plugins/MacVST/ZHighpass2/mac/xcode_vst_prefix.h
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#define MAC 1
|
||||
#define MACX 1
|
||||
|
||||
#define USE_NAMESPACE 0
|
||||
|
||||
#define TARGET_API_MAC_CARBON 1
|
||||
#define USENAVSERVICES 1
|
||||
|
||||
#define __CF_USE_FRAMEWORK_INCLUDES__
|
||||
|
||||
#if __MWERKS__
|
||||
#define __NOEXTENSIONS__
|
||||
#endif
|
||||
|
||||
#define QUARTZ 1
|
||||
|
||||
#include <AvailabilityMacros.h>
|
||||
152
plugins/MacVST/ZHighpass2/source/ZHighpass2.cpp
Executable file
152
plugins/MacVST/ZHighpass2/source/ZHighpass2.cpp
Executable file
|
|
@ -0,0 +1,152 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ZHighpass2(audioMaster);}
|
||||
|
||||
ZHighpass2::ZHighpass2(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.1;
|
||||
B = 0.5;
|
||||
C = 1.0;
|
||||
D = 0.5;
|
||||
|
||||
iirSampleAL = 0.0;
|
||||
iirSampleAR = 0.0;
|
||||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
ZHighpass2::~ZHighpass2() {}
|
||||
VstInt32 ZHighpass2::getVendorVersion () {return 1000;}
|
||||
void ZHighpass2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void ZHighpass2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);}
|
||||
//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than
|
||||
//trying to do versioning and preventing people from using older versions. Maybe they like the old one!
|
||||
|
||||
static float pinParameter(float data)
|
||||
{
|
||||
if (data < 0.0f) return 0.0f;
|
||||
if (data > 1.0f) return 1.0f;
|
||||
return data;
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
chunkData[3] = D;
|
||||
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
|
||||
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
|
||||
started with. */
|
||||
|
||||
*data = chunkData;
|
||||
return kNumParameters * sizeof(float);
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
D = pinParameter(chunkData[3]);
|
||||
/* We're ignoring byteSize as we found it to be a filthy liar */
|
||||
|
||||
/* calculate any other fields you need here - you could copy in
|
||||
code from setParameter() here. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ZHighpass2::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
case kParamD: D = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float ZHighpass2::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; break;
|
||||
case kParamD: return D; break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} return 0.0; //we only need to update the relevant name, this is simple to manage
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Freq", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Poles", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
|
||||
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool ZHighpass2::getEffectName(char* name) {
|
||||
vst_strncpy(name, "ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory ZHighpass2::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool ZHighpass2::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool ZHighpass2::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
122
plugins/MacVST/ZHighpass2/source/ZHighpass2.h
Executable file
122
plugins/MacVST/ZHighpass2/source/ZHighpass2.h
Executable file
|
|
@ -0,0 +1,122 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) 2011 __MyCompanyName__, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#define __ZHighpass2_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA = 0,
|
||||
kParamB = 1,
|
||||
kParamC = 2,
|
||||
kParamD = 3,
|
||||
kNumParameters = 4
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'zhiq'; //Change this to what the AU identity is!
|
||||
|
||||
class ZHighpass2 :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
ZHighpass2(audioMasterCallback audioMaster);
|
||||
~ZHighpass2();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
long double iirSampleAL;
|
||||
long double iirSampleAR;
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
long double biquadA[biq_total];
|
||||
long double biquadB[biq_total];
|
||||
long double biquadC[biq_total];
|
||||
long double biquadD[biq_total];
|
||||
long double inTrimA;
|
||||
long double inTrimB;
|
||||
long double outTrimA;
|
||||
long double outTrimB;
|
||||
long double wetA;
|
||||
long double wetB;
|
||||
|
||||
enum {
|
||||
fix_freq,
|
||||
fix_reso,
|
||||
fix_a0,
|
||||
fix_a1,
|
||||
fix_a2,
|
||||
fix_b1,
|
||||
fix_b2,
|
||||
fix_sL1,
|
||||
fix_sL2,
|
||||
fix_sR1,
|
||||
fix_sR2,
|
||||
fix_total
|
||||
}; //fixed frequency biquad filter for ultrasonics, stereo
|
||||
long double fixA[fix_total];
|
||||
long double fixB[fix_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
float D;
|
||||
};
|
||||
|
||||
#endif
|
||||
440
plugins/MacVST/ZHighpass2/source/ZHighpass2Proc.cpp
Executable file
440
plugins/MacVST/ZHighpass2/source/ZHighpass2Proc.cpp
Executable file
|
|
@ -0,0 +1,440 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
void ZHighpass2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
float* in1 = inputs[0];
|
||||
float* in2 = inputs[1];
|
||||
float* out1 = outputs[0];
|
||||
float* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 32 bit stereo floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
||||
void ZHighpass2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
double* in1 = inputs[0];
|
||||
double* in2 = inputs[1];
|
||||
double* out1 = outputs[0];
|
||||
double* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 64 bit stereo floating point dither
|
||||
int expon; frexp((double)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
frexp((double)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
|
@ -49,12 +49,13 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 659654030;
|
||||
PBXWorkspaceStateSaveDate = 659654030;
|
||||
PBXPerProjectTemplateStateSaveDate = 660614483;
|
||||
PBXWorkspaceStateSaveDate = 660614483;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B73B2AB27518509006E2D3D /* PBXTextBookmark */ = 8B73B2AB27518509006E2D3D /* PBXTextBookmark */;
|
||||
8B73B2D62751872C006E2D3D /* PBXTextBookmark */ = 8B73B2D62751872C006E2D3D /* PBXTextBookmark */;
|
||||
8B9E1E6D27602B0C00AF4668 /* PBXTextBookmark */ = 8B9E1E6D27602B0C00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1EC927602D9A00AF4668 /* PBXTextBookmark */ = 8B9E1EC927602D9A00AF4668 /* PBXTextBookmark */;
|
||||
8B9E1ECA27602D9A00AF4668 /* PBXTextBookmark */ = 8B9E1ECA27602D9A00AF4668 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
|
|
@ -63,17 +64,17 @@
|
|||
2407DEB6089929BA00EB68BF /* ZLowpass2.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1029, 2772}}";
|
||||
sepNavSelRange = "{531, 0}";
|
||||
sepNavSelRange = "{730, 0}";
|
||||
sepNavVisRange = "{0, 1460}";
|
||||
sepNavWindowFrame = "{{531, 47}, {895, 831}}";
|
||||
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* ZLowpass2.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {561, 2196}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 167}";
|
||||
sepNavWindowFrame = "{{433, 47}, {895, 831}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 2214}}";
|
||||
sepNavSelRange = "{2431, 989}";
|
||||
sepNavVisRange = "{2183, 824}";
|
||||
sepNavWindowFrame = "{{52, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
|
|
@ -86,10 +87,10 @@
|
|||
};
|
||||
24D8286F09A914000093AEF8 /* ZLowpass2Proc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1158, 7704}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1047, 7938}}";
|
||||
sepNavSelRange = "{17484, 0}";
|
||||
sepNavVisRange = "{16583, 2394}";
|
||||
sepNavWindowFrame = "{{211, 43}, {1205, 835}}";
|
||||
sepNavVisRange = "{17351, 198}";
|
||||
sepNavWindowFrame = "{{12, 43}, {1205, 835}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
|
|
@ -106,25 +107,35 @@
|
|||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8B73B2AB27518509006E2D3D /* PBXTextBookmark */ = {
|
||||
8B9E1E6D27602B0C00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 245463B80991757100464AD3 /* ZLowpass2.h */;
|
||||
name = "ZLowpass2.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 214;
|
||||
vrLen = 105;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8B73B2D62751872C006E2D3D /* PBXTextBookmark */ = {
|
||||
8B9E1EC927602D9A00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 245463B80991757100464AD3 /* ZLowpass2.h */;
|
||||
name = "ZLowpass2.h: 1";
|
||||
fRef = 24D8286F09A914000093AEF8 /* ZLowpass2Proc.cpp */;
|
||||
name = "ZLowpass2Proc.cpp: 354";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rLoc = 17484;
|
||||
rType = 0;
|
||||
vrLen = 167;
|
||||
vrLoc = 0;
|
||||
vrLen = 198;
|
||||
vrLoc = 17351;
|
||||
};
|
||||
8B9E1ECA27602D9A00AF4668 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 24D8286F09A914000093AEF8 /* ZLowpass2Proc.cpp */;
|
||||
name = "ZLowpass2Proc.cpp: 354";
|
||||
rLen = 0;
|
||||
rLoc = 17484;
|
||||
rType = 0;
|
||||
vrLen = 198;
|
||||
vrLoc = 17351;
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* ZLowpass2 */ = {
|
||||
activeExec = 0;
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>6</integer>
|
||||
<integer>5</integer>
|
||||
<integer>4</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
|
|
@ -323,7 +323,7 @@
|
|||
<real>185</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>594 299 810 487 0 0 1440 878 </string>
|
||||
<string>51 326 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
|
|
@ -339,7 +339,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B0237581D42B1C400E1E8C8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2.h</string>
|
||||
<string>ZLowpass2Proc.cpp</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
|
|
@ -347,14 +347,15 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>8B0237591D42B1C400E1E8C8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>ZLowpass2.h</string>
|
||||
<string>ZLowpass2Proc.cpp</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B73B2D62751872C006E2D3D</string>
|
||||
<string>8B9E1ECA27602D9A00AF4668</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B73B2AB27518509006E2D3D</string>
|
||||
<string>8B9E1E6D27602B0C00AF4668</string>
|
||||
<string>8B9E1EC927602D9A00AF4668</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -368,18 +369,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {603, 102}}</string>
|
||||
<string>{{0, 0}, {603, 69}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>594 299 810 487 0 0 1440 878 </string>
|
||||
<string>51 326 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>102pt</string>
|
||||
<string>69pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>339pt</string>
|
||||
<string>372pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -393,9 +394,9 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {603, 312}}</string>
|
||||
<string>{{10, 27}, {603, 345}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>594 299 810 487 0 0 1440 878 </string>
|
||||
<string>51 326 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
|
@ -477,11 +478,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8B73B2D72751872C006E2D3D</string>
|
||||
<string>8B9E1ECB27602D9A00AF4668</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8B73B2D82751872C006E2D3D</string>
|
||||
<string>8B9E1ECC27602D9A00AF4668</string>
|
||||
<string>8B0237581D42B1C400E1E8C8</string>
|
||||
<string>8B73B2D92751872C006E2D3D</string>
|
||||
<string>8B9E1ECD27602D9A00AF4668</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -634,7 +635,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>659654444.99717903</real>
|
||||
<real>660614554.18703997</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -651,10 +652,11 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>/Users/christopherjohnson/Desktop/ZLowpass2/ZLowpass2.xcodeproj</string>
|
||||
<string>8B9E1ECE27602D9A00AF4668</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ZLowpass2/ZLowpass2.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>594 299 810 487 0 0 1440 878 </string>
|
||||
<string>51 326 810 487 0 0 1440 878 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ ZLowpass2::ZLowpass2(audioMasterCallback audioMaster) :
|
|||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 1.0; wetB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
|
|
|
|||
BIN
plugins/WinVST/ZHighpass2/.vs/Console4Channel64/v14/.suo
Normal file
BIN
plugins/WinVST/ZHighpass2/.vs/Console4Channel64/v14/.suo
Normal file
Binary file not shown.
BIN
plugins/WinVST/ZHighpass2/.vs/VSTProject/v14/.suo
Normal file
BIN
plugins/WinVST/ZHighpass2/.vs/VSTProject/v14/.suo
Normal file
Binary file not shown.
28
plugins/WinVST/ZHighpass2/VSTProject.sln
Normal file
28
plugins/WinVST/ZHighpass2/VSTProject.sln
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32
|
||||
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
183
plugins/WinVST/ZHighpass2/VSTProject.vcxproj
Normal file
183
plugins/WinVST/ZHighpass2/VSTProject.vcxproj
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.cpp" />
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.cpp" />
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\vstplugmain.cpp" />
|
||||
<ClCompile Include="ZHighpass2.cpp" />
|
||||
<ClCompile Include="ZHighpass2Proc.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\aeffeditor.h" />
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.h" />
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h" />
|
||||
<ClInclude Include="ZHighpass2.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}</ProjectGuid>
|
||||
<RootNamespace>VSTProject</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
<ProjectName>ZHighpass264</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
|
||||
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<AdditionalDependencies>libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<AdditionalDependencies>libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
48
plugins/WinVST/ZHighpass2/VSTProject.vcxproj.filters
Normal file
48
plugins/WinVST/ZHighpass2/VSTProject.vcxproj.filters
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\vstplugmain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ZHighpass2.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ZHighpass2Proc.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\aeffeditor.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ZHighpass2.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
19
plugins/WinVST/ZHighpass2/VSTProject.vcxproj.user
Normal file
19
plugins/WinVST/ZHighpass2/VSTProject.vcxproj.user
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
152
plugins/WinVST/ZHighpass2/ZHighpass2.cpp
Normal file
152
plugins/WinVST/ZHighpass2/ZHighpass2.cpp
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ZHighpass2(audioMaster);}
|
||||
|
||||
ZHighpass2::ZHighpass2(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.1;
|
||||
B = 0.5;
|
||||
C = 1.0;
|
||||
D = 0.5;
|
||||
|
||||
iirSampleAL = 0.0;
|
||||
iirSampleAR = 0.0;
|
||||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
ZHighpass2::~ZHighpass2() {}
|
||||
VstInt32 ZHighpass2::getVendorVersion () {return 1000;}
|
||||
void ZHighpass2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void ZHighpass2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);}
|
||||
//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than
|
||||
//trying to do versioning and preventing people from using older versions. Maybe they like the old one!
|
||||
|
||||
static float pinParameter(float data)
|
||||
{
|
||||
if (data < 0.0f) return 0.0f;
|
||||
if (data > 1.0f) return 1.0f;
|
||||
return data;
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
chunkData[3] = D;
|
||||
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
|
||||
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
|
||||
started with. */
|
||||
|
||||
*data = chunkData;
|
||||
return kNumParameters * sizeof(float);
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
D = pinParameter(chunkData[3]);
|
||||
/* We're ignoring byteSize as we found it to be a filthy liar */
|
||||
|
||||
/* calculate any other fields you need here - you could copy in
|
||||
code from setParameter() here. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ZHighpass2::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
case kParamD: D = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float ZHighpass2::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; break;
|
||||
case kParamD: return D; break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} return 0.0; //we only need to update the relevant name, this is simple to manage
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Freq", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Poles", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
|
||||
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void ZHighpass2::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 ZHighpass2::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool ZHighpass2::getEffectName(char* name) {
|
||||
vst_strncpy(name, "ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory ZHighpass2::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool ZHighpass2::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows ZHighpass2", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool ZHighpass2::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
122
plugins/WinVST/ZHighpass2/ZHighpass2.h
Normal file
122
plugins/WinVST/ZHighpass2/ZHighpass2.h
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) 2011 __MyCompanyName__, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#define __ZHighpass2_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA = 0,
|
||||
kParamB = 1,
|
||||
kParamC = 2,
|
||||
kParamD = 3,
|
||||
kNumParameters = 4
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'zhiq'; //Change this to what the AU identity is!
|
||||
|
||||
class ZHighpass2 :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
ZHighpass2(audioMasterCallback audioMaster);
|
||||
~ZHighpass2();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
long double iirSampleAL;
|
||||
long double iirSampleAR;
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
long double biquadA[biq_total];
|
||||
long double biquadB[biq_total];
|
||||
long double biquadC[biq_total];
|
||||
long double biquadD[biq_total];
|
||||
long double inTrimA;
|
||||
long double inTrimB;
|
||||
long double outTrimA;
|
||||
long double outTrimB;
|
||||
long double wetA;
|
||||
long double wetB;
|
||||
|
||||
enum {
|
||||
fix_freq,
|
||||
fix_reso,
|
||||
fix_a0,
|
||||
fix_a1,
|
||||
fix_a2,
|
||||
fix_b1,
|
||||
fix_b2,
|
||||
fix_sL1,
|
||||
fix_sL2,
|
||||
fix_sR1,
|
||||
fix_sR2,
|
||||
fix_total
|
||||
}; //fixed frequency biquad filter for ultrasonics, stereo
|
||||
long double fixA[fix_total];
|
||||
long double fixB[fix_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
float D;
|
||||
};
|
||||
|
||||
#endif
|
||||
440
plugins/WinVST/ZHighpass2/ZHighpass2Proc.cpp
Normal file
440
plugins/WinVST/ZHighpass2/ZHighpass2Proc.cpp
Normal file
|
|
@ -0,0 +1,440 @@
|
|||
/* ========================================
|
||||
* ZHighpass2 - ZHighpass2.h
|
||||
* Copyright (c) 2016 airwindows, All rights reserved
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __ZHighpass2_H
|
||||
#include "ZHighpass2.h"
|
||||
#endif
|
||||
|
||||
void ZHighpass2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
float* in1 = inputs[0];
|
||||
float* in2 = inputs[1];
|
||||
float* out1 = outputs[0];
|
||||
float* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 32 bit stereo floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
||||
void ZHighpass2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
double* in1 = inputs[0];
|
||||
double* in2 = inputs[1];
|
||||
double* out1 = outputs[0];
|
||||
double* out2 = outputs[1];
|
||||
|
||||
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= getSampleRate();
|
||||
|
||||
biquadA[biq_freq] = ((pow(B,4)*9500.0)/getSampleRate())+0.00076;
|
||||
//double clipFactor = 1.212-((1.0-B)*0.496);
|
||||
biquadA[biq_reso] = 1.0;
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = norm;
|
||||
biquadA[biq_aB1] = -2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
//opamp stuff
|
||||
inTrimA = inTrimB;
|
||||
inTrimB = A*10.0;
|
||||
inTrimB *= inTrimB; inTrimB *= inTrimB;
|
||||
outTrimA = outTrimB;
|
||||
outTrimB = C*10.0;
|
||||
wetA = wetB;
|
||||
wetB = pow(D,2);
|
||||
|
||||
double iirAmountA = 0.00069/overallscale;
|
||||
fixA[fix_freq] = fixB[fix_freq] = 15500.0 / getSampleRate();
|
||||
fixA[fix_reso] = fixB[fix_reso] = 0.935;
|
||||
K = tan(M_PI * fixB[fix_freq]); //lowpass
|
||||
norm = 1.0 / (1.0 + K / fixB[fix_reso] + K * K);
|
||||
fixA[fix_a0] = fixB[fix_a0] = K * K * norm;
|
||||
fixA[fix_a1] = fixB[fix_a1] = 2.0 * fixB[fix_a0];
|
||||
fixA[fix_a2] = fixB[fix_a2] = fixB[fix_a0];
|
||||
fixA[fix_b1] = fixB[fix_b1] = 2.0 * (K * K - 1.0) * norm;
|
||||
fixA[fix_b2] = fixB[fix_b2] = (1.0 - K / fixB[fix_reso] + K * K) * norm;
|
||||
//end opamp stuff
|
||||
|
||||
double trim = 0.1+(3.712*biquadA[biq_freq]);
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
long double inputSampleL = *in1;
|
||||
long double inputSampleR = *in2;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
long double drySampleL = inputSampleL;
|
||||
long double drySampleR = inputSampleR;
|
||||
long double overallDrySampleL = inputSampleL;
|
||||
long double overallDrySampleR = inputSampleR;
|
||||
|
||||
long double outSample = (long double)sampleFrames/inFramesToProcess;
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*outSample)+(biquadA[biq_aB0]*(1.0-outSample));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*outSample)+(biquadA[biq_aB1]*(1.0-outSample));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*outSample)+(biquadA[biq_aB2]*(1.0-outSample));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*outSample)+(biquadA[biq_bB1]*(1.0-outSample));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*outSample)+(biquadA[biq_bB2]*(1.0-outSample));
|
||||
for (int x = 0; x < 7; x++) {biquadD[x] = biquadC[x] = biquadB[x] = biquadA[x];}
|
||||
//this is the interpolation code for the biquad
|
||||
long double inTrim = (inTrimA*outSample)+(inTrimB*(1.0-outSample));
|
||||
long double outTrim = (outTrimA*outSample)+(outTrimB*(1.0-outSample));
|
||||
long double wet = (wetA*outSample)+(wetB*(1.0-outSample));
|
||||
long double aWet = 1.0;
|
||||
long double bWet = 1.0;
|
||||
long double cWet = 1.0;
|
||||
long double dWet = wet*4.0;
|
||||
//four-stage wet/dry control using progressive stages that bypass when not engaged
|
||||
if (dWet < 1.0) {aWet = dWet; bWet = 0.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 2.0) {bWet = dWet - 1.0; cWet = 0.0; dWet = 0.0;}
|
||||
else if (dWet < 3.0) {cWet = dWet - 2.0; dWet = 0.0;}
|
||||
else {dWet -= 3.0;}
|
||||
//this is one way to make a little set of dry/wet stages that are successively added to the
|
||||
//output as the control is turned up. Each one independently goes from 0-1 and stays at 1
|
||||
//beyond that point: this is a way to progressively add a 'black box' sound processing
|
||||
//which lets you fall through to simpler processing at lower settings.
|
||||
if (inTrim != 1.0) {
|
||||
inputSampleL *= inTrim;
|
||||
inputSampleR *= inTrim;
|
||||
}
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleL *= trim; inputSampleR *= trim;
|
||||
//inputSampleL /= clipFactor; inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleL * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sL1] = (inputSampleL * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSampleL * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleL = inputSampleL = outSample;
|
||||
outSample = (inputSampleR * biquadA[biq_a0]) + biquadA[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadA[biq_sR1] = (inputSampleR * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sR2];
|
||||
biquadA[biq_sR2] = (inputSampleR * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
drySampleR = inputSampleR = outSample;
|
||||
|
||||
if (bWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sL1] = (inputSampleL * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSampleL * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * bWet) + (drySampleL * (1.0-bWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadB[biq_a0]) + biquadB[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadB[biq_sR1] = (inputSampleR * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sR2];
|
||||
biquadB[biq_sR2] = (inputSampleR * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * bWet) + (drySampleR * (1.0-bWet));
|
||||
}
|
||||
|
||||
if (cWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sL1] = (inputSampleL * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSampleL * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * cWet) + (drySampleL * (1.0-cWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadC[biq_a0]) + biquadC[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadC[biq_sR1] = (inputSampleR * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sR2];
|
||||
biquadC[biq_sR2] = (inputSampleR * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * cWet) + (drySampleR * (1.0-cWet));
|
||||
}
|
||||
|
||||
if (dWet > 0.0) {
|
||||
//inputSampleL /= clipFactor;
|
||||
outSample = (inputSampleL * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sL1] = (inputSampleL * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSampleL * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleL = inputSampleL = (outSample * dWet) + (drySampleL * (1.0-dWet));
|
||||
//inputSampleR /= clipFactor;
|
||||
outSample = (inputSampleR * biquadD[biq_a0]) + biquadD[biq_sR1];
|
||||
if (outSample > 1.0) outSample = 1.0; if (outSample < -1.0) outSample = -1.0;
|
||||
biquadD[biq_sR1] = (inputSampleR * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sR2];
|
||||
biquadD[biq_sR2] = (inputSampleR * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
drySampleR = inputSampleR = (outSample * dWet) + (drySampleR * (1.0-dWet));
|
||||
}
|
||||
|
||||
//inputSampleL /= clipFactor;
|
||||
//inputSampleR /= clipFactor;
|
||||
|
||||
//opamp stage
|
||||
if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0;
|
||||
iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA);
|
||||
inputSampleL -= iirSampleAL;
|
||||
if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0;
|
||||
iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA);
|
||||
inputSampleR -= iirSampleAR;
|
||||
|
||||
outSample = (inputSampleL * fixA[fix_a0]) + fixA[fix_sL1];
|
||||
fixA[fix_sL1] = (inputSampleL * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sL2];
|
||||
fixA[fix_sL2] = (inputSampleL * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixA[fix_a0]) + fixA[fix_sR1];
|
||||
fixA[fix_sR1] = (inputSampleR * fixA[fix_a1]) - (outSample * fixA[fix_b1]) + fixA[fix_sR2];
|
||||
fixA[fix_sR2] = (inputSampleR * fixA[fix_a2]) - (outSample * fixA[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0; if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
inputSampleL -= (inputSampleL*inputSampleL*inputSampleL*inputSampleL*inputSampleL*0.1768);
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0; if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
inputSampleR -= (inputSampleR*inputSampleR*inputSampleR*inputSampleR*inputSampleR*0.1768);
|
||||
|
||||
outSample = (inputSampleL * fixB[fix_a0]) + fixB[fix_sL1];
|
||||
fixB[fix_sL1] = (inputSampleL * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sL2];
|
||||
fixB[fix_sL2] = (inputSampleL * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleL = outSample; //fixed biquad filtering ultrasonics
|
||||
outSample = (inputSampleR * fixB[fix_a0]) + fixB[fix_sR1];
|
||||
fixB[fix_sR1] = (inputSampleR * fixB[fix_a1]) - (outSample * fixB[fix_b1]) + fixB[fix_sR2];
|
||||
fixB[fix_sR2] = (inputSampleR * fixB[fix_a2]) - (outSample * fixB[fix_b2]);
|
||||
inputSampleR = outSample; //fixed biquad filtering ultrasonics
|
||||
|
||||
if (outTrim != 1.0) {
|
||||
inputSampleL *= outTrim;
|
||||
inputSampleR *= outTrim;
|
||||
}
|
||||
//end opamp stage
|
||||
|
||||
if (aWet != 1.0) {
|
||||
inputSampleL = (inputSampleL*aWet) + (overallDrySampleL*(1.0-aWet));
|
||||
inputSampleR = (inputSampleR*aWet) + (overallDrySampleR*(1.0-aWet));
|
||||
}
|
||||
|
||||
//begin 64 bit stereo floating point dither
|
||||
int expon; frexp((double)inputSampleL, &expon);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
frexp((double)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
3
plugins/WinVST/ZHighpass2/vstplug.def
Normal file
3
plugins/WinVST/ZHighpass2/vstplug.def
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
EXPORTS
|
||||
VSTPluginMain
|
||||
main=VSTPluginMain
|
||||
0
plugins/WinVST/ZLowpass2/.vs/Console4Channel64/v14/.suo
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/.vs/Console4Channel64/v14/.suo
Executable file → Normal file
BIN
plugins/WinVST/ZLowpass2/.vs/VSTProject/v14/.suo
Executable file → Normal file
BIN
plugins/WinVST/ZLowpass2/.vs/VSTProject/v14/.suo
Executable file → Normal file
Binary file not shown.
0
plugins/WinVST/ZLowpass2/VSTProject.sln
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.sln
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj.filters
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj.filters
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj.user
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/VSTProject.vcxproj.user
Executable file → Normal file
2
plugins/WinVST/ZLowpass2/ZLowpass2.cpp
Executable file → Normal file
2
plugins/WinVST/ZLowpass2/ZLowpass2.cpp
Executable file → Normal file
|
|
@ -22,7 +22,7 @@ ZLowpass2::ZLowpass2(audioMasterCallback audioMaster) :
|
|||
for (int x = 0; x < biq_total; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0; biquadC[x] = 0.0; biquadD[x] = 0.0;}
|
||||
inTrimA = 0.1; inTrimB = 0.1;
|
||||
outTrimA = 1.0; outTrimB = 1.0;
|
||||
wetA = 1.0; wetB = 1.0;
|
||||
wetA = 0.5; wetB = 0.5;
|
||||
for (int x = 0; x < fix_total; x++) {fixA[x] = 0.0; fixB[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
|
|
|
|||
0
plugins/WinVST/ZLowpass2/ZLowpass2.h
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/ZLowpass2.h
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/ZLowpass2Proc.cpp
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/ZLowpass2Proc.cpp
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/vstplug.def
Executable file → Normal file
0
plugins/WinVST/ZLowpass2/vstplug.def
Executable file → Normal file
Loading…
Add table
Add a link
Reference in a new issue