mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-15 14:16:00 -06:00
BezEQ3
This commit is contained in:
parent
6df9b9832d
commit
2335148573
187 changed files with 18065 additions and 1931 deletions
|
|
@ -289,6 +289,7 @@ add_airwindows_plugin(LeadAmp)
|
|||
add_airwindows_plugin(LeftoMono)
|
||||
add_airwindows_plugin(LilAmp)
|
||||
add_airwindows_plugin(Logical4)
|
||||
add_airwindows_plugin(Longhand)
|
||||
add_airwindows_plugin(Loud)
|
||||
add_airwindows_plugin(Lowpass)
|
||||
add_airwindows_plugin(Lowpass2)
|
||||
|
|
|
|||
|
|
@ -114,10 +114,12 @@ void BezEQ3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -237,10 +239,12 @@ void BezEQ3::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -95,10 +95,12 @@ void Density3::processReplacing(float **inputs, float **outputs, VstInt32 sample
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -199,10 +201,12 @@ void Density3::processDoubleReplacing(double **inputs, double **outputs, VstInt3
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new D
|
|||
Dynamics3::Dynamics3(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.999;
|
||||
A = 1.0;
|
||||
B = 0.382;
|
||||
C = 0.618;
|
||||
D = 0.618;
|
||||
D = 1.0;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bezComp[x] = 0.0;
|
||||
//Dynamics3
|
||||
|
|
@ -104,7 +104,7 @@ void Dynamics3::getParameterName(VstInt32 index, char *text) {
|
|||
case kParamA: vst_strncpy (text, "Thresh", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Attack", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Release", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Ratio", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,15 +19,17 @@ void Dynamics3::processReplacing(float **inputs, float **outputs, VstInt32 sampl
|
|||
overallscale *= getSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-B)*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-C)*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
|
|
@ -46,23 +48,25 @@ void Dynamics3::processReplacing(float **inputs, float **outputs, VstInt32 sampl
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSampleL = (drySampleL*bezRatio)+(inputSampleL*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezRatio)+(inputSampleR*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSampleL = (drySampleL*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleL*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleR*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -87,15 +91,17 @@ void Dynamics3::processDoubleReplacing(double **inputs, double **outputs, VstInt
|
|||
overallscale *= getSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-B)*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-C)*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
|
|
@ -114,23 +120,25 @@ void Dynamics3::processDoubleReplacing(double **inputs, double **outputs, VstInt
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSampleL = (drySampleL*bezRatio)+(inputSampleL*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezRatio)+(inputSampleR*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSampleL = (drySampleL*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleL*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleR*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -36,17 +36,19 @@ void LRConvolve3::processReplacing(float **inputs, float **outputs, VstInt32 sam
|
|||
}
|
||||
if (iirSample < modulate) iirSample = modulate;
|
||||
modulate = (iirSample*smooth)+(modulate*(1.0-smooth));
|
||||
if (carrier > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0) carrier = -sqrt(carrier/modulate)*modulate;
|
||||
if (carrier > 0.0 && modulate > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0 && modulate > 0.0) carrier = -sqrt(-carrier/modulate)*modulate;
|
||||
inputSampleL = inputSampleR = carrier;
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -88,17 +90,19 @@ void LRConvolve3::processDoubleReplacing(double **inputs, double **outputs, VstI
|
|||
}
|
||||
if (iirSample < modulate) iirSample = modulate;
|
||||
modulate = (iirSample*smooth)+(modulate*(1.0-smooth));
|
||||
if (carrier > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0) carrier = -sqrt(carrier/modulate)*modulate;
|
||||
if (carrier > 0.0 && modulate > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0 && modulate > 0.0) carrier = -sqrt(-carrier/modulate)*modulate;
|
||||
inputSampleL = inputSampleR = carrier;
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
136
plugins/LinuxVST/src/Longhand/Longhand.cpp
Executable file
136
plugins/LinuxVST/src/Longhand/Longhand.cpp
Executable file
|
|
@ -0,0 +1,136 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#include "Longhand.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Longhand(audioMaster);}
|
||||
|
||||
Longhand::Longhand(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.445;
|
||||
B = 1.0;
|
||||
C = 1.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
|
||||
}
|
||||
|
||||
Longhand::~Longhand() {}
|
||||
VstInt32 Longhand::getVendorVersion () {return 1000;}
|
||||
void Longhand::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void Longhand::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 Longhand::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
/* 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 Longhand::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
/* 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 Longhand::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float Longhand::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; 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 Longhand::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void Longhand::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;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void Longhand::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;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 Longhand::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool Longhand::getEffectName(char* name) {
|
||||
vst_strncpy(name, "Longhand", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory Longhand::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool Longhand::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows Longhand", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool Longhand::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
66
plugins/LinuxVST/src/Longhand/Longhand.h
Executable file
66
plugins/LinuxVST/src/Longhand/Longhand.h
Executable file
|
|
@ -0,0 +1,66 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) Airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#define __Longhand_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA =0,
|
||||
kParamB =1,
|
||||
kParamC =2,
|
||||
kNumParameters = 3
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'lonh'; //Change this to what the AU identity is!
|
||||
|
||||
class Longhand :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
Longhand(audioMasterCallback audioMaster);
|
||||
~Longhand();
|
||||
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;
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
};
|
||||
|
||||
#endif
|
||||
181
plugins/LinuxVST/src/Longhand/LonghandProc.cpp
Executable file
181
plugins/LinuxVST/src/Longhand/LonghandProc.cpp
Executable file
|
|
@ -0,0 +1,181 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#include "Longhand.h"
|
||||
#endif
|
||||
|
||||
void Longhand::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
float* in1 = inputs[0];
|
||||
float* in2 = inputs[1];
|
||||
float* out1 = outputs[0];
|
||||
float* out2 = outputs[1];
|
||||
|
||||
double inputGain = pow(A,2.0)*7.72;//normalized input does not wavefold too far
|
||||
double outputGain = B;
|
||||
double wet = C;
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
double inputSampleL = *in1;
|
||||
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;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-1.0),1.0);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-1.0),1.0);
|
||||
double drySampleL = inputSampleL;
|
||||
double drySampleR = inputSampleR;
|
||||
|
||||
if (inputGain != 1.0) {
|
||||
inputSampleL *= inputGain;
|
||||
inputSampleR *= inputGain;
|
||||
drySampleL *= inputGain;
|
||||
drySampleR *= inputGain;
|
||||
}
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
if (outputGain != 1.0) {
|
||||
inputSampleL *= outputGain;
|
||||
inputSampleR *= outputGain;
|
||||
}
|
||||
|
||||
if (wet !=1.0) {
|
||||
inputSampleL = (inputSampleL * wet) + (drySampleL * (1.0-wet));
|
||||
inputSampleR = (inputSampleR * wet) + (drySampleR * (1.0-wet));
|
||||
}
|
||||
|
||||
//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)) * 3.553e-44l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
||||
void Longhand::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
double* in1 = inputs[0];
|
||||
double* in2 = inputs[1];
|
||||
double* out1 = outputs[0];
|
||||
double* out2 = outputs[1];
|
||||
|
||||
double inputGain = pow(A,2.0)*7.72;//normalized input does not wavefold too far
|
||||
double outputGain = B;
|
||||
double wet = C;
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
double inputSampleL = *in1;
|
||||
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;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-1.0),1.0);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-1.0),1.0);
|
||||
double drySampleL = inputSampleL;
|
||||
double drySampleR = inputSampleR;
|
||||
|
||||
if (inputGain != 1.0) {
|
||||
inputSampleL *= inputGain;
|
||||
inputSampleR *= inputGain;
|
||||
drySampleL *= inputGain;
|
||||
drySampleR *= inputGain;
|
||||
}
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
if (outputGain != 1.0) {
|
||||
inputSampleL *= outputGain;
|
||||
inputSampleR *= outputGain;
|
||||
}
|
||||
|
||||
if (wet !=1.0) {
|
||||
inputSampleL = (inputSampleL * wet) + (drySampleL * (1.0-wet));
|
||||
inputSampleR = (inputSampleR * wet) + (drySampleR * (1.0-wet));
|
||||
}
|
||||
|
||||
//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)) * 3.553e-44l * pow(2,expon+62));
|
||||
//frexp((double)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
|
@ -73,10 +73,12 @@ void PearLiteEQ::processReplacing(float **inputs, float **outputs, VstInt32 samp
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -155,10 +157,12 @@ void PearLiteEQ::processDoubleReplacing(double **inputs, double **outputs, VstIn
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -77,16 +77,19 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleL += band;
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
|
||||
fr = (0.92/overallscale)+(overallscale*0.01);
|
||||
band = inputSampleR; inputSampleR = 0.0;
|
||||
|
|
@ -99,16 +102,21 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleR += band;
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
X = inputSampleR * inputSampleR;
|
||||
temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (pad < 1.0) {
|
||||
|
|
@ -116,16 +124,45 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
inputSampleR *= pad;
|
||||
}
|
||||
|
||||
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI),M_PI));
|
||||
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI),M_PI));
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -208,16 +245,19 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleL += band;
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
|
||||
fr = (0.92/overallscale)+(overallscale*0.01);
|
||||
band = inputSampleR; inputSampleR = 0.0;
|
||||
|
|
@ -230,16 +270,21 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleR += band;
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
X = inputSampleR * inputSampleR;
|
||||
temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (pad < 1.0) {
|
||||
|
|
@ -247,16 +292,45 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
inputSampleR *= pad;
|
||||
}
|
||||
|
||||
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI),M_PI));
|
||||
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI),M_PI));
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -90,16 +90,19 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleL += (band*angG[9]);
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
}
|
||||
|
||||
if (gaterollerL < 1.0)
|
||||
|
|
@ -170,16 +173,21 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleR += (band*angG[9]);
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleR * inputSampleR;
|
||||
long double temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleR; X *= X; //long double for even
|
||||
long double temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (gaterollerR < 1.0)
|
||||
|
|
@ -210,10 +218,12 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -309,16 +319,19 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleL += (band*angG[9]);
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
}
|
||||
|
||||
if (gaterollerL < 1.0)
|
||||
|
|
@ -389,16 +402,21 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleR += (band*angG[9]);
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleR * inputSampleR;
|
||||
long double temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleR; X *= X; //long double for even
|
||||
long double temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (gaterollerR < 1.0)
|
||||
|
|
@ -429,10 +447,12 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -148,10 +148,12 @@ void SoftClock3::processReplacing(float **inputs, float **outputs, VstInt32 samp
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -305,10 +307,12 @@ void SoftClock3::processDoubleReplacing(double **inputs, double **outputs, VstIn
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -47,15 +47,14 @@ X2Buss::X2Buss(audioMasterCallback audioMaster) :
|
|||
bezCompS[bez_cycle] = 1.0;
|
||||
//Dynamics2
|
||||
|
||||
for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;}
|
||||
for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;}
|
||||
for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;}
|
||||
for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;}
|
||||
for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;}
|
||||
avgPos = 0;
|
||||
lastSlewL = 0.0; lastSlewR = 0.0;
|
||||
lastSlewpleL = 0.0; lastSlewpleR = 0.0;
|
||||
//preTapeHack
|
||||
lastSampleL = 0.0;
|
||||
wasPosClipL = false;
|
||||
wasNegClipL = false;
|
||||
lastSampleR = 0.0;
|
||||
wasPosClipR = false;
|
||||
wasNegClipR = false;
|
||||
for (int x = 0; x < 17; x++) {intermediateL[x] = 0.0; intermediateR[x] = 0.0;}
|
||||
for (int x = 0; x < 33; x++) {slewL[x] = 0.0; slewR[x] = 0.0;}
|
||||
|
||||
inTrimA = 0.5; inTrimB = 0.5;
|
||||
|
||||
|
|
|
|||
|
|
@ -126,22 +126,16 @@ private:
|
|||
double bezCompS[bez_total];
|
||||
//Dynamics2
|
||||
|
||||
double avg32L[33];
|
||||
double avg32R[33];
|
||||
double avg16L[17];
|
||||
double avg16R[17];
|
||||
double avg8L[9];
|
||||
double avg8R[9];
|
||||
double avg4L[5];
|
||||
double avg4R[5];
|
||||
double avg2L[3];
|
||||
double avg2R[3];
|
||||
int avgPos;
|
||||
double lastSlewL;
|
||||
double lastSlewR;
|
||||
double lastSlewpleL;
|
||||
double lastSlewpleR;
|
||||
//preTapeHack
|
||||
double lastSampleL;
|
||||
double intermediateL[18];
|
||||
double slewL[34];
|
||||
bool wasPosClipL;
|
||||
bool wasNegClipL;
|
||||
double lastSampleR;
|
||||
double intermediateR[18];
|
||||
double slewR[34];
|
||||
bool wasPosClipR;
|
||||
bool wasNegClipR; //Stereo ClipOnly3
|
||||
|
||||
double inTrimA;
|
||||
double inTrimB;
|
||||
|
|
|
|||
|
|
@ -141,9 +141,15 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
|
||||
double bezCThresh = pow(1.0-I, 6.0) * 8.0;
|
||||
double bezRez = pow(1.0-I, 12.360679774997898) / overallscale;
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = pow(1.0-I,10.0) / overallscale;
|
||||
sloRez = fmin(fmax(sloRez,0.00001),1.0);
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
stepped = 999999; if (sloRez > 0.000001) stepped = (int)(1.0/sloRez);
|
||||
sloRez = 1.0 / stepped;
|
||||
double sloTrim = 1.0-(sloRez*((double)stepped/(stepped+1.0)));
|
||||
//Dynamics2
|
||||
|
||||
inTrimA = inTrimB; inTrimB = J*2.0;
|
||||
|
|
@ -155,17 +161,7 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
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;
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0;
|
||||
else if (inputSampleL > 0.0) inputSampleL = -expm1((log1p(-inputSampleL) * 0.6180339887498949));
|
||||
if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
else if (inputSampleL < 0.0) inputSampleL = expm1((log1p(inputSampleL) * 0.6180339887498949));
|
||||
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0;
|
||||
else if (inputSampleR > 0.0) inputSampleR = -expm1((log1p(-inputSampleR) * 0.6180339887498949));
|
||||
if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
else if (inputSampleR < 0.0) inputSampleR = expm1((log1p(inputSampleR) * 0.6180339887498949));
|
||||
|
||||
|
||||
double trebleL = inputSampleL;
|
||||
double outSample = (trebleL * highA[biq_a0]) + highA[biq_sL1];
|
||||
highA[biq_sL1] = (trebleL * highA[biq_a1]) - (outSample * highA[biq_b1]) + highA[biq_sL2];
|
||||
|
|
@ -300,8 +296,8 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
|
||||
inputSampleR = (bassR*bassGain) + (lowmidR*lowmidGain) + (highmidR*highmidGain) + (trebleR*trebleGain);
|
||||
//fourth stage of three crossovers is the exponential filters
|
||||
//SmoothEQ2
|
||||
|
||||
//SmoothEQ2
|
||||
if (bezCThresh > 0.0) {
|
||||
inputSampleL *= ((bezCThresh*0.5)+1.0);
|
||||
inputSampleR *= ((bezCThresh*0.5)+1.0);
|
||||
|
|
@ -327,6 +323,7 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
bezCompS[bez_cycle] += sloRez;
|
||||
bezCompS[bez_SampL] += (fabs(inputSampleL) * sloRez); //note: SampL is a control voltage
|
||||
bezCompS[bez_SampR] += (fabs(inputSampleR) * sloRez); //note: SampR is a control voltage
|
||||
|
||||
if (bezCompS[bez_cycle] > 1.0) {
|
||||
bezCompS[bez_cycle] -= 1.0;
|
||||
bezCompS[bez_CL] = bezCompS[bez_BL];
|
||||
|
|
@ -338,22 +335,21 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
bezCompS[bez_AR] = bezCompS[bez_SampR];
|
||||
bezCompS[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBFL = (bezCompF[bez_CL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BL]*bezCompF[bez_cycle]);
|
||||
double BAFL = (bezCompF[bez_BL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AL]*bezCompF[bez_cycle]);
|
||||
double CBAFL = (bezCompF[bez_BL]+(CBFL*(1.0-bezCompF[bez_cycle]))+(BAFL*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSL = (bezCompS[bez_CL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BL]*bezCompS[bez_cycle]);
|
||||
double BASL = (bezCompS[bez_BL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AL]*bezCompS[bez_cycle]);
|
||||
double CBASL = (bezCompS[bez_BL]+(CBSL*(1.0-bezCompS[bez_cycle]))+(BASL*bezCompS[bez_cycle]))*0.5;
|
||||
double X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFL = bezCompF[bez_BL]+(bezCompF[bez_CL]*(1.0-X)*(1.0-X))+(bezCompF[bez_BL]*2.0*(1.0-X)*X)+(bezCompF[bez_AL]*X*X);
|
||||
CBAFL *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASL = bezCompS[bez_BL]+(bezCompS[bez_CL]*(1.0-X)*(1.0-X))+(bezCompS[bez_BL]*2.0*(1.0-X)*X)+(bezCompS[bez_AL]*X*X);
|
||||
CBASL *= 0.5;
|
||||
double CBAMax = fmax(CBASL,CBAFL); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
double CBAFade = ((CBASL*-CBAMax)+(CBAFL*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleL *= 1.0-(fmin(((CBASL*(1.0-CBAFade))+(CBAFL*CBAFade))*bezCThresh,1.0));
|
||||
|
||||
double CBFR = (bezCompF[bez_CR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BR]*bezCompF[bez_cycle]);
|
||||
double BAFR = (bezCompF[bez_BR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AR]*bezCompF[bez_cycle]);
|
||||
double CBAFR = (bezCompF[bez_BR]+(CBFR*(1.0-bezCompF[bez_cycle]))+(BAFR*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSR = (bezCompS[bez_CR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BR]*bezCompS[bez_cycle]);
|
||||
double BASR = (bezCompS[bez_BR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AR]*bezCompS[bez_cycle]);
|
||||
double CBASR = (bezCompS[bez_BR]+(CBSR*(1.0-bezCompS[bez_cycle]))+(BASR*bezCompS[bez_cycle]))*0.5;
|
||||
X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFR = bezCompF[bez_BR]+(bezCompF[bez_CR]*(1.0-X)*(1.0-X))+(bezCompF[bez_BR]*2.0*(1.0-X)*X)+(bezCompF[bez_AR]*X*X);
|
||||
CBAFR *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASR = bezCompS[bez_BR]+(bezCompS[bez_CR]*(1.0-X)*(1.0-X))+(bezCompS[bez_BR]*2.0*(1.0-X)*X)+(bezCompS[bez_AR]*X*X);
|
||||
CBASR *= 0.5;
|
||||
CBAMax = fmax(CBASR,CBAFR); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
CBAFade = ((CBASR*-CBAMax)+(CBAFR*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleR *= 1.0-(fmin(((CBASR*(1.0-CBAFade))+(CBAFR*CBAFade))*bezCThresh,1.0));
|
||||
|
|
@ -361,93 +357,69 @@ void X2Buss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
|
||||
const double temp = (double)sampleFrames/inFramesToProcess;
|
||||
double gain = (inTrimA*temp)+(inTrimB*(1.0-temp));
|
||||
if (gain > 1.0) gain *= gain;
|
||||
if (gain < 1.0) gain = 1.0-pow(1.0-gain,2);
|
||||
gain *= 2.0;
|
||||
|
||||
inputSampleL = inputSampleL * gain;
|
||||
inputSampleR = inputSampleR * gain;
|
||||
//applies pan section, and smoothed fader gain
|
||||
|
||||
double darkSampleL = inputSampleL;
|
||||
double darkSampleR = inputSampleR;
|
||||
if (avgPos > 31) avgPos = 0;
|
||||
if (spacing > 31) {
|
||||
avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];}
|
||||
darkSampleL /= 32.0; darkSampleR /= 32.0;
|
||||
} if (spacing > 15) {
|
||||
avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];}
|
||||
darkSampleL /= 16.0; darkSampleR /= 16.0;
|
||||
} if (spacing > 7) {
|
||||
avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];}
|
||||
darkSampleL /= 8.0; darkSampleR /= 8.0;
|
||||
} if (spacing > 3) {
|
||||
avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];}
|
||||
darkSampleL /= 4.0; darkSampleR /= 4.0;
|
||||
} if (spacing > 1) {
|
||||
avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];}
|
||||
darkSampleL /= 2.0; darkSampleR /= 2.0;
|
||||
} avgPos++;
|
||||
lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL;
|
||||
double avgSlewL = fmin(lastSlewL,1.0);
|
||||
lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223);
|
||||
lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR;
|
||||
double avgSlewR = fmin(lastSlewR,1.0);
|
||||
lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool
|
||||
inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL);
|
||||
inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR);
|
||||
//begin ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
double noise = 1.0-((double(fpdL)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipL == true) { //current will be over
|
||||
if (inputSampleL<lastSampleL) lastSampleL=(0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipL = false;
|
||||
if (inputSampleL>0.9085097) {wasPosClipL=true;inputSampleL=(0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
if (wasNegClipL == true) { //current will be -over
|
||||
if (inputSampleL > lastSampleL) lastSampleL=(-0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = -0.94;
|
||||
} wasNegClipL = false;
|
||||
if (inputSampleL<-0.9085097) {wasNegClipL=true;inputSampleL=(-0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
slewL[spacing*2] = fabs(lastSampleL-inputSampleL);
|
||||
for (int x = spacing*2; x > 0; x--) slewL[x-1] = slewL[x];
|
||||
intermediateL[spacing] = inputSampleL; inputSampleL = lastSampleL;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateL[x-1] = intermediateL[x];} lastSampleL = intermediateL[0];
|
||||
if (wasPosClipL || wasNegClipL) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleL += intermediateL[x];
|
||||
lastSampleL /= spacing;
|
||||
} double finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewL[x]) finalSlew = slewL[x];
|
||||
double postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleL > postclip) inputSampleL = postclip; if (inputSampleL < -postclip) inputSampleL = -postclip;
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908);
|
||||
double addtwo = inputSampleL * inputSampleL;
|
||||
double empower = inputSampleL * addtwo; // inputSampleL to the third power
|
||||
inputSampleL -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleL += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleL -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleL += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleL -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleL *= 0.92;
|
||||
//end TapeHack section
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908);
|
||||
addtwo = inputSampleR * inputSampleR;
|
||||
empower = inputSampleR * addtwo; // inputSampleR to the third power
|
||||
inputSampleR -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleR += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleR -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleR += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleR -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleR *= 0.92;
|
||||
//end TapeHack section
|
||||
noise = 1.0-((double(fpdR)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipR == true) { //current will be over
|
||||
if (inputSampleR<lastSampleR) lastSampleR=(0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipR = false;
|
||||
if (inputSampleR>0.9085097) {wasPosClipR=true;inputSampleR=(0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
if (wasNegClipR == true) { //current will be -over
|
||||
if (inputSampleR > lastSampleR) lastSampleR=(-0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = -0.94;
|
||||
} wasNegClipR = false;
|
||||
if (inputSampleR<-0.9085097) {wasNegClipR=true;inputSampleR=(-0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
slewR[spacing*2] = fabs(lastSampleR-inputSampleR);
|
||||
for (int x = spacing*2; x > 0; x--) slewR[x-1] = slewR[x];
|
||||
intermediateR[spacing] = inputSampleR; inputSampleR = lastSampleR;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateR[x-1] = intermediateR[x];} lastSampleR = intermediateR[0];
|
||||
if (wasPosClipR || wasNegClipR) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleR += intermediateR[x];
|
||||
lastSampleR /= spacing;
|
||||
} finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewR[x]) finalSlew = slewR[x];
|
||||
postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleR > postclip) inputSampleR = postclip; if (inputSampleR < -postclip) inputSampleR = -postclip;
|
||||
//end ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -594,9 +566,15 @@ void X2Buss::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
|
||||
double bezCThresh = pow(1.0-I, 6.0) * 8.0;
|
||||
double bezRez = pow(1.0-I, 12.360679774997898) / overallscale;
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = pow(1.0-I,10.0) / overallscale;
|
||||
sloRez = fmin(fmax(sloRez,0.00001),1.0);
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
stepped = 999999; if (sloRez > 0.000001) stepped = (int)(1.0/sloRez);
|
||||
sloRez = 1.0 / stepped;
|
||||
double sloTrim = 1.0-(sloRez*((double)stepped/(stepped+1.0)));
|
||||
//Dynamics2
|
||||
|
||||
inTrimA = inTrimB; inTrimB = J*2.0;
|
||||
|
|
@ -753,8 +731,8 @@ void X2Buss::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
|
||||
inputSampleR = (bassR*bassGain) + (lowmidR*lowmidGain) + (highmidR*highmidGain) + (trebleR*trebleGain);
|
||||
//fourth stage of three crossovers is the exponential filters
|
||||
//SmoothEQ2
|
||||
|
||||
//SmoothEQ2
|
||||
if (bezCThresh > 0.0) {
|
||||
inputSampleL *= ((bezCThresh*0.5)+1.0);
|
||||
inputSampleR *= ((bezCThresh*0.5)+1.0);
|
||||
|
|
@ -780,6 +758,7 @@ void X2Buss::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
bezCompS[bez_cycle] += sloRez;
|
||||
bezCompS[bez_SampL] += (fabs(inputSampleL) * sloRez); //note: SampL is a control voltage
|
||||
bezCompS[bez_SampR] += (fabs(inputSampleR) * sloRez); //note: SampR is a control voltage
|
||||
|
||||
if (bezCompS[bez_cycle] > 1.0) {
|
||||
bezCompS[bez_cycle] -= 1.0;
|
||||
bezCompS[bez_CL] = bezCompS[bez_BL];
|
||||
|
|
@ -791,22 +770,21 @@ void X2Buss::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
bezCompS[bez_AR] = bezCompS[bez_SampR];
|
||||
bezCompS[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBFL = (bezCompF[bez_CL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BL]*bezCompF[bez_cycle]);
|
||||
double BAFL = (bezCompF[bez_BL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AL]*bezCompF[bez_cycle]);
|
||||
double CBAFL = (bezCompF[bez_BL]+(CBFL*(1.0-bezCompF[bez_cycle]))+(BAFL*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSL = (bezCompS[bez_CL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BL]*bezCompS[bez_cycle]);
|
||||
double BASL = (bezCompS[bez_BL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AL]*bezCompS[bez_cycle]);
|
||||
double CBASL = (bezCompS[bez_BL]+(CBSL*(1.0-bezCompS[bez_cycle]))+(BASL*bezCompS[bez_cycle]))*0.5;
|
||||
double X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFL = bezCompF[bez_BL]+(bezCompF[bez_CL]*(1.0-X)*(1.0-X))+(bezCompF[bez_BL]*2.0*(1.0-X)*X)+(bezCompF[bez_AL]*X*X);
|
||||
CBAFL *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASL = bezCompS[bez_BL]+(bezCompS[bez_CL]*(1.0-X)*(1.0-X))+(bezCompS[bez_BL]*2.0*(1.0-X)*X)+(bezCompS[bez_AL]*X*X);
|
||||
CBASL *= 0.5;
|
||||
double CBAMax = fmax(CBASL,CBAFL); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
double CBAFade = ((CBASL*-CBAMax)+(CBAFL*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleL *= 1.0-(fmin(((CBASL*(1.0-CBAFade))+(CBAFL*CBAFade))*bezCThresh,1.0));
|
||||
|
||||
double CBFR = (bezCompF[bez_CR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BR]*bezCompF[bez_cycle]);
|
||||
double BAFR = (bezCompF[bez_BR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AR]*bezCompF[bez_cycle]);
|
||||
double CBAFR = (bezCompF[bez_BR]+(CBFR*(1.0-bezCompF[bez_cycle]))+(BAFR*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSR = (bezCompS[bez_CR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BR]*bezCompS[bez_cycle]);
|
||||
double BASR = (bezCompS[bez_BR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AR]*bezCompS[bez_cycle]);
|
||||
double CBASR = (bezCompS[bez_BR]+(CBSR*(1.0-bezCompS[bez_cycle]))+(BASR*bezCompS[bez_cycle]))*0.5;
|
||||
X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFR = bezCompF[bez_BR]+(bezCompF[bez_CR]*(1.0-X)*(1.0-X))+(bezCompF[bez_BR]*2.0*(1.0-X)*X)+(bezCompF[bez_AR]*X*X);
|
||||
CBAFR *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASR = bezCompS[bez_BR]+(bezCompS[bez_CR]*(1.0-X)*(1.0-X))+(bezCompS[bez_BR]*2.0*(1.0-X)*X)+(bezCompS[bez_AR]*X*X);
|
||||
CBASR *= 0.5;
|
||||
CBAMax = fmax(CBASR,CBAFR); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
CBAFade = ((CBASR*-CBAMax)+(CBAFR*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleR *= 1.0-(fmin(((CBASR*(1.0-CBAFade))+(CBAFR*CBAFade))*bezCThresh,1.0));
|
||||
|
|
@ -814,94 +792,69 @@ void X2Buss::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
|
||||
const double temp = (double)sampleFrames/inFramesToProcess;
|
||||
double gain = (inTrimA*temp)+(inTrimB*(1.0-temp));
|
||||
if (gain > 1.0) gain *= gain;
|
||||
if (gain < 1.0) gain = 1.0-pow(1.0-gain,2);
|
||||
gain *= 2.0;
|
||||
|
||||
inputSampleL = inputSampleL * gain;
|
||||
inputSampleR = inputSampleR * gain;
|
||||
//applies pan section, and smoothed fader gain
|
||||
|
||||
double darkSampleL = inputSampleL;
|
||||
double darkSampleR = inputSampleR;
|
||||
if (avgPos > 31) avgPos = 0;
|
||||
if (spacing > 31) {
|
||||
avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];}
|
||||
darkSampleL /= 32.0; darkSampleR /= 32.0;
|
||||
} if (spacing > 15) {
|
||||
avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];}
|
||||
darkSampleL /= 16.0; darkSampleR /= 16.0;
|
||||
} if (spacing > 7) {
|
||||
avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];}
|
||||
darkSampleL /= 8.0; darkSampleR /= 8.0;
|
||||
} if (spacing > 3) {
|
||||
avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];}
|
||||
darkSampleL /= 4.0; darkSampleR /= 4.0;
|
||||
} if (spacing > 1) {
|
||||
avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];}
|
||||
darkSampleL /= 2.0; darkSampleR /= 2.0;
|
||||
} avgPos++;
|
||||
lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL;
|
||||
double avgSlewL = fmin(lastSlewL,1.0);
|
||||
lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223);
|
||||
lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR;
|
||||
double avgSlewR = fmin(lastSlewR,1.0);
|
||||
lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool
|
||||
inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL);
|
||||
inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR);
|
||||
//begin ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
double noise = 1.0-((double(fpdL)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipL == true) { //current will be over
|
||||
if (inputSampleL<lastSampleL) lastSampleL=(0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipL = false;
|
||||
if (inputSampleL>0.9085097) {wasPosClipL=true;inputSampleL=(0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
if (wasNegClipL == true) { //current will be -over
|
||||
if (inputSampleL > lastSampleL) lastSampleL=(-0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = -0.94;
|
||||
} wasNegClipL = false;
|
||||
if (inputSampleL<-0.9085097) {wasNegClipL=true;inputSampleL=(-0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
slewL[spacing*2] = fabs(lastSampleL-inputSampleL);
|
||||
for (int x = spacing*2; x > 0; x--) slewL[x-1] = slewL[x];
|
||||
intermediateL[spacing] = inputSampleL; inputSampleL = lastSampleL;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateL[x-1] = intermediateL[x];} lastSampleL = intermediateL[0];
|
||||
if (wasPosClipL || wasNegClipL) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleL += intermediateL[x];
|
||||
lastSampleL /= spacing;
|
||||
} double finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewL[x]) finalSlew = slewL[x];
|
||||
double postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleL > postclip) inputSampleL = postclip; if (inputSampleL < -postclip) inputSampleL = -postclip;
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908);
|
||||
double addtwo = inputSampleL * inputSampleL;
|
||||
double empower = inputSampleL * addtwo; // inputSampleL to the third power
|
||||
inputSampleL -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleL += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleL -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleL += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleL -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleL *= 0.92;
|
||||
//end TapeHack section
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908);
|
||||
addtwo = inputSampleR * inputSampleR;
|
||||
empower = inputSampleR * addtwo; // inputSampleR to the third power
|
||||
inputSampleR -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleR += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleR -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleR += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleR -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleR *= 0.92;
|
||||
//end TapeHack section
|
||||
//Discontapeity
|
||||
noise = 1.0-((double(fpdR)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipR == true) { //current will be over
|
||||
if (inputSampleR<lastSampleR) lastSampleR=(0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipR = false;
|
||||
if (inputSampleR>0.9085097) {wasPosClipR=true;inputSampleR=(0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
if (wasNegClipR == true) { //current will be -over
|
||||
if (inputSampleR > lastSampleR) lastSampleR=(-0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = -0.94;
|
||||
} wasNegClipR = false;
|
||||
if (inputSampleR<-0.9085097) {wasNegClipR=true;inputSampleR=(-0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
slewR[spacing*2] = fabs(lastSampleR-inputSampleR);
|
||||
for (int x = spacing*2; x > 0; x--) slewR[x-1] = slewR[x];
|
||||
intermediateR[spacing] = inputSampleR; inputSampleR = lastSampleR;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateR[x-1] = intermediateR[x];} lastSampleR = intermediateR[0];
|
||||
if (wasPosClipR || wasNegClipR) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleR += intermediateR[x];
|
||||
lastSampleR /= spacing;
|
||||
} finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewR[x]) finalSlew = slewR[x];
|
||||
postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleR > postclip) inputSampleR = postclip; if (inputSampleR < -postclip) inputSampleR = -postclip;
|
||||
//end ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -551,10 +551,12 @@ void kRockstar::processReplacing(float **inputs, float **outputs, VstInt32 sampl
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -1111,10 +1113,12 @@ void kRockstar::processDoubleReplacing(double **inputs, double **outputs, VstInt
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ void BezEQ3::BezEQ3Kernel::Process( const Float32 *inSourceP,
|
|||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -246,7 +246,7 @@ void Density3::Density3Kernel::Process( const Float32 *inSourceP,
|
|||
//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));
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -223,15 +223,17 @@ OSStatus Dynamics3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
|
|||
overallscale *= GetSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(GetParameter( kParam_A )+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(GetParameter( kParam_A )+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-GetParameter( kParam_B ))*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-GetParameter( kParam_C ))*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-GetParameter( kParam_D ),1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-GetParameter( kParam_D ),1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
|
|
@ -249,25 +251,25 @@ OSStatus Dynamics3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSampleL = (drySampleL*bezRatio)+(inputSampleL*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezRatio)+(inputSampleR*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSampleL = (drySampleL*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleL*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleR*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*outputL = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -54,15 +54,15 @@
|
|||
#pragma mark ____Dynamics3 Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamA = 0.999;
|
||||
static const float kDefaultValue_ParamA = 1.0;
|
||||
static const float kDefaultValue_ParamB = 0.382;
|
||||
static const float kDefaultValue_ParamC = 0.618;
|
||||
static const float kDefaultValue_ParamD = 0.618;
|
||||
static const float kDefaultValue_ParamD = 1.0;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Thresh");
|
||||
static CFStringRef kParameterBName = CFSTR("Attack");
|
||||
static CFStringRef kParameterCName = CFSTR("Release");
|
||||
static CFStringRef kParameterDName = CFSTR("Ratio");
|
||||
static CFStringRef kParameterDName = CFSTR("Dry/Wet");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -205,15 +205,17 @@ void Dynamics3Mono::Dynamics3MonoKernel::Process( const Float32 *inSourceP,
|
|||
overallscale *= GetSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(GetParameter( kParam_A )+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(GetParameter( kParam_A )+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-GetParameter( kParam_B ))*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-GetParameter( kParam_C ))*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-GetParameter( kParam_D ),1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-GetParameter( kParam_D ),1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
|
|
@ -227,19 +229,19 @@ void Dynamics3Mono::Dynamics3MonoKernel::Process( const Float32 *inSourceP,
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSample = (drySample*bezRatio)+(inputSample*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSample = (drySample*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSample*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
|
|
|||
|
|
@ -54,15 +54,15 @@
|
|||
#pragma mark ____Dynamics3Mono Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamA = 0.999;
|
||||
static const float kDefaultValue_ParamA = 1.0;
|
||||
static const float kDefaultValue_ParamB = 0.382;
|
||||
static const float kDefaultValue_ParamC = 0.618;
|
||||
static const float kDefaultValue_ParamD = 0.618;
|
||||
static const float kDefaultValue_ParamD = 1.0;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Thresh");
|
||||
static CFStringRef kParameterBName = CFSTR("Attack");
|
||||
static CFStringRef kParameterCName = CFSTR("Release");
|
||||
static CFStringRef kParameterDName = CFSTR("Ratio");
|
||||
static CFStringRef kParameterDName = CFSTR("Dry/Wet");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -221,17 +221,20 @@ OSStatus LRConvolve3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionF
|
|||
}
|
||||
if (iirSample < modulate) iirSample = modulate;
|
||||
modulate = (iirSample*smooth)+(modulate*(1.0-smooth));
|
||||
if (carrier > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0) carrier = -sqrt(carrier/modulate)*modulate;
|
||||
|
||||
if (carrier > 0.0 && modulate > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0 && modulate > 0.0) carrier = -sqrt(-carrier/modulate)*modulate;
|
||||
inputSampleL = inputSampleR = carrier;
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*outputL = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
47
plugins/MacSignedAU/Longhand/Info.plist
Executable file
47
plugins/MacSignedAU/Longhand/Info.plist
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
<?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>AudioComponents</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>${PRODUCT_NAME:identifier} AU</string>
|
||||
<key>factoryFunction</key>
|
||||
<string>${PRODUCT_NAME:identifier}Factory</string>
|
||||
<key>manufacturer</key>
|
||||
<string>Dthr</string>
|
||||
<key>name</key>
|
||||
<string>Airwindows: ${PRODUCT_NAME:identifier}</string>
|
||||
<key>subtype</key>
|
||||
<string>lonh</string>
|
||||
<key>type</key>
|
||||
<string>aufx</string>
|
||||
<key>version</key>
|
||||
<integer>65536</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</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>
|
||||
245
plugins/MacSignedAU/Longhand/Longhand.cpp
Executable file
245
plugins/MacSignedAU/Longhand/Longhand.cpp
Executable file
|
|
@ -0,0 +1,245 @@
|
|||
/*
|
||||
* File: Longhand.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 4/29/26
|
||||
*
|
||||
* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
Longhand.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "Longhand.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
AUDIOCOMPONENT_ENTRY(AUBaseFactory, Longhand)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::Longhand
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Longhand::Longhand(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_A, kDefaultValue_ParamA );
|
||||
SetParameter(kParam_B, kDefaultValue_ParamB );
|
||||
SetParameter(kParam_C, kDefaultValue_ParamC );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Longhand::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Longhand::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_A:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterAName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamA;
|
||||
break;
|
||||
case kParam_B:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterBName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamB;
|
||||
break;
|
||||
case kParam_C:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterCName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamC;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Longhand::GetPropertyInfo (AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable)
|
||||
{
|
||||
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Longhand::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// Longhand::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Longhand::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____LonghandEffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::LonghandKernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Longhand::LonghandKernel::Reset()
|
||||
{
|
||||
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Longhand::LonghandKernel::Process
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Longhand::LonghandKernel::Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence )
|
||||
{
|
||||
UInt32 nSampleFrames = inFramesToProcess;
|
||||
const Float32 *sourceP = inSourceP;
|
||||
Float32 *destP = inDestP;
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= GetSampleRate();
|
||||
|
||||
double inputGain = pow(GetParameter( kParam_A ),2.0)*7.72;//normalized input does not wavefold too far
|
||||
double outputGain = GetParameter( kParam_B );
|
||||
double wet = GetParameter( kParam_C );
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
double inputSampleL = *sourceP;
|
||||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpd * 1.18e-17;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-1.0),1.0);
|
||||
double drySampleL = inputSampleL;
|
||||
|
||||
if (inputGain != 1.0) {
|
||||
inputSampleL *= inputGain;
|
||||
drySampleL *= inputGain;
|
||||
}
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
if (outputGain != 1.0) {
|
||||
inputSampleL *= outputGain;
|
||||
}
|
||||
|
||||
if (wet !=1.0) {
|
||||
inputSampleL = (inputSampleL * wet) + (drySampleL * (1.0-wet));
|
||||
}
|
||||
|
||||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSampleL;
|
||||
|
||||
sourceP += inNumChannels; destP += inNumChannels;
|
||||
}
|
||||
}
|
||||
|
||||
2
plugins/MacSignedAU/Longhand/Longhand.exp
Executable file
2
plugins/MacSignedAU/Longhand/Longhand.exp
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
_LonghandEntry
|
||||
_LonghandFactory
|
||||
140
plugins/MacSignedAU/Longhand/Longhand.h
Executable file
140
plugins/MacSignedAU/Longhand/Longhand.h
Executable file
|
|
@ -0,0 +1,140 @@
|
|||
/*
|
||||
* File: Longhand.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 4/29/26
|
||||
*
|
||||
* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license
|
||||
*
|
||||
* 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 "LonghandVersion.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __Longhand_h__
|
||||
#define __Longhand_h__
|
||||
|
||||
|
||||
#pragma mark ____Longhand Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamA = 0.445;
|
||||
static const float kDefaultValue_ParamB = 1.0;
|
||||
static const float kDefaultValue_ParamC = 1.0;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Input");
|
||||
static CFStringRef kParameterBName = CFSTR("Output");
|
||||
static CFStringRef kParameterCName = CFSTR("Dry/Wet");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
kParam_B =1,
|
||||
kParam_C =2,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=3
|
||||
};
|
||||
|
||||
#pragma mark ____Longhand
|
||||
class Longhand : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
Longhand(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~Longhand () { delete mDebugDispatcher; }
|
||||
#endif
|
||||
|
||||
virtual AUKernelBase * NewKernel() { return new LonghandKernel(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 kLonghandVersion; }
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
class LonghandKernel : public AUKernelBase // most of the real work happens here
|
||||
{
|
||||
public:
|
||||
LonghandKernel(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:
|
||||
uint32_t fpd;
|
||||
};
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacSignedAU/Longhand/Longhand.r
Executable file
61
plugins/MacSignedAU/Longhand/Longhand.r
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: Longhand.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 4/29/26
|
||||
*
|
||||
* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license
|
||||
*
|
||||
* 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 "LonghandVersion.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_Longhand 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Longhand~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_Longhand
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE Longhand_COMP_SUBTYPE
|
||||
#define COMP_MANUF Longhand_COMP_MANF
|
||||
|
||||
#define VERSION kLonghandVersion
|
||||
#define NAME "Airwindows: Longhand"
|
||||
#define DESCRIPTION "Longhand AU"
|
||||
#define ENTRY_POINT "LonghandEntry"
|
||||
|
||||
#include "AUResources.r"
|
||||
1358
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.mode1v3
Executable file
1358
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
137
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.pbxuser
Executable file
137
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,137 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Longhand */;
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
137,
|
||||
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 = 799701502;
|
||||
PBXWorkspaceStateSaveDate = 799701502;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B85FE1C2FA3E39100F0F89A /* PlistBookmark */ = 8B85FE1C2FA3E39100F0F89A /* PlistBookmark */;
|
||||
8B9472762FAA7AA500C74D02 /* PBXTextBookmark */ = 8B9472762FAA7AA500C74D02 /* PBXTextBookmark */;
|
||||
8B9472772FAA7AA500C74D02 /* PBXTextBookmark */ = 8B9472772FAA7AA500C74D02 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B85FE1C2FA3E39100F0F89A /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
CFBundleName,
|
||||
);
|
||||
name = /Users/christopherjohnson/Desktop/Longhand/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8B9472762FAA7AA500C74D02 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Longhand.cpp */;
|
||||
name = "Longhand.cpp: 237";
|
||||
rLen = 10;
|
||||
rLoc = 10728;
|
||||
rType = 0;
|
||||
vrLen = 65;
|
||||
vrLoc = 3;
|
||||
};
|
||||
8B9472772FAA7AA500C74D02 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Longhand.cpp */;
|
||||
name = "Longhand.cpp: 237";
|
||||
rLen = 10;
|
||||
rLoc = 10728;
|
||||
rType = 0;
|
||||
vrLen = 65;
|
||||
vrLoc = 3;
|
||||
};
|
||||
8BA05A660720730100365D66 /* Longhand.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {948, 4536}}";
|
||||
sepNavSelRange = "{10728, 10}";
|
||||
sepNavVisRange = "{3, 65}";
|
||||
sepNavWindowFrame = "{{604, 38}, {836, 840}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* LonghandVersion.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
|
||||
sepNavSelRange = "{2899, 0}";
|
||||
sepNavVisRange = "{861, 2101}";
|
||||
sepNavWindowFrame = "{{621, 38}, {1102, 840}}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* Longhand.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 2484}}";
|
||||
sepNavSelRange = "{2872, 0}";
|
||||
sepNavVisRange = "{2969, 1258}";
|
||||
sepNavWindowFrame = "{{821, 38}, {1102, 840}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1507
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.perspectivev3
Executable file
1507
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
965
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/project.pbxproj
Executable file
965
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,965 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8BA05A6B0720730100365D66 /* Longhand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* Longhand.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* LonghandVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* LonghandVersion.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 */; };
|
||||
8BC6025C073B072D006C4272 /* Longhand.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* Longhand.h */; };
|
||||
8BD887C42FAC0EDE0045683F /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8873C2FAC0EDE0045683F /* CAExtAudioFile.h */; };
|
||||
8BD887C52FAC0EDE0045683F /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8873D2FAC0EDE0045683F /* CACFMachPort.h */; };
|
||||
8BD887C62FAC0EDE0045683F /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8873E2FAC0EDE0045683F /* CABool.h */; };
|
||||
8BD887C72FAC0EDE0045683F /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8873F2FAC0EDE0045683F /* CAComponent.cpp */; };
|
||||
8BD887C82FAC0EDE0045683F /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887402FAC0EDE0045683F /* CADebugger.h */; };
|
||||
8BD887C92FAC0EDE0045683F /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887412FAC0EDE0045683F /* CACFNumber.cpp */; };
|
||||
8BD887CA2FAC0EDE0045683F /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887422FAC0EDE0045683F /* CAGuard.h */; };
|
||||
8BD887CB2FAC0EDE0045683F /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887432FAC0EDE0045683F /* CAAtomic.h */; };
|
||||
8BD887CC2FAC0EDE0045683F /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887442FAC0EDE0045683F /* CAStreamBasicDescription.h */; };
|
||||
8BD887CD2FAC0EDE0045683F /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887452FAC0EDE0045683F /* CACFObject.h */; };
|
||||
8BD887CE2FAC0EDE0045683F /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887462FAC0EDE0045683F /* CAStreamRangedDescription.h */; };
|
||||
8BD887CF2FAC0EDE0045683F /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887472FAC0EDE0045683F /* CATokenMap.h */; };
|
||||
8BD887D02FAC0EDE0045683F /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887482FAC0EDE0045683F /* CAComponent.h */; };
|
||||
8BD887D12FAC0EDE0045683F /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887492FAC0EDE0045683F /* CAAudioBufferList.h */; };
|
||||
8BD887D22FAC0EDE0045683F /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8874A2FAC0EDE0045683F /* CAAudioUnit.h */; };
|
||||
8BD887D32FAC0EDE0045683F /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8874B2FAC0EDE0045683F /* CAAUParameter.h */; };
|
||||
8BD887D42FAC0EDE0045683F /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8874C2FAC0EDE0045683F /* CAException.h */; };
|
||||
8BD887D52FAC0EDE0045683F /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8874D2FAC0EDE0045683F /* CAAUProcessor.cpp */; };
|
||||
8BD887D62FAC0EDE0045683F /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8874E2FAC0EDE0045683F /* CAAUProcessor.h */; };
|
||||
8BD887D72FAC0EDE0045683F /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8874F2FAC0EDE0045683F /* CAProcess.h */; };
|
||||
8BD887D82FAC0EDE0045683F /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887502FAC0EDE0045683F /* CACFDictionary.h */; };
|
||||
8BD887D92FAC0EDE0045683F /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887512FAC0EDE0045683F /* CAPThread.h */; };
|
||||
8BD887DA2FAC0EDE0045683F /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887522FAC0EDE0045683F /* CAAUParameter.cpp */; };
|
||||
8BD887DB2FAC0EDE0045683F /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887532FAC0EDE0045683F /* CAAudioTimeStamp.h */; };
|
||||
8BD887DC2FAC0EDE0045683F /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887542FAC0EDE0045683F /* CAFilePathUtils.cpp */; };
|
||||
8BD887DD2FAC0EDE0045683F /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887552FAC0EDE0045683F /* CAAudioValueRange.h */; };
|
||||
8BD887DE2FAC0EDE0045683F /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887562FAC0EDE0045683F /* CAVectorUnitTypes.h */; };
|
||||
8BD887DF2FAC0EDE0045683F /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887572FAC0EDE0045683F /* CAAudioChannelLayoutObject.cpp */; };
|
||||
8BD887E02FAC0EDE0045683F /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887582FAC0EDE0045683F /* CAGuard.cpp */; };
|
||||
8BD887E12FAC0EDE0045683F /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887592FAC0EDE0045683F /* CACFNumber.h */; };
|
||||
8BD887E22FAC0EDE0045683F /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8875A2FAC0EDE0045683F /* CACFDistributedNotification.cpp */; };
|
||||
8BD887E32FAC0EDE0045683F /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8875B2FAC0EDE0045683F /* CACFString.h */; };
|
||||
8BD887E42FAC0EDE0045683F /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8875C2FAC0EDE0045683F /* CAAUMIDIMapManager.cpp */; };
|
||||
8BD887E52FAC0EDE0045683F /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8875D2FAC0EDE0045683F /* CAComponentDescription.cpp */; };
|
||||
8BD887E62FAC0EDE0045683F /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8875E2FAC0EDE0045683F /* CAHostTimeBase.h */; };
|
||||
8BD887E72FAC0EDE0045683F /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8875F2FAC0EDE0045683F /* CADebugMacros.cpp */; };
|
||||
8BD887E82FAC0EDE0045683F /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887602FAC0EDE0045683F /* CAAudioFileFormats.h */; };
|
||||
8BD887E92FAC0EDE0045683F /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887612FAC0EDE0045683F /* CAAUMIDIMapManager.h */; };
|
||||
8BD887EA2FAC0EDE0045683F /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887622FAC0EDE0045683F /* CACFDictionary.cpp */; };
|
||||
8BD887EB2FAC0EDE0045683F /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887632FAC0EDE0045683F /* CAMutex.h */; };
|
||||
8BD887EC2FAC0EDE0045683F /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887642FAC0EDE0045683F /* CACFString.cpp */; };
|
||||
8BD887ED2FAC0EDE0045683F /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887652FAC0EDE0045683F /* CASettingsStorage.h */; };
|
||||
8BD887EE2FAC0EDE0045683F /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887662FAC0EDE0045683F /* CADebugPrintf.h */; };
|
||||
8BD887EF2FAC0EDE0045683F /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887672FAC0EDE0045683F /* CAXException.cpp */; };
|
||||
8BD887F02FAC0EDE0045683F /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887682FAC0EDE0045683F /* CAAUMIDIMap.h */; };
|
||||
8BD887F12FAC0EDE0045683F /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887692FAC0EDE0045683F /* AUParamInfo.h */; };
|
||||
8BD887F22FAC0EDE0045683F /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8876A2FAC0EDE0045683F /* CABitOperations.h */; };
|
||||
8BD887F32FAC0EDE0045683F /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8876B2FAC0EDE0045683F /* CACFPreferences.cpp */; };
|
||||
8BD887F42FAC0EDE0045683F /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8876C2FAC0EDE0045683F /* CABundleLocker.h */; };
|
||||
8BD887F52FAC0EDE0045683F /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8876D2FAC0EDE0045683F /* CAPropertyAddress.h */; };
|
||||
8BD887F62FAC0EDE0045683F /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8876E2FAC0EDE0045683F /* CAXException.h */; };
|
||||
8BD887F72FAC0EDE0045683F /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8876F2FAC0EDE0045683F /* CAAudioChannelLayout.cpp */; };
|
||||
8BD887F82FAC0EDE0045683F /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887702FAC0EDE0045683F /* CAThreadSafeList.h */; };
|
||||
8BD887F92FAC0EDE0045683F /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887712FAC0EDE0045683F /* CAAudioUnitOutputCapturer.h */; };
|
||||
8BD887FA2FAC0EDE0045683F /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887722FAC0EDE0045683F /* AUParamInfo.cpp */; };
|
||||
8BD887FB2FAC0EDE0045683F /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887732FAC0EDE0045683F /* CASharedLibrary.cpp */; };
|
||||
8BD887FC2FAC0EDE0045683F /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887742FAC0EDE0045683F /* CAAUMIDIMap.cpp */; };
|
||||
8BD887FD2FAC0EDE0045683F /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887752FAC0EDE0045683F /* CALogMacros.h */; };
|
||||
8BD887FE2FAC0EDE0045683F /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887762FAC0EDE0045683F /* CACFMessagePort.cpp */; };
|
||||
8BD887FF2FAC0EDE0045683F /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887772FAC0EDE0045683F /* CARingBuffer.h */; };
|
||||
8BD888002FAC0EDE0045683F /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887782FAC0EDE0045683F /* AUOutputBL.cpp */; };
|
||||
8BD888012FAC0EDE0045683F /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887792FAC0EDE0045683F /* CABufferList.h */; };
|
||||
8BD888022FAC0EDE0045683F /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8877A2FAC0EDE0045683F /* CASharedLibrary.h */; };
|
||||
8BD888032FAC0EDE0045683F /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8877B2FAC0EDE0045683F /* CACFData.h */; };
|
||||
8BD888042FAC0EDE0045683F /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8877C2FAC0EDE0045683F /* CAStreamRangedDescription.cpp */; };
|
||||
8BD888052FAC0EDE0045683F /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8877D2FAC0EDE0045683F /* CAPThread.cpp */; };
|
||||
8BD888062FAC0EDE0045683F /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8877E2FAC0EDE0045683F /* CAAutoDisposer.h */; };
|
||||
8BD888072FAC0EDE0045683F /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8877F2FAC0EDE0045683F /* CACFPreferences.h */; };
|
||||
8BD888082FAC0EDE0045683F /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887802FAC0EDE0045683F /* CAVectorUnit.cpp */; };
|
||||
8BD888092FAC0EDE0045683F /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887812FAC0EDE0045683F /* CAComponentDescription.h */; };
|
||||
8BD8880A2FAC0EDE0045683F /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887822FAC0EDE0045683F /* CADebugMacros.h */; };
|
||||
8BD8880B2FAC0EDE0045683F /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887832FAC0EDE0045683F /* AUOutputBL.h */; };
|
||||
8BD8880C2FAC0EDE0045683F /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887842FAC0EDE0045683F /* CADebugPrintf.cpp */; };
|
||||
8BD8880D2FAC0EDE0045683F /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887852FAC0EDE0045683F /* CARingBuffer.cpp */; };
|
||||
8BD8880E2FAC0EDE0045683F /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887862FAC0EDE0045683F /* CACFPlugIn.h */; };
|
||||
8BD8880F2FAC0EDE0045683F /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887872FAC0EDE0045683F /* CASettingsStorage.cpp */; };
|
||||
8BD888102FAC0EDE0045683F /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887882FAC0EDE0045683F /* CAMixMap.h */; };
|
||||
8BD888112FAC0EDE0045683F /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887892FAC0EDE0045683F /* CACFDistributedNotification.h */; };
|
||||
8BD888122FAC0EDE0045683F /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8878A2FAC0EDE0045683F /* CAFilePathUtils.h */; };
|
||||
8BD888132FAC0EDE0045683F /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8878B2FAC0EDE0045683F /* CATink.h */; };
|
||||
8BD888142FAC0EDF0045683F /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8878C2FAC0EDE0045683F /* CAStreamBasicDescription.cpp */; };
|
||||
8BD888152FAC0EDF0045683F /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8878D2FAC0EDE0045683F /* CAAudioChannelLayout.h */; };
|
||||
8BD888162FAC0EDF0045683F /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8878E2FAC0EDE0045683F /* CAProcess.cpp */; };
|
||||
8BD888172FAC0EDF0045683F /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8878F2FAC0EDE0045683F /* CAHostTimeBase.cpp */; };
|
||||
8BD888182FAC0EDF0045683F /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887902FAC0EDE0045683F /* CAPersistence.cpp */; };
|
||||
8BD888192FAC0EDF0045683F /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887912FAC0EDE0045683F /* CAAudioBufferList.cpp */; };
|
||||
8BD8881A2FAC0EDF0045683F /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887922FAC0EDE0045683F /* CAAudioTimeStamp.cpp */; };
|
||||
8BD8881B2FAC0EDF0045683F /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887932FAC0EDE0045683F /* CAVectorUnit.h */; };
|
||||
8BD8881C2FAC0EDF0045683F /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887942FAC0EDE0045683F /* CAByteOrder.h */; };
|
||||
8BD8881D2FAC0EDF0045683F /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887952FAC0EDE0045683F /* CACFArray.h */; };
|
||||
8BD8881E2FAC0EDF0045683F /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887962FAC0EDE0045683F /* CAAtomicStack.h */; };
|
||||
8BD8881F2FAC0EDF0045683F /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887972FAC0EDE0045683F /* CAReferenceCounted.h */; };
|
||||
8BD888202FAC0EDF0045683F /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887982FAC0EDE0045683F /* CACFMachPort.cpp */; };
|
||||
8BD888212FAC0EDF0045683F /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887992FAC0EDE0045683F /* CABufferList.cpp */; };
|
||||
8BD888222FAC0EDF0045683F /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8879A2FAC0EDE0045683F /* CAMutex.cpp */; };
|
||||
8BD888232FAC0EDF0045683F /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8879B2FAC0EDE0045683F /* CADebugger.cpp */; };
|
||||
8BD888242FAC0EDF0045683F /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8879C2FAC0EDE0045683F /* CABundleLocker.cpp */; };
|
||||
8BD888252FAC0EDF0045683F /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8879D2FAC0EDE0045683F /* CAAudioFileFormats.cpp */; };
|
||||
8BD888262FAC0EDF0045683F /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8879E2FAC0EDE0045683F /* CAMath.h */; };
|
||||
8BD888272FAC0EDF0045683F /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8879F2FAC0EDE0045683F /* CACFArray.cpp */; };
|
||||
8BD888282FAC0EDF0045683F /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887A02FAC0EDE0045683F /* CACFMessagePort.h */; };
|
||||
8BD888292FAC0EDF0045683F /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887A12FAC0EDE0045683F /* CAAudioValueRange.cpp */; };
|
||||
8BD8882A2FAC0EDF0045683F /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887A22FAC0EDE0045683F /* CAAudioUnit.cpp */; };
|
||||
8BD8882B2FAC0EDF0045683F /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887A62FAC0EDE0045683F /* AUViewLocalizedStringKeys.h */; };
|
||||
8BD8882C2FAC0EDF0045683F /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887A82FAC0EDE0045683F /* ComponentBase.cpp */; };
|
||||
8BD8882D2FAC0EDF0045683F /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887A92FAC0EDE0045683F /* AUScopeElement.cpp */; };
|
||||
8BD8882E2FAC0EDF0045683F /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887AA2FAC0EDE0045683F /* ComponentBase.h */; };
|
||||
8BD8882F2FAC0EDF0045683F /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887AB2FAC0EDE0045683F /* AUBase.cpp */; };
|
||||
8BD888302FAC0EDF0045683F /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887AC2FAC0EDE0045683F /* AUInputElement.h */; };
|
||||
8BD888312FAC0EDF0045683F /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887AD2FAC0EDE0045683F /* AUBase.h */; };
|
||||
8BD888322FAC0EDF0045683F /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887AE2FAC0EDE0045683F /* AUPlugInDispatch.h */; };
|
||||
8BD888332FAC0EDF0045683F /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887AF2FAC0EDE0045683F /* AUDispatch.h */; };
|
||||
8BD888342FAC0EDF0045683F /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887B02FAC0EDE0045683F /* AUOutputElement.cpp */; };
|
||||
8BD888362FAC0EDF0045683F /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887B22FAC0EDE0045683F /* AUPlugInDispatch.cpp */; };
|
||||
8BD888372FAC0EDF0045683F /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887B32FAC0EDE0045683F /* AUOutputElement.h */; };
|
||||
8BD888382FAC0EDF0045683F /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887B42FAC0EDE0045683F /* AUDispatch.cpp */; };
|
||||
8BD888392FAC0EDF0045683F /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887B52FAC0EDE0045683F /* AUScopeElement.h */; };
|
||||
8BD8883A2FAC0EDF0045683F /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887B62FAC0EDE0045683F /* AUInputElement.cpp */; };
|
||||
8BD8883B2FAC0EDF0045683F /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887B82FAC0EDE0045683F /* AUEffectBase.cpp */; };
|
||||
8BD8883C2FAC0EDF0045683F /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887B92FAC0EDE0045683F /* AUEffectBase.h */; };
|
||||
8BD8883D2FAC0EDF0045683F /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887BB2FAC0EDE0045683F /* AUTimestampGenerator.h */; };
|
||||
8BD8883E2FAC0EDF0045683F /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887BC2FAC0EDE0045683F /* AUBaseHelper.cpp */; };
|
||||
8BD8883F2FAC0EDF0045683F /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887BD2FAC0EDE0045683F /* AUSilentTimeout.h */; };
|
||||
8BD888402FAC0EDF0045683F /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887BE2FAC0EDE0045683F /* AUInputFormatConverter.h */; };
|
||||
8BD888412FAC0EDF0045683F /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887BF2FAC0EDE0045683F /* AUTimestampGenerator.cpp */; };
|
||||
8BD888422FAC0EDF0045683F /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD887C02FAC0EDE0045683F /* AUBuffer.cpp */; };
|
||||
8BD888432FAC0EDF0045683F /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887C12FAC0EDE0045683F /* AUMIDIDefs.h */; };
|
||||
8BD888442FAC0EDF0045683F /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887C22FAC0EDE0045683F /* AUBuffer.h */; };
|
||||
8BD888452FAC0EDF0045683F /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887C32FAC0EDE0045683F /* AUBaseHelper.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* Longhand.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Longhand.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* Longhand.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = Longhand.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* Longhand.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = Longhand.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* LonghandVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = LonghandVersion.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>"; };
|
||||
8BC6025B073B072D006C4272 /* Longhand.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Longhand.h; sourceTree = "<group>"; };
|
||||
8BD8873C2FAC0EDE0045683F /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
|
||||
8BD8873D2FAC0EDE0045683F /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
|
||||
8BD8873E2FAC0EDE0045683F /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
|
||||
8BD8873F2FAC0EDE0045683F /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
|
||||
8BD887402FAC0EDE0045683F /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
|
||||
8BD887412FAC0EDE0045683F /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
|
||||
8BD887422FAC0EDE0045683F /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
|
||||
8BD887432FAC0EDE0045683F /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
|
||||
8BD887442FAC0EDE0045683F /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8BD887452FAC0EDE0045683F /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
|
||||
8BD887462FAC0EDE0045683F /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
|
||||
8BD887472FAC0EDE0045683F /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
|
||||
8BD887482FAC0EDE0045683F /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
|
||||
8BD887492FAC0EDE0045683F /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
|
||||
8BD8874A2FAC0EDE0045683F /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
|
||||
8BD8874B2FAC0EDE0045683F /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8BD8874C2FAC0EDE0045683F /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
|
||||
8BD8874D2FAC0EDE0045683F /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
|
||||
8BD8874E2FAC0EDE0045683F /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
|
||||
8BD8874F2FAC0EDE0045683F /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
|
||||
8BD887502FAC0EDE0045683F /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
|
||||
8BD887512FAC0EDE0045683F /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
|
||||
8BD887522FAC0EDE0045683F /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8BD887532FAC0EDE0045683F /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
|
||||
8BD887542FAC0EDE0045683F /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
|
||||
8BD887552FAC0EDE0045683F /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
|
||||
8BD887562FAC0EDE0045683F /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8BD887572FAC0EDE0045683F /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
|
||||
8BD887582FAC0EDE0045683F /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
|
||||
8BD887592FAC0EDE0045683F /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
|
||||
8BD8875A2FAC0EDE0045683F /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
|
||||
8BD8875B2FAC0EDE0045683F /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
|
||||
8BD8875C2FAC0EDE0045683F /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
|
||||
8BD8875D2FAC0EDE0045683F /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
|
||||
8BD8875E2FAC0EDE0045683F /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
|
||||
8BD8875F2FAC0EDE0045683F /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
|
||||
8BD887602FAC0EDE0045683F /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
|
||||
8BD887612FAC0EDE0045683F /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
|
||||
8BD887622FAC0EDE0045683F /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
|
||||
8BD887632FAC0EDE0045683F /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8BD887642FAC0EDE0045683F /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
|
||||
8BD887652FAC0EDE0045683F /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
|
||||
8BD887662FAC0EDE0045683F /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
|
||||
8BD887672FAC0EDE0045683F /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
|
||||
8BD887682FAC0EDE0045683F /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
|
||||
8BD887692FAC0EDE0045683F /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
|
||||
8BD8876A2FAC0EDE0045683F /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
|
||||
8BD8876B2FAC0EDE0045683F /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
|
||||
8BD8876C2FAC0EDE0045683F /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
|
||||
8BD8876D2FAC0EDE0045683F /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
|
||||
8BD8876E2FAC0EDE0045683F /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
|
||||
8BD8876F2FAC0EDE0045683F /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8BD887702FAC0EDE0045683F /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
|
||||
8BD887712FAC0EDE0045683F /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
|
||||
8BD887722FAC0EDE0045683F /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
|
||||
8BD887732FAC0EDE0045683F /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
|
||||
8BD887742FAC0EDE0045683F /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
|
||||
8BD887752FAC0EDE0045683F /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
|
||||
8BD887762FAC0EDE0045683F /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
|
||||
8BD887772FAC0EDE0045683F /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
|
||||
8BD887782FAC0EDE0045683F /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
|
||||
8BD887792FAC0EDE0045683F /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
|
||||
8BD8877A2FAC0EDE0045683F /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
|
||||
8BD8877B2FAC0EDE0045683F /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
|
||||
8BD8877C2FAC0EDE0045683F /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
|
||||
8BD8877D2FAC0EDE0045683F /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
|
||||
8BD8877E2FAC0EDE0045683F /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
|
||||
8BD8877F2FAC0EDE0045683F /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
|
||||
8BD887802FAC0EDE0045683F /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
8BD887812FAC0EDE0045683F /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
|
||||
8BD887822FAC0EDE0045683F /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
|
||||
8BD887832FAC0EDE0045683F /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
|
||||
8BD887842FAC0EDE0045683F /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
|
||||
8BD887852FAC0EDE0045683F /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BD887862FAC0EDE0045683F /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
|
||||
8BD887872FAC0EDE0045683F /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
|
||||
8BD887882FAC0EDE0045683F /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
|
||||
8BD887892FAC0EDE0045683F /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
|
||||
8BD8878A2FAC0EDE0045683F /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
|
||||
8BD8878B2FAC0EDE0045683F /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
|
||||
8BD8878C2FAC0EDE0045683F /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8BD8878D2FAC0EDE0045683F /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8BD8878E2FAC0EDE0045683F /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
|
||||
8BD8878F2FAC0EDE0045683F /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
|
||||
8BD887902FAC0EDE0045683F /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
|
||||
8BD887912FAC0EDE0045683F /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
|
||||
8BD887922FAC0EDE0045683F /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
|
||||
8BD887932FAC0EDE0045683F /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
8BD887942FAC0EDE0045683F /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
|
||||
8BD887952FAC0EDE0045683F /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
|
||||
8BD887962FAC0EDE0045683F /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
|
||||
8BD887972FAC0EDE0045683F /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
|
||||
8BD887982FAC0EDE0045683F /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
|
||||
8BD887992FAC0EDE0045683F /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
|
||||
8BD8879A2FAC0EDE0045683F /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8BD8879B2FAC0EDE0045683F /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
|
||||
8BD8879C2FAC0EDE0045683F /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
|
||||
8BD8879D2FAC0EDE0045683F /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
|
||||
8BD8879E2FAC0EDE0045683F /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
|
||||
8BD8879F2FAC0EDE0045683F /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
|
||||
8BD887A02FAC0EDE0045683F /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
|
||||
8BD887A12FAC0EDE0045683F /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
|
||||
8BD887A22FAC0EDE0045683F /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
|
||||
8BD887A62FAC0EDE0045683F /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
|
||||
8BD887A82FAC0EDE0045683F /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8BD887A92FAC0EDE0045683F /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8BD887AA2FAC0EDE0045683F /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8BD887AB2FAC0EDE0045683F /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8BD887AC2FAC0EDE0045683F /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8BD887AD2FAC0EDE0045683F /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8BD887AE2FAC0EDE0045683F /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
|
||||
8BD887AF2FAC0EDE0045683F /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8BD887B02FAC0EDE0045683F /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8BD887B12FAC0EDE0045683F /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8BD887B22FAC0EDE0045683F /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BD887B32FAC0EDE0045683F /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8BD887B42FAC0EDE0045683F /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BD887B52FAC0EDE0045683F /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8BD887B62FAC0EDE0045683F /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8BD887B82FAC0EDE0045683F /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8BD887B92FAC0EDE0045683F /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8BD887BB2FAC0EDE0045683F /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8BD887BC2FAC0EDE0045683F /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
|
||||
8BD887BD2FAC0EDE0045683F /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8BD887BE2FAC0EDE0045683F /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8BD887BF2FAC0EDE0045683F /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
|
||||
8BD887C02FAC0EDE0045683F /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BD887C12FAC0EDE0045683F /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
|
||||
8BD887C22FAC0EDE0045683F /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8BD887C32FAC0EDE0045683F /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
|
||||
8BD888462FAC0F940045683F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* Longhand.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Longhand.component; sourceTree = BUILT_PRODUCTS_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 /* Longhand */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Longhand;
|
||||
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 = (
|
||||
8BD8873A2FAC0EDE0045683F /* CA_SDK */,
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* Longhand.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* Longhand.h */,
|
||||
8BA05A660720730100365D66 /* Longhand.cpp */,
|
||||
8BA05A670720730100365D66 /* Longhand.exp */,
|
||||
8BA05A680720730100365D66 /* Longhand.r */,
|
||||
8BA05A690720730100365D66 /* LonghandVersion.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD8873A2FAC0EDE0045683F /* CA_SDK */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD8873B2FAC0EDE0045683F /* PublicUtility */,
|
||||
8BD887A32FAC0EDE0045683F /* AudioUnits */,
|
||||
);
|
||||
name = CA_SDK;
|
||||
path = ../../../../CA_SDK;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD8873B2FAC0EDE0045683F /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD8873C2FAC0EDE0045683F /* CAExtAudioFile.h */,
|
||||
8BD8873D2FAC0EDE0045683F /* CACFMachPort.h */,
|
||||
8BD8873E2FAC0EDE0045683F /* CABool.h */,
|
||||
8BD8873F2FAC0EDE0045683F /* CAComponent.cpp */,
|
||||
8BD887402FAC0EDE0045683F /* CADebugger.h */,
|
||||
8BD887412FAC0EDE0045683F /* CACFNumber.cpp */,
|
||||
8BD887422FAC0EDE0045683F /* CAGuard.h */,
|
||||
8BD887432FAC0EDE0045683F /* CAAtomic.h */,
|
||||
8BD887442FAC0EDE0045683F /* CAStreamBasicDescription.h */,
|
||||
8BD887452FAC0EDE0045683F /* CACFObject.h */,
|
||||
8BD887462FAC0EDE0045683F /* CAStreamRangedDescription.h */,
|
||||
8BD887472FAC0EDE0045683F /* CATokenMap.h */,
|
||||
8BD887482FAC0EDE0045683F /* CAComponent.h */,
|
||||
8BD887492FAC0EDE0045683F /* CAAudioBufferList.h */,
|
||||
8BD8874A2FAC0EDE0045683F /* CAAudioUnit.h */,
|
||||
8BD8874B2FAC0EDE0045683F /* CAAUParameter.h */,
|
||||
8BD8874C2FAC0EDE0045683F /* CAException.h */,
|
||||
8BD8874D2FAC0EDE0045683F /* CAAUProcessor.cpp */,
|
||||
8BD8874E2FAC0EDE0045683F /* CAAUProcessor.h */,
|
||||
8BD8874F2FAC0EDE0045683F /* CAProcess.h */,
|
||||
8BD887502FAC0EDE0045683F /* CACFDictionary.h */,
|
||||
8BD887512FAC0EDE0045683F /* CAPThread.h */,
|
||||
8BD887522FAC0EDE0045683F /* CAAUParameter.cpp */,
|
||||
8BD887532FAC0EDE0045683F /* CAAudioTimeStamp.h */,
|
||||
8BD887542FAC0EDE0045683F /* CAFilePathUtils.cpp */,
|
||||
8BD887552FAC0EDE0045683F /* CAAudioValueRange.h */,
|
||||
8BD887562FAC0EDE0045683F /* CAVectorUnitTypes.h */,
|
||||
8BD887572FAC0EDE0045683F /* CAAudioChannelLayoutObject.cpp */,
|
||||
8BD887582FAC0EDE0045683F /* CAGuard.cpp */,
|
||||
8BD887592FAC0EDE0045683F /* CACFNumber.h */,
|
||||
8BD8875A2FAC0EDE0045683F /* CACFDistributedNotification.cpp */,
|
||||
8BD8875B2FAC0EDE0045683F /* CACFString.h */,
|
||||
8BD8875C2FAC0EDE0045683F /* CAAUMIDIMapManager.cpp */,
|
||||
8BD8875D2FAC0EDE0045683F /* CAComponentDescription.cpp */,
|
||||
8BD8875E2FAC0EDE0045683F /* CAHostTimeBase.h */,
|
||||
8BD8875F2FAC0EDE0045683F /* CADebugMacros.cpp */,
|
||||
8BD887602FAC0EDE0045683F /* CAAudioFileFormats.h */,
|
||||
8BD887612FAC0EDE0045683F /* CAAUMIDIMapManager.h */,
|
||||
8BD887622FAC0EDE0045683F /* CACFDictionary.cpp */,
|
||||
8BD887632FAC0EDE0045683F /* CAMutex.h */,
|
||||
8BD887642FAC0EDE0045683F /* CACFString.cpp */,
|
||||
8BD887652FAC0EDE0045683F /* CASettingsStorage.h */,
|
||||
8BD887662FAC0EDE0045683F /* CADebugPrintf.h */,
|
||||
8BD887672FAC0EDE0045683F /* CAXException.cpp */,
|
||||
8BD887682FAC0EDE0045683F /* CAAUMIDIMap.h */,
|
||||
8BD887692FAC0EDE0045683F /* AUParamInfo.h */,
|
||||
8BD8876A2FAC0EDE0045683F /* CABitOperations.h */,
|
||||
8BD8876B2FAC0EDE0045683F /* CACFPreferences.cpp */,
|
||||
8BD8876C2FAC0EDE0045683F /* CABundleLocker.h */,
|
||||
8BD8876D2FAC0EDE0045683F /* CAPropertyAddress.h */,
|
||||
8BD8876E2FAC0EDE0045683F /* CAXException.h */,
|
||||
8BD8876F2FAC0EDE0045683F /* CAAudioChannelLayout.cpp */,
|
||||
8BD887702FAC0EDE0045683F /* CAThreadSafeList.h */,
|
||||
8BD887712FAC0EDE0045683F /* CAAudioUnitOutputCapturer.h */,
|
||||
8BD887722FAC0EDE0045683F /* AUParamInfo.cpp */,
|
||||
8BD887732FAC0EDE0045683F /* CASharedLibrary.cpp */,
|
||||
8BD887742FAC0EDE0045683F /* CAAUMIDIMap.cpp */,
|
||||
8BD887752FAC0EDE0045683F /* CALogMacros.h */,
|
||||
8BD887762FAC0EDE0045683F /* CACFMessagePort.cpp */,
|
||||
8BD887772FAC0EDE0045683F /* CARingBuffer.h */,
|
||||
8BD887782FAC0EDE0045683F /* AUOutputBL.cpp */,
|
||||
8BD887792FAC0EDE0045683F /* CABufferList.h */,
|
||||
8BD8877A2FAC0EDE0045683F /* CASharedLibrary.h */,
|
||||
8BD8877B2FAC0EDE0045683F /* CACFData.h */,
|
||||
8BD8877C2FAC0EDE0045683F /* CAStreamRangedDescription.cpp */,
|
||||
8BD8877D2FAC0EDE0045683F /* CAPThread.cpp */,
|
||||
8BD8877E2FAC0EDE0045683F /* CAAutoDisposer.h */,
|
||||
8BD8877F2FAC0EDE0045683F /* CACFPreferences.h */,
|
||||
8BD887802FAC0EDE0045683F /* CAVectorUnit.cpp */,
|
||||
8BD887812FAC0EDE0045683F /* CAComponentDescription.h */,
|
||||
8BD887822FAC0EDE0045683F /* CADebugMacros.h */,
|
||||
8BD887832FAC0EDE0045683F /* AUOutputBL.h */,
|
||||
8BD887842FAC0EDE0045683F /* CADebugPrintf.cpp */,
|
||||
8BD887852FAC0EDE0045683F /* CARingBuffer.cpp */,
|
||||
8BD887862FAC0EDE0045683F /* CACFPlugIn.h */,
|
||||
8BD887872FAC0EDE0045683F /* CASettingsStorage.cpp */,
|
||||
8BD887882FAC0EDE0045683F /* CAMixMap.h */,
|
||||
8BD887892FAC0EDE0045683F /* CACFDistributedNotification.h */,
|
||||
8BD8878A2FAC0EDE0045683F /* CAFilePathUtils.h */,
|
||||
8BD8878B2FAC0EDE0045683F /* CATink.h */,
|
||||
8BD8878C2FAC0EDE0045683F /* CAStreamBasicDescription.cpp */,
|
||||
8BD8878D2FAC0EDE0045683F /* CAAudioChannelLayout.h */,
|
||||
8BD8878E2FAC0EDE0045683F /* CAProcess.cpp */,
|
||||
8BD8878F2FAC0EDE0045683F /* CAHostTimeBase.cpp */,
|
||||
8BD887902FAC0EDE0045683F /* CAPersistence.cpp */,
|
||||
8BD887912FAC0EDE0045683F /* CAAudioBufferList.cpp */,
|
||||
8BD887922FAC0EDE0045683F /* CAAudioTimeStamp.cpp */,
|
||||
8BD887932FAC0EDE0045683F /* CAVectorUnit.h */,
|
||||
8BD887942FAC0EDE0045683F /* CAByteOrder.h */,
|
||||
8BD887952FAC0EDE0045683F /* CACFArray.h */,
|
||||
8BD887962FAC0EDE0045683F /* CAAtomicStack.h */,
|
||||
8BD887972FAC0EDE0045683F /* CAReferenceCounted.h */,
|
||||
8BD887982FAC0EDE0045683F /* CACFMachPort.cpp */,
|
||||
8BD887992FAC0EDE0045683F /* CABufferList.cpp */,
|
||||
8BD8879A2FAC0EDE0045683F /* CAMutex.cpp */,
|
||||
8BD8879B2FAC0EDE0045683F /* CADebugger.cpp */,
|
||||
8BD8879C2FAC0EDE0045683F /* CABundleLocker.cpp */,
|
||||
8BD8879D2FAC0EDE0045683F /* CAAudioFileFormats.cpp */,
|
||||
8BD8879E2FAC0EDE0045683F /* CAMath.h */,
|
||||
8BD8879F2FAC0EDE0045683F /* CACFArray.cpp */,
|
||||
8BD887A02FAC0EDE0045683F /* CACFMessagePort.h */,
|
||||
8BD887A12FAC0EDE0045683F /* CAAudioValueRange.cpp */,
|
||||
8BD887A22FAC0EDE0045683F /* CAAudioUnit.cpp */,
|
||||
);
|
||||
path = PublicUtility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887A32FAC0EDE0045683F /* AudioUnits */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887A42FAC0EDE0045683F /* AUPublic */,
|
||||
);
|
||||
path = AudioUnits;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887A42FAC0EDE0045683F /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887A52FAC0EDE0045683F /* AUViewBase */,
|
||||
8BD887A72FAC0EDE0045683F /* AUBase */,
|
||||
8BD887B72FAC0EDE0045683F /* OtherBases */,
|
||||
8BD887BA2FAC0EDE0045683F /* Utility */,
|
||||
);
|
||||
path = AUPublic;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887A52FAC0EDE0045683F /* AUViewBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887A62FAC0EDE0045683F /* AUViewLocalizedStringKeys.h */,
|
||||
);
|
||||
path = AUViewBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887A72FAC0EDE0045683F /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887A82FAC0EDE0045683F /* ComponentBase.cpp */,
|
||||
8BD887A92FAC0EDE0045683F /* AUScopeElement.cpp */,
|
||||
8BD887AA2FAC0EDE0045683F /* ComponentBase.h */,
|
||||
8BD887AB2FAC0EDE0045683F /* AUBase.cpp */,
|
||||
8BD887AC2FAC0EDE0045683F /* AUInputElement.h */,
|
||||
8BD887AD2FAC0EDE0045683F /* AUBase.h */,
|
||||
8BD887AE2FAC0EDE0045683F /* AUPlugInDispatch.h */,
|
||||
8BD887AF2FAC0EDE0045683F /* AUDispatch.h */,
|
||||
8BD887B02FAC0EDE0045683F /* AUOutputElement.cpp */,
|
||||
8BD887B12FAC0EDE0045683F /* AUResources.r */,
|
||||
8BD887B22FAC0EDE0045683F /* AUPlugInDispatch.cpp */,
|
||||
8BD887B32FAC0EDE0045683F /* AUOutputElement.h */,
|
||||
8BD887B42FAC0EDE0045683F /* AUDispatch.cpp */,
|
||||
8BD887B52FAC0EDE0045683F /* AUScopeElement.h */,
|
||||
8BD887B62FAC0EDE0045683F /* AUInputElement.cpp */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887B72FAC0EDE0045683F /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887B82FAC0EDE0045683F /* AUEffectBase.cpp */,
|
||||
8BD887B92FAC0EDE0045683F /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887BA2FAC0EDE0045683F /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887BB2FAC0EDE0045683F /* AUTimestampGenerator.h */,
|
||||
8BD887BC2FAC0EDE0045683F /* AUBaseHelper.cpp */,
|
||||
8BD887BD2FAC0EDE0045683F /* AUSilentTimeout.h */,
|
||||
8BD887BE2FAC0EDE0045683F /* AUInputFormatConverter.h */,
|
||||
8BD887BF2FAC0EDE0045683F /* AUTimestampGenerator.cpp */,
|
||||
8BD887C02FAC0EDE0045683F /* AUBuffer.cpp */,
|
||||
8BD887C12FAC0EDE0045683F /* AUMIDIDefs.h */,
|
||||
8BD887C22FAC0EDE0045683F /* AUBuffer.h */,
|
||||
8BD887C32FAC0EDE0045683F /* AUBaseHelper.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BD887F42FAC0EDE0045683F /* CABundleLocker.h in Headers */,
|
||||
8BD888152FAC0EDF0045683F /* CAAudioChannelLayout.h in Headers */,
|
||||
8BD8880B2FAC0EDE0045683F /* AUOutputBL.h in Headers */,
|
||||
8BD887E62FAC0EDE0045683F /* CAHostTimeBase.h in Headers */,
|
||||
8BD8882E2FAC0EDF0045683F /* ComponentBase.h in Headers */,
|
||||
8BD8881E2FAC0EDF0045683F /* CAAtomicStack.h in Headers */,
|
||||
8BD887DB2FAC0EDE0045683F /* CAAudioTimeStamp.h in Headers */,
|
||||
8BD887F82FAC0EDE0045683F /* CAThreadSafeList.h in Headers */,
|
||||
8BD887D32FAC0EDE0045683F /* CAAUParameter.h in Headers */,
|
||||
8BD888452FAC0EDF0045683F /* AUBaseHelper.h in Headers */,
|
||||
8BD8883D2FAC0EDF0045683F /* AUTimestampGenerator.h in Headers */,
|
||||
8BD887EE2FAC0EDE0045683F /* CADebugPrintf.h in Headers */,
|
||||
8BD888282FAC0EDF0045683F /* CACFMessagePort.h in Headers */,
|
||||
8BD887D62FAC0EDE0045683F /* CAAUProcessor.h in Headers */,
|
||||
8BD887D22FAC0EDE0045683F /* CAAudioUnit.h in Headers */,
|
||||
8BD8882B2FAC0EDF0045683F /* AUViewLocalizedStringKeys.h in Headers */,
|
||||
8BD888112FAC0EDE0045683F /* CACFDistributedNotification.h in Headers */,
|
||||
8BD887D02FAC0EDE0045683F /* CAComponent.h in Headers */,
|
||||
8BD887DE2FAC0EDE0045683F /* CAVectorUnitTypes.h in Headers */,
|
||||
8BA05A6E0720730100365D66 /* LonghandVersion.h in Headers */,
|
||||
8BD888122FAC0EDE0045683F /* CAFilePathUtils.h in Headers */,
|
||||
8BD887D42FAC0EDE0045683F /* CAException.h in Headers */,
|
||||
8BD887CB2FAC0EDE0045683F /* CAAtomic.h in Headers */,
|
||||
8BD887CA2FAC0EDE0045683F /* CAGuard.h in Headers */,
|
||||
8BD888302FAC0EDF0045683F /* AUInputElement.h in Headers */,
|
||||
8BD888072FAC0EDE0045683F /* CACFPreferences.h in Headers */,
|
||||
8BD8881C2FAC0EDF0045683F /* CAByteOrder.h in Headers */,
|
||||
8BD887FF2FAC0EDE0045683F /* CARingBuffer.h in Headers */,
|
||||
8BD887C62FAC0EDE0045683F /* CABool.h in Headers */,
|
||||
8BD887EB2FAC0EDE0045683F /* CAMutex.h in Headers */,
|
||||
8BD888312FAC0EDF0045683F /* AUBase.h in Headers */,
|
||||
8BC6025C073B072D006C4272 /* Longhand.h in Headers */,
|
||||
8BD887E32FAC0EDE0045683F /* CACFString.h in Headers */,
|
||||
8BD888022FAC0EDE0045683F /* CASharedLibrary.h in Headers */,
|
||||
8BD887CF2FAC0EDE0045683F /* CATokenMap.h in Headers */,
|
||||
8BD887C42FAC0EDE0045683F /* CAExtAudioFile.h in Headers */,
|
||||
8BD887D92FAC0EDE0045683F /* CAPThread.h in Headers */,
|
||||
8BD887F52FAC0EDE0045683F /* CAPropertyAddress.h in Headers */,
|
||||
8BD8881F2FAC0EDF0045683F /* CAReferenceCounted.h in Headers */,
|
||||
8BD888442FAC0EDF0045683F /* AUBuffer.h in Headers */,
|
||||
8BD888262FAC0EDF0045683F /* CAMath.h in Headers */,
|
||||
8BD888062FAC0EDE0045683F /* CAAutoDisposer.h in Headers */,
|
||||
8BD887CD2FAC0EDE0045683F /* CACFObject.h in Headers */,
|
||||
8BD887ED2FAC0EDE0045683F /* CASettingsStorage.h in Headers */,
|
||||
8BD887F62FAC0EDE0045683F /* CAXException.h in Headers */,
|
||||
8BD888132FAC0EDE0045683F /* CATink.h in Headers */,
|
||||
8BD888402FAC0EDF0045683F /* AUInputFormatConverter.h in Headers */,
|
||||
8BD8881B2FAC0EDF0045683F /* CAVectorUnit.h in Headers */,
|
||||
8BD887D72FAC0EDE0045683F /* CAProcess.h in Headers */,
|
||||
8BD887DD2FAC0EDE0045683F /* CAAudioValueRange.h in Headers */,
|
||||
8BD887F22FAC0EDE0045683F /* CABitOperations.h in Headers */,
|
||||
8BD887E82FAC0EDE0045683F /* CAAudioFileFormats.h in Headers */,
|
||||
8BD887E12FAC0EDE0045683F /* CACFNumber.h in Headers */,
|
||||
8BD887F92FAC0EDE0045683F /* CAAudioUnitOutputCapturer.h in Headers */,
|
||||
8BD8880A2FAC0EDE0045683F /* CADebugMacros.h in Headers */,
|
||||
8BD888432FAC0EDF0045683F /* AUMIDIDefs.h in Headers */,
|
||||
8BD888032FAC0EDE0045683F /* CACFData.h in Headers */,
|
||||
8BD887CC2FAC0EDE0045683F /* CAStreamBasicDescription.h in Headers */,
|
||||
8BD888322FAC0EDF0045683F /* AUPlugInDispatch.h in Headers */,
|
||||
8BD887CE2FAC0EDE0045683F /* CAStreamRangedDescription.h in Headers */,
|
||||
8BD8880E2FAC0EDE0045683F /* CACFPlugIn.h in Headers */,
|
||||
8BD887D12FAC0EDE0045683F /* CAAudioBufferList.h in Headers */,
|
||||
8BD887E92FAC0EDE0045683F /* CAAUMIDIMapManager.h in Headers */,
|
||||
8BD8883C2FAC0EDF0045683F /* AUEffectBase.h in Headers */,
|
||||
8BD887D82FAC0EDE0045683F /* CACFDictionary.h in Headers */,
|
||||
8BD888392FAC0EDF0045683F /* AUScopeElement.h in Headers */,
|
||||
8BD888092FAC0EDE0045683F /* CAComponentDescription.h in Headers */,
|
||||
8BD8883F2FAC0EDF0045683F /* AUSilentTimeout.h in Headers */,
|
||||
8BD888012FAC0EDE0045683F /* CABufferList.h in Headers */,
|
||||
8BD888332FAC0EDF0045683F /* AUDispatch.h in Headers */,
|
||||
8BD888372FAC0EDF0045683F /* AUOutputElement.h in Headers */,
|
||||
8BD887FD2FAC0EDE0045683F /* CALogMacros.h in Headers */,
|
||||
8BD887F12FAC0EDE0045683F /* AUParamInfo.h in Headers */,
|
||||
8BD888102FAC0EDE0045683F /* CAMixMap.h in Headers */,
|
||||
8BD8881D2FAC0EDF0045683F /* CACFArray.h in Headers */,
|
||||
8BD887C52FAC0EDE0045683F /* CACFMachPort.h in Headers */,
|
||||
8BD887F02FAC0EDE0045683F /* CAAUMIDIMap.h in Headers */,
|
||||
8BD887C82FAC0EDE0045683F /* CADebugger.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Longhand" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Longhand;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = Longhand;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* Longhand.component */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1420;
|
||||
};
|
||||
buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Longhand" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
ja,
|
||||
de,
|
||||
Base,
|
||||
en,
|
||||
fr,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* Longhand */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BD888002FAC0EDE0045683F /* AUOutputBL.cpp in Sources */,
|
||||
8BD888252FAC0EDF0045683F /* CAAudioFileFormats.cpp in Sources */,
|
||||
8BD888172FAC0EDF0045683F /* CAHostTimeBase.cpp in Sources */,
|
||||
8BD887EF2FAC0EDE0045683F /* CAXException.cpp in Sources */,
|
||||
8BD888192FAC0EDF0045683F /* CAAudioBufferList.cpp in Sources */,
|
||||
8BD887DC2FAC0EDE0045683F /* CAFilePathUtils.cpp in Sources */,
|
||||
8BD887DA2FAC0EDE0045683F /* CAAUParameter.cpp in Sources */,
|
||||
8BD887FC2FAC0EDE0045683F /* CAAUMIDIMap.cpp in Sources */,
|
||||
8BD888292FAC0EDF0045683F /* CAAudioValueRange.cpp in Sources */,
|
||||
8BD888382FAC0EDF0045683F /* AUDispatch.cpp in Sources */,
|
||||
8BD887F32FAC0EDE0045683F /* CACFPreferences.cpp in Sources */,
|
||||
8BD888362FAC0EDF0045683F /* AUPlugInDispatch.cpp in Sources */,
|
||||
8BD887D52FAC0EDE0045683F /* CAAUProcessor.cpp in Sources */,
|
||||
8BD887EA2FAC0EDE0045683F /* CACFDictionary.cpp in Sources */,
|
||||
8BD8883E2FAC0EDF0045683F /* AUBaseHelper.cpp in Sources */,
|
||||
8BD888232FAC0EDF0045683F /* CADebugger.cpp in Sources */,
|
||||
8BD887F72FAC0EDE0045683F /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8BD887FA2FAC0EDE0045683F /* AUParamInfo.cpp in Sources */,
|
||||
8BD888182FAC0EDF0045683F /* CAPersistence.cpp in Sources */,
|
||||
8BD8880C2FAC0EDE0045683F /* CADebugPrintf.cpp in Sources */,
|
||||
8BD888412FAC0EDF0045683F /* AUTimestampGenerator.cpp in Sources */,
|
||||
8BD888142FAC0EDF0045683F /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8BD887E42FAC0EDE0045683F /* CAAUMIDIMapManager.cpp in Sources */,
|
||||
8BD8880F2FAC0EDE0045683F /* CASettingsStorage.cpp in Sources */,
|
||||
8BD888342FAC0EDF0045683F /* AUOutputElement.cpp in Sources */,
|
||||
8BD887E02FAC0EDE0045683F /* CAGuard.cpp in Sources */,
|
||||
8BA05A6B0720730100365D66 /* Longhand.cpp in Sources */,
|
||||
8BD888222FAC0EDF0045683F /* CAMutex.cpp in Sources */,
|
||||
8BD8883B2FAC0EDF0045683F /* AUEffectBase.cpp in Sources */,
|
||||
8BD888202FAC0EDF0045683F /* CACFMachPort.cpp in Sources */,
|
||||
8BD8882F2FAC0EDF0045683F /* AUBase.cpp in Sources */,
|
||||
8BD887FB2FAC0EDE0045683F /* CASharedLibrary.cpp in Sources */,
|
||||
8BD887E22FAC0EDE0045683F /* CACFDistributedNotification.cpp in Sources */,
|
||||
8BD887E52FAC0EDE0045683F /* CAComponentDescription.cpp in Sources */,
|
||||
8BD887EC2FAC0EDE0045683F /* CACFString.cpp in Sources */,
|
||||
8BD8882C2FAC0EDF0045683F /* ComponentBase.cpp in Sources */,
|
||||
8BD8880D2FAC0EDE0045683F /* CARingBuffer.cpp in Sources */,
|
||||
8BD8882D2FAC0EDF0045683F /* AUScopeElement.cpp in Sources */,
|
||||
8BD8882A2FAC0EDF0045683F /* CAAudioUnit.cpp in Sources */,
|
||||
8BD888272FAC0EDF0045683F /* CACFArray.cpp in Sources */,
|
||||
8BD888242FAC0EDF0045683F /* CABundleLocker.cpp in Sources */,
|
||||
8BD888162FAC0EDF0045683F /* CAProcess.cpp in Sources */,
|
||||
8BD888042FAC0EDE0045683F /* CAStreamRangedDescription.cpp in Sources */,
|
||||
8BD888052FAC0EDE0045683F /* CAPThread.cpp in Sources */,
|
||||
8BD887C72FAC0EDE0045683F /* CAComponent.cpp in Sources */,
|
||||
8BD887DF2FAC0EDE0045683F /* CAAudioChannelLayoutObject.cpp in Sources */,
|
||||
8BD8881A2FAC0EDF0045683F /* CAAudioTimeStamp.cpp in Sources */,
|
||||
8BD888212FAC0EDF0045683F /* CABufferList.cpp in Sources */,
|
||||
8BD887FE2FAC0EDE0045683F /* CACFMessagePort.cpp in Sources */,
|
||||
8BD888082FAC0EDE0045683F /* CAVectorUnit.cpp in Sources */,
|
||||
8BD8883A2FAC0EDF0045683F /* AUInputElement.cpp in Sources */,
|
||||
8BD888422FAC0EDF0045683F /* AUBuffer.cpp in Sources */,
|
||||
8BD887E72FAC0EDE0045683F /* CADebugMacros.cpp in Sources */,
|
||||
8BD887C92FAC0EDE0045683F /* CACFNumber.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
8BD888462FAC0F940045683F /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
EXPORTED_SYMBOLS_FILE = Longhand.exp;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GENERATE_PKGINFO_FILE = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
|
||||
LIBRARY_STYLE = Bundle;
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
OTHER_LDFLAGS = "-bundle";
|
||||
OTHER_REZFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = Longhand;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
STRIP_STYLE = debugging;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA245089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
EXPORTED_SYMBOLS_FILE = Longhand.exp;
|
||||
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 = 11.1;
|
||||
OTHER_LDFLAGS = "-bundle";
|
||||
OTHER_REZFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = Longhand;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
STRIP_STYLE = debugging;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
3E4BA248089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**";
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA249089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**";
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Longhand" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Longhand" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedAU/Longhand/Longhand.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
plugins/MacSignedAU/Longhand/Longhand.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:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?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>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1420"
|
||||
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 = "Longhand.component"
|
||||
BlueprintName = "Longhand"
|
||||
ReferencedContainer = "container:Longhand.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Longhand.component"
|
||||
BlueprintName = "Longhand"
|
||||
ReferencedContainer = "container:Longhand.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>Longhand.xcscheme_^#shared#^_</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>
|
||||
58
plugins/MacSignedAU/Longhand/LonghandVersion.h
Executable file
58
plugins/MacSignedAU/Longhand/LonghandVersion.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: LonghandVersion.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 4/29/26
|
||||
*
|
||||
* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license
|
||||
*
|
||||
* 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 __LonghandVersion_h__
|
||||
#define __LonghandVersion_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kLonghandVersion 0xFFFFFFFF
|
||||
#else
|
||||
#define kLonghandVersion 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define Longhand_COMP_MANF 'Dthr'
|
||||
#define Longhand_COMP_SUBTYPE 'lonh'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
BIN
plugins/MacSignedAU/Longhand/en.lproj/InfoPlist.strings
Executable file
BIN
plugins/MacSignedAU/Longhand/en.lproj/InfoPlist.strings
Executable file
Binary file not shown.
16
plugins/MacSignedAU/Longhand/version.plist
Executable file
16
plugins/MacSignedAU/Longhand/version.plist
Executable 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>
|
||||
|
|
@ -250,7 +250,7 @@ void PearLiteEQ::PearLiteEQKernel::Process( const Float32 *inSourceP,
|
|||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSampleL, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -312,37 +312,47 @@ void PunchyDeluxe::PunchyDeluxeKernel::Process( const Float32 *inSourceP,
|
|||
}
|
||||
inputSample += band;
|
||||
inputSample *= drive;
|
||||
inputSample = fmin(fmax(inputSample,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSample * inputSample;
|
||||
long double temp = inputSample * X;
|
||||
inputSample -= (temp*0.125); temp *= X;
|
||||
inputSample += (temp*0.0078125); temp *= X;
|
||||
inputSample -= (temp*0.000244140625); temp *= X;
|
||||
inputSample += (temp*0.000003814697265625); temp *= X;
|
||||
inputSample -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSample = fmin(fmax(inputSample,-M_PI_2),M_PI_2);
|
||||
long double X = inputSample; X *= X; //long double for even
|
||||
long double temp = inputSample * X; //the initial multiplies
|
||||
inputSample -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSample += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSample -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSample += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSample -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSample += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSample -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSample += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSample -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSample += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (pad < 1.0) {
|
||||
inputSample *= pad;
|
||||
}
|
||||
|
||||
inputSample = fmin(fmax(inputSample,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSample * inputSample;
|
||||
long double temp = inputSample * X;
|
||||
inputSample -= (temp*0.125); temp *= X;
|
||||
inputSample += (temp*0.0078125); temp *= X;
|
||||
inputSample -= (temp*0.000244140625); temp *= X;
|
||||
inputSample += (temp*0.000003814697265625); temp *= X;
|
||||
inputSample -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSample = fmin(fmax(inputSample,-M_PI_2),M_PI_2);
|
||||
long double X = inputSample; X *= X; //long double for even
|
||||
long double temp = inputSample * X; //the initial multiplies
|
||||
inputSample -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSample += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSample -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSample += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSample -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSample += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSample -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSample += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSample -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSample += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
//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));
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -333,16 +333,21 @@ void PunchyGuitar::PunchyGuitarKernel::Process( const Float32 *inSourceP,
|
|||
}
|
||||
inputSample += (band*angG[9]);
|
||||
inputSample *= drive;
|
||||
inputSample = fmin(fmax(inputSample,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSample * inputSample;
|
||||
long double temp = inputSample * X;
|
||||
inputSample -= (temp*0.125); temp *= X;
|
||||
inputSample += (temp*0.0078125); temp *= X;
|
||||
inputSample -= (temp*0.000244140625); temp *= X;
|
||||
inputSample += (temp*0.000003814697265625); temp *= X;
|
||||
inputSample -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSample = fmin(fmax(inputSample,-M_PI_2),M_PI_2);
|
||||
long double X = inputSample; X *= X; //long double for even
|
||||
long double temp = inputSample * X; //the initial multiplies
|
||||
inputSample -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSample += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSample -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSample += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSample -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSample += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSample -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSample += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSample -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSample += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (gateroller < 1.0)
|
||||
|
|
@ -373,7 +378,7 @@ void PunchyGuitar::PunchyGuitarKernel::Process( const Float32 *inSourceP,
|
|||
//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));
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -436,10 +436,12 @@ OSStatus SoftClock3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*outputL = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -272,15 +272,14 @@ ComponentResult X2Buss::Reset(AudioUnitScope inScope, AudioUnitElement inElemen
|
|||
bezCompS[bez_cycle] = 1.0;
|
||||
//Dynamics2
|
||||
|
||||
for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;}
|
||||
for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;}
|
||||
for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;}
|
||||
for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;}
|
||||
for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;}
|
||||
avgPos = 0;
|
||||
lastSlewL = 0.0; lastSlewR = 0.0;
|
||||
lastSlewpleL = 0.0; lastSlewpleR = 0.0;
|
||||
//preTapeHack
|
||||
lastSampleL = 0.0;
|
||||
wasPosClipL = false;
|
||||
wasNegClipL = false;
|
||||
lastSampleR = 0.0;
|
||||
wasPosClipR = false;
|
||||
wasNegClipR = false;
|
||||
for (int x = 0; x < 17; x++) {intermediateL[x] = 0.0; intermediateR[x] = 0.0;}
|
||||
for (int x = 0; x < 33; x++) {slewL[x] = 0.0; slewR[x] = 0.0;}
|
||||
|
||||
inTrimA = 0.5; inTrimB = 0.5;
|
||||
|
||||
|
|
@ -305,8 +304,8 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= GetSampleRate();
|
||||
int spacing = floor(overallscale*2.0);
|
||||
if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32;
|
||||
int spacing = floor(overallscale); //should give us working basic scaling, usually 2 or 4
|
||||
if (spacing < 1) spacing = 1; if (spacing > 16) spacing = 16;
|
||||
|
||||
double trebleGain = (GetParameter( kParam_A )-0.5)*2.0;
|
||||
trebleGain = 1.0+(trebleGain*fabs(trebleGain)*fabs(trebleGain));
|
||||
|
|
@ -428,9 +427,15 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
|
||||
double bezCThresh = pow(1.0-GetParameter( kParam_I ), 6.0) * 8.0;
|
||||
double bezRez = pow(1.0-GetParameter( kParam_I ), 12.360679774997898) / overallscale;
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = pow(1.0-GetParameter( kParam_I ),10.0) / overallscale;
|
||||
sloRez = fmin(fmax(sloRez,0.00001),1.0);
|
||||
bezRez = fmin(fmax(bezRez,0.00001),1.0);
|
||||
stepped = 999999; if (sloRez > 0.000001) stepped = (int)(1.0/sloRez);
|
||||
sloRez = 1.0 / stepped;
|
||||
double sloTrim = 1.0-(sloRez*((double)stepped/(stepped+1.0)));
|
||||
//Dynamics2
|
||||
|
||||
inTrimA = inTrimB; inTrimB = GetParameter( kParam_J )*2.0;
|
||||
|
|
@ -442,16 +447,6 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
|
||||
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
|
||||
|
||||
if (inputSampleL > 1.0) inputSampleL = 1.0;
|
||||
else if (inputSampleL > 0.0) inputSampleL = -expm1((log1p(-inputSampleL) * 0.6180339887498949));
|
||||
if (inputSampleL < -1.0) inputSampleL = -1.0;
|
||||
else if (inputSampleL < 0.0) inputSampleL = expm1((log1p(inputSampleL) * 0.6180339887498949));
|
||||
|
||||
if (inputSampleR > 1.0) inputSampleR = 1.0;
|
||||
else if (inputSampleR > 0.0) inputSampleR = -expm1((log1p(-inputSampleR) * 0.6180339887498949));
|
||||
if (inputSampleR < -1.0) inputSampleR = -1.0;
|
||||
else if (inputSampleR < 0.0) inputSampleR = expm1((log1p(inputSampleR) * 0.6180339887498949));
|
||||
|
||||
double trebleL = inputSampleL;
|
||||
double outSample = (trebleL * highA[biq_a0]) + highA[biq_sL1];
|
||||
highA[biq_sL1] = (trebleL * highA[biq_a1]) - (outSample * highA[biq_b1]) + highA[biq_sL2];
|
||||
|
|
@ -586,8 +581,8 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
|
||||
inputSampleR = (bassR*bassGain) + (lowmidR*lowmidGain) + (highmidR*highmidGain) + (trebleR*trebleGain);
|
||||
//fourth stage of three crossovers is the exponential filters
|
||||
//SmoothEQ2
|
||||
|
||||
//SmoothEQ2
|
||||
if (bezCThresh > 0.0) {
|
||||
inputSampleL *= ((bezCThresh*0.5)+1.0);
|
||||
inputSampleR *= ((bezCThresh*0.5)+1.0);
|
||||
|
|
@ -613,6 +608,7 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
bezCompS[bez_cycle] += sloRez;
|
||||
bezCompS[bez_SampL] += (fabs(inputSampleL) * sloRez); //note: SampL is a control voltage
|
||||
bezCompS[bez_SampR] += (fabs(inputSampleR) * sloRez); //note: SampR is a control voltage
|
||||
|
||||
if (bezCompS[bez_cycle] > 1.0) {
|
||||
bezCompS[bez_cycle] -= 1.0;
|
||||
bezCompS[bez_CL] = bezCompS[bez_BL];
|
||||
|
|
@ -624,22 +620,21 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
bezCompS[bez_AR] = bezCompS[bez_SampR];
|
||||
bezCompS[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBFL = (bezCompF[bez_CL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BL]*bezCompF[bez_cycle]);
|
||||
double BAFL = (bezCompF[bez_BL]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AL]*bezCompF[bez_cycle]);
|
||||
double CBAFL = (bezCompF[bez_BL]+(CBFL*(1.0-bezCompF[bez_cycle]))+(BAFL*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSL = (bezCompS[bez_CL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BL]*bezCompS[bez_cycle]);
|
||||
double BASL = (bezCompS[bez_BL]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AL]*bezCompS[bez_cycle]);
|
||||
double CBASL = (bezCompS[bez_BL]+(CBSL*(1.0-bezCompS[bez_cycle]))+(BASL*bezCompS[bez_cycle]))*0.5;
|
||||
double X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFL = bezCompF[bez_BL]+(bezCompF[bez_CL]*(1.0-X)*(1.0-X))+(bezCompF[bez_BL]*2.0*(1.0-X)*X)+(bezCompF[bez_AL]*X*X);
|
||||
CBAFL *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASL = bezCompS[bez_BL]+(bezCompS[bez_CL]*(1.0-X)*(1.0-X))+(bezCompS[bez_BL]*2.0*(1.0-X)*X)+(bezCompS[bez_AL]*X*X);
|
||||
CBASL *= 0.5;
|
||||
double CBAMax = fmax(CBASL,CBAFL); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
double CBAFade = ((CBASL*-CBAMax)+(CBAFL*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleL *= 1.0-(fmin(((CBASL*(1.0-CBAFade))+(CBAFL*CBAFade))*bezCThresh,1.0));
|
||||
|
||||
double CBFR = (bezCompF[bez_CR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_BR]*bezCompF[bez_cycle]);
|
||||
double BAFR = (bezCompF[bez_BR]*(1.0-bezCompF[bez_cycle]))+(bezCompF[bez_AR]*bezCompF[bez_cycle]);
|
||||
double CBAFR = (bezCompF[bez_BR]+(CBFR*(1.0-bezCompF[bez_cycle]))+(BAFR*bezCompF[bez_cycle]))*0.5;
|
||||
double CBSR = (bezCompS[bez_CR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_BR]*bezCompS[bez_cycle]);
|
||||
double BASR = (bezCompS[bez_BR]*(1.0-bezCompS[bez_cycle]))+(bezCompS[bez_AR]*bezCompS[bez_cycle]);
|
||||
double CBASR = (bezCompS[bez_BR]+(CBSR*(1.0-bezCompS[bez_cycle]))+(BASR*bezCompS[bez_cycle]))*0.5;
|
||||
X = bezCompF[bez_cycle]*bezTrim;
|
||||
double CBAFR = bezCompF[bez_BR]+(bezCompF[bez_CR]*(1.0-X)*(1.0-X))+(bezCompF[bez_BR]*2.0*(1.0-X)*X)+(bezCompF[bez_AR]*X*X);
|
||||
CBAFR *= 0.5;
|
||||
X = bezCompS[bez_cycle]*sloTrim;
|
||||
double CBASR = bezCompS[bez_BR]+(bezCompS[bez_CR]*(1.0-X)*(1.0-X))+(bezCompS[bez_BR]*2.0*(1.0-X)*X)+(bezCompS[bez_AR]*X*X);
|
||||
CBASR *= 0.5;
|
||||
CBAMax = fmax(CBASR,CBAFR); if (CBAMax > 0.0) CBAMax = 1.0/CBAMax;
|
||||
CBAFade = ((CBASR*-CBAMax)+(CBAFR*CBAMax)+1.0)*0.5;
|
||||
if (bezCThresh > 0.0) inputSampleR *= 1.0-(fmin(((CBASR*(1.0-CBAFade))+(CBAFR*CBAFade))*bezCThresh,1.0));
|
||||
|
|
@ -647,94 +642,69 @@ OSStatus X2Buss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
|
|||
|
||||
const double temp = (double)nSampleFrames/inFramesToProcess;
|
||||
double gain = (inTrimA*temp)+(inTrimB*(1.0-temp));
|
||||
if (gain > 1.0) gain *= gain;
|
||||
if (gain < 1.0) gain = 1.0-pow(1.0-gain,2);
|
||||
gain *= 2.0;
|
||||
|
||||
inputSampleL = inputSampleL * gain;
|
||||
inputSampleR = inputSampleR * gain;
|
||||
//applies pan section, and smoothed fader gain
|
||||
|
||||
double darkSampleL = inputSampleL;
|
||||
double darkSampleR = inputSampleR;
|
||||
if (avgPos > 31) avgPos = 0;
|
||||
if (spacing > 31) {
|
||||
avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];}
|
||||
darkSampleL /= 32.0; darkSampleR /= 32.0;
|
||||
} if (spacing > 15) {
|
||||
avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];}
|
||||
darkSampleL /= 16.0; darkSampleR /= 16.0;
|
||||
} if (spacing > 7) {
|
||||
avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];}
|
||||
darkSampleL /= 8.0; darkSampleR /= 8.0;
|
||||
} if (spacing > 3) {
|
||||
avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];}
|
||||
darkSampleL /= 4.0; darkSampleR /= 4.0;
|
||||
} if (spacing > 1) {
|
||||
avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR;
|
||||
darkSampleL = 0.0; darkSampleR = 0.0;
|
||||
for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];}
|
||||
darkSampleL /= 2.0; darkSampleR /= 2.0;
|
||||
} avgPos++;
|
||||
lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL;
|
||||
double avgSlewL = fmin(lastSlewL,1.0);
|
||||
lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223);
|
||||
lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR;
|
||||
double avgSlewR = fmin(lastSlewR,1.0);
|
||||
lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool
|
||||
inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL);
|
||||
inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR);
|
||||
//begin ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
double noise = 1.0-((double(fpdL)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipL == true) { //current will be over
|
||||
if (inputSampleL<lastSampleL) lastSampleL=(0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipL = false;
|
||||
if (inputSampleL>0.9085097) {wasPosClipL=true;inputSampleL=(0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
if (wasNegClipL == true) { //current will be -over
|
||||
if (inputSampleL > lastSampleL) lastSampleL=(-0.9085097*noise)+(inputSampleL*(1.0-noise));
|
||||
else lastSampleL = -0.94;
|
||||
} wasNegClipL = false;
|
||||
if (inputSampleL<-0.9085097) {wasNegClipL=true;inputSampleL=(-0.9085097*noise)+(lastSampleL*(1.0-noise));}
|
||||
slewL[spacing*2] = fabs(lastSampleL-inputSampleL);
|
||||
for (int x = spacing*2; x > 0; x--) slewL[x-1] = slewL[x];
|
||||
intermediateL[spacing] = inputSampleL; inputSampleL = lastSampleL;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateL[x-1] = intermediateL[x];} lastSampleL = intermediateL[0];
|
||||
if (wasPosClipL || wasNegClipL) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleL += intermediateL[x];
|
||||
lastSampleL /= spacing;
|
||||
} double finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewL[x]) finalSlew = slewL[x];
|
||||
double postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleL > postclip) inputSampleL = postclip; if (inputSampleL < -postclip) inputSampleL = -postclip;
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908);
|
||||
double addtwo = inputSampleL * inputSampleL;
|
||||
double empower = inputSampleL * addtwo; // inputSampleL to the third power
|
||||
inputSampleL -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleL += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleL -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleL += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleL -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleL *= 0.92;
|
||||
//end TapeHack section
|
||||
|
||||
//begin TapeHack section
|
||||
inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908);
|
||||
addtwo = inputSampleR * inputSampleR;
|
||||
empower = inputSampleR * addtwo; // inputSampleR to the third power
|
||||
inputSampleR -= (empower / 6.0);
|
||||
empower *= addtwo; // to the fifth power
|
||||
inputSampleR += (empower / 69.0);
|
||||
empower *= addtwo; //seventh
|
||||
inputSampleR -= (empower / 2530.08);
|
||||
empower *= addtwo; //ninth
|
||||
inputSampleR += (empower / 224985.6);
|
||||
empower *= addtwo; //eleventh
|
||||
inputSampleR -= (empower / 9979200.0f);
|
||||
//this is a degenerate form of a Taylor Series to approximate sin()
|
||||
inputSampleR *= 0.92;
|
||||
//end TapeHack section
|
||||
//Discontapeity
|
||||
noise = 1.0-((double(fpdR)/UINT32_MAX)*0.076);
|
||||
if (wasPosClipR == true) { //current will be over
|
||||
if (inputSampleR<lastSampleR) lastSampleR=(0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = 0.94; //~-0.2dB to nearly match ClipOnly and ClipOnly2
|
||||
} wasPosClipR = false;
|
||||
if (inputSampleR>0.9085097) {wasPosClipR=true;inputSampleR=(0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
if (wasNegClipR == true) { //current will be -over
|
||||
if (inputSampleR > lastSampleR) lastSampleR=(-0.9085097*noise)+(inputSampleR*(1.0-noise));
|
||||
else lastSampleR = -0.94;
|
||||
} wasNegClipR = false;
|
||||
if (inputSampleR<-0.9085097) {wasNegClipR=true;inputSampleR=(-0.9085097*noise)+(lastSampleR*(1.0-noise));}
|
||||
slewR[spacing*2] = fabs(lastSampleR-inputSampleR);
|
||||
for (int x = spacing*2; x > 0; x--) slewR[x-1] = slewR[x];
|
||||
intermediateR[spacing] = inputSampleR; inputSampleR = lastSampleR;
|
||||
//latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) {intermediateR[x-1] = intermediateR[x];} lastSampleR = intermediateR[0];
|
||||
if (wasPosClipR || wasNegClipR) {
|
||||
for (int x = spacing; x > 0; x--) lastSampleR += intermediateR[x];
|
||||
lastSampleR /= spacing;
|
||||
} finalSlew = 0.0;
|
||||
for (int x = spacing*2; x >= 0; x--) if (finalSlew < slewR[x]) finalSlew = slewR[x];
|
||||
postclip = 0.94 / (1.0+(finalSlew*1.3986013));
|
||||
if (inputSampleR > postclip) inputSampleR = postclip; if (inputSampleR < -postclip) inputSampleR = -postclip;
|
||||
//end ClipOnly3 as a little, compressed chunk that can be dropped into code
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*outputL = inputSampleL;
|
||||
|
|
|
|||
|
|
@ -193,22 +193,16 @@ public:
|
|||
double bezCompS[bez_total];
|
||||
//Dynamics2
|
||||
|
||||
double avg32L[33];
|
||||
double avg32R[33];
|
||||
double avg16L[17];
|
||||
double avg16R[17];
|
||||
double avg8L[9];
|
||||
double avg8R[9];
|
||||
double avg4L[5];
|
||||
double avg4R[5];
|
||||
double avg2L[3];
|
||||
double avg2R[3];
|
||||
int avgPos;
|
||||
double lastSlewL;
|
||||
double lastSlewR;
|
||||
double lastSlewpleL;
|
||||
double lastSlewpleR;
|
||||
//preTapeHack
|
||||
double lastSampleL;
|
||||
double intermediateL[18];
|
||||
double slewL[34];
|
||||
bool wasPosClipL;
|
||||
bool wasNegClipL;
|
||||
double lastSampleR;
|
||||
double intermediateR[18];
|
||||
double slewR[34];
|
||||
bool wasPosClipR;
|
||||
bool wasNegClipR; //Stereo ClipOnly3
|
||||
|
||||
double inTrimA;
|
||||
double inTrimB;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -833,12 +833,12 @@ OSStatus kRockstar::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*outputL = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "BezEQ3.vst"
|
||||
BlueprintName = "BezEQ3"
|
||||
ReferencedContainer = "container:BezEQ3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "BezEQ3.vst"
|
||||
BlueprintName = "BezEQ3"
|
||||
ReferencedContainer = "container:BezEQ3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
|
|
@ -114,10 +114,12 @@ void BezEQ3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFr
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -237,10 +239,12 @@ void BezEQ3::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "Density3.vst"
|
||||
BlueprintName = "Density3"
|
||||
ReferencedContainer = "container:Density3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "Density3.vst"
|
||||
BlueprintName = "Density3"
|
||||
ReferencedContainer = "container:Density3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
|
|
@ -95,10 +95,12 @@ void Density3::processReplacing(float **inputs, float **outputs, VstInt32 sample
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -199,10 +201,12 @@ void Density3::processDoubleReplacing(double **inputs, double **outputs, VstInt3
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "Dynamics3.vst"
|
||||
BlueprintName = "Dynamics3"
|
||||
ReferencedContainer = "container:Dynamics3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "Dynamics3.vst"
|
||||
BlueprintName = "Dynamics3"
|
||||
ReferencedContainer = "container:Dynamics3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new D
|
|||
Dynamics3::Dynamics3(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.999;
|
||||
A = 1.0;
|
||||
B = 0.382;
|
||||
C = 0.618;
|
||||
D = 0.618;
|
||||
D = 1.0;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bezComp[x] = 0.0;
|
||||
//Dynamics3
|
||||
|
|
@ -104,7 +104,7 @@ void Dynamics3::getParameterName(VstInt32 index, char *text) {
|
|||
case kParamA: vst_strncpy (text, "Thresh", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Attack", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Release", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Ratio", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,15 +19,17 @@ void Dynamics3::processReplacing(float **inputs, float **outputs, VstInt32 sampl
|
|||
overallscale *= getSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-B)*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-C)*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
|
|
@ -46,23 +48,25 @@ void Dynamics3::processReplacing(float **inputs, float **outputs, VstInt32 sampl
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSampleL = (drySampleL*bezRatio)+(inputSampleL*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezRatio)+(inputSampleR*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSampleL = (drySampleL*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleL*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleR*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -87,15 +91,17 @@ void Dynamics3::processDoubleReplacing(double **inputs, double **outputs, VstInt
|
|||
overallscale *= getSampleRate();
|
||||
|
||||
//begin Dynamics3
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*2.0;
|
||||
double bezThresh = pow(A+0.6180339887498949,2.0)*1.6180339887498949;
|
||||
double sqrThresh = sqrt(bezThresh);
|
||||
double bezRez = fmax(pow((1.0-B)*0.5,4.0)/overallscale,0.0001);
|
||||
bezRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezTrim = 1.0-pow(bezRez*0.5,1.0/(bezRez*0.5));
|
||||
int stepped = 999999; if (bezRez > 0.000001) stepped = (int)(1.0/bezRez);
|
||||
bezRez = 1.0 / stepped;
|
||||
double bezTrim = 1.0-(bezRez*((double)stepped/(stepped+1.0)));
|
||||
double sloRez = fmax(pow((1.0-C)*0.5,4.0)/overallscale,0.00001);
|
||||
sloRez /= (2.0/pow(overallscale,0.5-((overallscale-1.0)*0.0375)));
|
||||
double bezRatio = 1.0-pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 5.236) bezRatio = 1.0;
|
||||
double bezCompDry = pow(1.0-D,1.6180339887498949);
|
||||
if (bezThresh > 4.236) bezCompDry = 0.0;
|
||||
//end Dynamics3
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
|
|
@ -114,23 +120,25 @@ void Dynamics3::processDoubleReplacing(double **inputs, double **outputs, VstInt
|
|||
bezComp[bez_min] = fmax(bezComp[bez_min]-sloRez,ctrl);
|
||||
bezComp[bez_Ctrl] += (bezComp[bez_min] * bezRez);
|
||||
bezComp[bez_cycle] += bezRez;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] -= 1.0;
|
||||
if (bezComp[bez_cycle] > 1.0) {bezComp[bez_cycle] = 0.0;
|
||||
bezComp[bez_C] = bezComp[bez_B]; bezComp[bez_B] = bezComp[bez_A];
|
||||
bezComp[bez_A] = bezComp[bez_Ctrl]; bezComp[bez_Ctrl] = 0.0;}
|
||||
double X = bezComp[bez_cycle]*bezTrim;
|
||||
bezComp[bez_comp] = bezComp[bez_B]+(bezComp[bez_C]*(1.0-X)*(1.0-X))+(bezComp[bez_B]*2.0*(1.0-X)*X)+(bezComp[bez_A]*X*X);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));// /bezCeiling
|
||||
inputSampleL = (drySampleL*bezRatio)+(inputSampleL*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezRatio)+(inputSampleR*(1.0-bezRatio)*bezComp[bez_comp]*bezThresh);
|
||||
bezComp[bez_comp] = ((1.0-(fmin(bezComp[bez_comp],1.0))));
|
||||
inputSampleL = (drySampleL*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleL*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
inputSampleR = (drySampleR*bezCompDry*(1.0-(bezComp[bez_comp]*(1.0-bezCompDry))))+(inputSampleR*(1.0-bezCompDry)*bezComp[bez_comp]*bezThresh);
|
||||
//end Dynamics3
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "LRConvolve3.vst"
|
||||
BlueprintName = "LRConvolve3"
|
||||
ReferencedContainer = "container:LRConvolve3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "LRConvolve3.vst"
|
||||
BlueprintName = "LRConvolve3"
|
||||
ReferencedContainer = "container:LRConvolve3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
|
|
@ -36,17 +36,19 @@ void LRConvolve3::processReplacing(float **inputs, float **outputs, VstInt32 sam
|
|||
}
|
||||
if (iirSample < modulate) iirSample = modulate;
|
||||
modulate = (iirSample*smooth)+(modulate*(1.0-smooth));
|
||||
if (carrier > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0) carrier = -sqrt(carrier/modulate)*modulate;
|
||||
if (carrier > 0.0 && modulate > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0 && modulate > 0.0) carrier = -sqrt(-carrier/modulate)*modulate;
|
||||
inputSampleL = inputSampleR = carrier;
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -88,17 +90,19 @@ void LRConvolve3::processDoubleReplacing(double **inputs, double **outputs, VstI
|
|||
}
|
||||
if (iirSample < modulate) iirSample = modulate;
|
||||
modulate = (iirSample*smooth)+(modulate*(1.0-smooth));
|
||||
if (carrier > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0) carrier = -sqrt(carrier/modulate)*modulate;
|
||||
if (carrier > 0.0 && modulate > 0.0) carrier = sqrt(carrier/modulate)*modulate;
|
||||
if (carrier < 0.0 && modulate > 0.0) carrier = -sqrt(-carrier/modulate)*modulate;
|
||||
inputSampleL = inputSampleR = carrier;
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
108
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/christopherjohnson.pbxuser
Executable file
108
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,108 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Longhand */;
|
||||
codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
269,
|
||||
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 = 799701831;
|
||||
PBXWorkspaceStateSaveDate = 799701831;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* Longhand.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {948, 2412}}";
|
||||
sepNavSelRange = "{4544, 0}";
|
||||
sepNavVisRange = "{3453, 1660}";
|
||||
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* Longhand.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 1206}}";
|
||||
sepNavSelRange = "{2446, 0}";
|
||||
sepNavVisRange = "{521, 1986}";
|
||||
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
|
||||
sepNavSelRange = "{10616, 0}";
|
||||
sepNavVisRange = "{9653, 2414}";
|
||||
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* LonghandProc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {848, 3276}}";
|
||||
sepNavSelRange = "{1127, 1797}";
|
||||
sepNavVisRange = "{977, 2046}";
|
||||
sepNavWindowFrame = "{{521, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1503
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/christopherjohnson.perspectivev3
Executable file
1503
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
462
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/project.pbxproj
Executable file
462
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,462 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
2407DEB9089929BA00EB68BF /* Longhand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* Longhand.cpp */; };
|
||||
245463B90991757100464AD3 /* Longhand.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* Longhand.h */; };
|
||||
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
|
||||
24D8287009A914000093AEF8 /* LonghandProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* LonghandProc.cpp */; };
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
|
||||
8BD887312FAC07140045683F /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887252FAC07140045683F /* vstfxstore.h */; };
|
||||
8BD887322FAC07140045683F /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887262FAC07140045683F /* aeffect.h */; };
|
||||
8BD887332FAC07140045683F /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887272FAC07140045683F /* aeffectx.h */; };
|
||||
8BD887342FAC07140045683F /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8872B2FAC07140045683F /* audioeffectx.h */; };
|
||||
8BD887352FAC07140045683F /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8872C2FAC07140045683F /* audioeffect.cpp */; };
|
||||
8BD887362FAC07140045683F /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8872D2FAC07140045683F /* audioeffectx.cpp */; };
|
||||
8BD887372FAC07140045683F /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD8872E2FAC07140045683F /* aeffeditor.h */; };
|
||||
8BD887382FAC07140045683F /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BD8872F2FAC07140045683F /* vstplugmain.cpp */; };
|
||||
8BD887392FAC07140045683F /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD887302FAC07140045683F /* audioeffect.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
2407DE920899296600EB68BF /* Longhand.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Longhand.vst; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2407DEB6089929BA00EB68BF /* Longhand.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Longhand.cpp; path = source/Longhand.cpp; sourceTree = "<group>"; };
|
||||
245463B80991757100464AD3 /* Longhand.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Longhand.h; path = source/Longhand.h; sourceTree = "<group>"; };
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
|
||||
24D8286F09A914000093AEF8 /* LonghandProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LonghandProc.cpp; path = source/LonghandProc.cpp; sourceTree = "<group>"; };
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; };
|
||||
8BD887252FAC07140045683F /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
|
||||
8BD887262FAC07140045683F /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
|
||||
8BD887272FAC07140045683F /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
|
||||
8BD8872B2FAC07140045683F /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
|
||||
8BD8872C2FAC07140045683F /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
|
||||
8BD8872D2FAC07140045683F /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
|
||||
8BD8872E2FAC07140045683F /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
|
||||
8BD8872F2FAC07140045683F /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
|
||||
8BD887302FAC07140045683F /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* FM-Chopper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
);
|
||||
name = "FM-Chopper";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */,
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */,
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887222FAC07140045683F /* vstsdk2.4 */,
|
||||
2407DEB6089929BA00EB68BF /* Longhand.cpp */,
|
||||
24D8286F09A914000093AEF8 /* LonghandProc.cpp */,
|
||||
245463B80991757100464AD3 /* Longhand.h */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2407DE920899296600EB68BF /* Longhand.vst */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887222FAC07140045683F /* vstsdk2.4 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887232FAC07140045683F /* pluginterfaces */,
|
||||
8BD887282FAC07140045683F /* public.sdk */,
|
||||
);
|
||||
name = vstsdk2.4;
|
||||
path = ../../../../vstsdk2.4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887232FAC07140045683F /* pluginterfaces */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887242FAC07140045683F /* vst2.x */,
|
||||
);
|
||||
path = pluginterfaces;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887242FAC07140045683F /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887252FAC07140045683F /* vstfxstore.h */,
|
||||
8BD887262FAC07140045683F /* aeffect.h */,
|
||||
8BD887272FAC07140045683F /* aeffectx.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887282FAC07140045683F /* public.sdk */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD887292FAC07140045683F /* source */,
|
||||
);
|
||||
path = public.sdk;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD887292FAC07140045683F /* source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD8872A2FAC07140045683F /* vst2.x */,
|
||||
);
|
||||
path = source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BD8872A2FAC07140045683F /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BD8872B2FAC07140045683F /* audioeffectx.h */,
|
||||
8BD8872C2FAC07140045683F /* audioeffect.cpp */,
|
||||
8BD8872D2FAC07140045683F /* audioeffectx.cpp */,
|
||||
8BD8872E2FAC07140045683F /* aeffeditor.h */,
|
||||
8BD8872F2FAC07140045683F /* vstplugmain.cpp */,
|
||||
8BD887302FAC07140045683F /* audioeffect.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BD887372FAC07140045683F /* aeffeditor.h in Headers */,
|
||||
245463B90991757100464AD3 /* Longhand.h in Headers */,
|
||||
8BD887392FAC07140045683F /* audioeffect.h in Headers */,
|
||||
8BD887322FAC07140045683F /* aeffect.h in Headers */,
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
|
||||
8BD887342FAC07140045683F /* audioeffectx.h in Headers */,
|
||||
8BD887312FAC07140045683F /* vstfxstore.h in Headers */,
|
||||
8BD887332FAC07140045683F /* aeffectx.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "Longhand" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Longhand;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = "FM-Chopper";
|
||||
productReference = 2407DE920899296600EB68BF /* Longhand.vst */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1420;
|
||||
};
|
||||
buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "Longhand" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
de,
|
||||
Base,
|
||||
fr,
|
||||
ja,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Longhand */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy PkgInfo";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/bash;
|
||||
shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\"";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BD887362FAC07140045683F /* audioeffectx.cpp in Sources */,
|
||||
2407DEB9089929BA00EB68BF /* Longhand.cpp in Sources */,
|
||||
8BD887352FAC07140045683F /* audioeffect.cpp in Sources */,
|
||||
8BD887382FAC07140045683F /* vstplugmain.cpp in Sources */,
|
||||
24D8287009A914000093AEF8 /* LonghandProc.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
24BEAAEE08919AE700E695F9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_TRIGRAPHS = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
|
||||
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
|
||||
GCC_WARN_UNKNOWN_PRAGMAS = NO;
|
||||
HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**";
|
||||
INFOPLIST_FILE = ./mac/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_REZFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.Longhand;
|
||||
PRODUCT_NAME = Longhand;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
SECTORDER_FLAGS = "";
|
||||
STRIP_STYLE = debugging;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
WRAPPER_EXTENSION = vst;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
24BEAAEF08919AE700E695F9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_ENABLE_TRIGRAPHS = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
|
||||
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
|
||||
GCC_WARN_UNKNOWN_PRAGMAS = NO;
|
||||
HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**";
|
||||
INFOPLIST_FILE = ./mac/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_REZFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.Longhand;
|
||||
PRODUCT_NAME = Longhand;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
SECTORDER_FLAGS = "";
|
||||
SKIP_INSTALL = NO;
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
STRIP_STYLE = debugging;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
WRAPPER_EXTENSION = vst;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
24BEAAF208919AE700E695F9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INFOPLIST_FILE = "";
|
||||
INFOPLIST_PREPROCESS = NO;
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
24BEAAF308919AE700E695F9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_MODEL_TUNING = G4;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INFOPLIST_FILE = "";
|
||||
INFOPLIST_PREPROCESS = NO;
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "Longhand" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAEE08919AE700E695F9 /* Debug */,
|
||||
24BEAAEF08919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "Longhand" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAF208919AE700E695F9 /* Debug */,
|
||||
24BEAAF308919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
7
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Sample.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?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>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
1372
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/spiadmin.mode1v3
Executable file
1372
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/spiadmin.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
143
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/spiadmin.pbxuser
Executable file
143
plugins/MacSignedVST/Longhand/Longhand.xcodeproj/spiadmin.pbxuser
Executable 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,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1420"
|
||||
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 = "Longhand"
|
||||
ReferencedContainer = "container:Longhand.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Longhand"
|
||||
ReferencedContainer = "container:Longhand.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>Longhand.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</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/MacSignedVST/Longhand/mac/Info.plist
Executable file
24
plugins/MacSignedVST/Longhand/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>Longhand</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</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/MacSignedVST/Longhand/mac/PkgInfo
Executable file
1
plugins/MacSignedVST/Longhand/mac/PkgInfo
Executable file
|
|
@ -0,0 +1 @@
|
|||
BNDL????
|
||||
17
plugins/MacSignedVST/Longhand/mac/xcode_vst_prefix.h
Executable file
17
plugins/MacSignedVST/Longhand/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>
|
||||
136
plugins/MacSignedVST/Longhand/source/Longhand.cpp
Executable file
136
plugins/MacSignedVST/Longhand/source/Longhand.cpp
Executable file
|
|
@ -0,0 +1,136 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#include "Longhand.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Longhand(audioMaster);}
|
||||
|
||||
Longhand::Longhand(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.445;
|
||||
B = 1.0;
|
||||
C = 1.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
|
||||
}
|
||||
|
||||
Longhand::~Longhand() {}
|
||||
VstInt32 Longhand::getVendorVersion () {return 1000;}
|
||||
void Longhand::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void Longhand::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 Longhand::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
/* 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 Longhand::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
/* 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 Longhand::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float Longhand::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; 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 Longhand::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void Longhand::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;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void Longhand::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;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 Longhand::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool Longhand::getEffectName(char* name) {
|
||||
vst_strncpy(name, "Longhand", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory Longhand::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool Longhand::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows Longhand", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool Longhand::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
66
plugins/MacSignedVST/Longhand/source/Longhand.h
Executable file
66
plugins/MacSignedVST/Longhand/source/Longhand.h
Executable file
|
|
@ -0,0 +1,66 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) Airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#define __Longhand_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA =0,
|
||||
kParamB =1,
|
||||
kParamC =2,
|
||||
kNumParameters = 3
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'lonh'; //Change this to what the AU identity is!
|
||||
|
||||
class Longhand :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
Longhand(audioMasterCallback audioMaster);
|
||||
~Longhand();
|
||||
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;
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
};
|
||||
|
||||
#endif
|
||||
181
plugins/MacSignedVST/Longhand/source/LonghandProc.cpp
Executable file
181
plugins/MacSignedVST/Longhand/source/LonghandProc.cpp
Executable file
|
|
@ -0,0 +1,181 @@
|
|||
/* ========================================
|
||||
* Longhand - Longhand.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Longhand_H
|
||||
#include "Longhand.h"
|
||||
#endif
|
||||
|
||||
void Longhand::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
float* in1 = inputs[0];
|
||||
float* in2 = inputs[1];
|
||||
float* out1 = outputs[0];
|
||||
float* out2 = outputs[1];
|
||||
|
||||
double inputGain = pow(A,2.0)*7.72;//normalized input does not wavefold too far
|
||||
double outputGain = B;
|
||||
double wet = C;
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
double inputSampleL = *in1;
|
||||
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;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-1.0),1.0);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-1.0),1.0);
|
||||
double drySampleL = inputSampleL;
|
||||
double drySampleR = inputSampleR;
|
||||
|
||||
if (inputGain != 1.0) {
|
||||
inputSampleL *= inputGain;
|
||||
inputSampleR *= inputGain;
|
||||
drySampleL *= inputGain;
|
||||
drySampleR *= inputGain;
|
||||
}
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
if (outputGain != 1.0) {
|
||||
inputSampleL *= outputGain;
|
||||
inputSampleR *= outputGain;
|
||||
}
|
||||
|
||||
if (wet !=1.0) {
|
||||
inputSampleL = (inputSampleL * wet) + (drySampleL * (1.0-wet));
|
||||
inputSampleR = (inputSampleR * wet) + (drySampleR * (1.0-wet));
|
||||
}
|
||||
|
||||
//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)) * 3.553e-44l * pow(2,expon+62));
|
||||
frexpf((float)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
|
||||
void Longhand::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
|
||||
{
|
||||
double* in1 = inputs[0];
|
||||
double* in2 = inputs[1];
|
||||
double* out1 = outputs[0];
|
||||
double* out2 = outputs[1];
|
||||
|
||||
double inputGain = pow(A,2.0)*7.72;//normalized input does not wavefold too far
|
||||
double outputGain = B;
|
||||
double wet = C;
|
||||
|
||||
while (--sampleFrames >= 0)
|
||||
{
|
||||
double inputSampleL = *in1;
|
||||
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;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-1.0),1.0);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-1.0),1.0);
|
||||
double drySampleL = inputSampleL;
|
||||
double drySampleR = inputSampleR;
|
||||
|
||||
if (inputGain != 1.0) {
|
||||
inputSampleL *= inputGain;
|
||||
inputSampleR *= inputGain;
|
||||
drySampleL *= inputGain;
|
||||
drySampleR *= inputGain;
|
||||
}
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
if (outputGain != 1.0) {
|
||||
inputSampleL *= outputGain;
|
||||
inputSampleR *= outputGain;
|
||||
}
|
||||
|
||||
if (wet !=1.0) {
|
||||
inputSampleL = (inputSampleL * wet) + (drySampleL * (1.0-wet));
|
||||
inputSampleR = (inputSampleR * wet) + (drySampleR * (1.0-wet));
|
||||
}
|
||||
|
||||
//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)) * 3.553e-44l * pow(2,expon+62));
|
||||
//frexp((double)inputSampleR, &expon);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
*out2 = inputSampleR;
|
||||
|
||||
in1++;
|
||||
in2++;
|
||||
out1++;
|
||||
out2++;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "PearLiteEQ.vst"
|
||||
BlueprintName = "PearLiteEQ"
|
||||
ReferencedContainer = "container:PearLiteEQ.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "PearLiteEQ.vst"
|
||||
BlueprintName = "PearLiteEQ"
|
||||
ReferencedContainer = "container:PearLiteEQ.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
|
|
@ -73,10 +73,12 @@ void PearLiteEQ::processReplacing(float **inputs, float **outputs, VstInt32 samp
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -155,10 +157,12 @@ void PearLiteEQ::processDoubleReplacing(double **inputs, double **outputs, VstIn
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -77,16 +77,19 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleL += band;
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
|
||||
fr = (0.92/overallscale)+(overallscale*0.01);
|
||||
band = inputSampleR; inputSampleR = 0.0;
|
||||
|
|
@ -99,16 +102,21 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleR += band;
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
X = inputSampleR * inputSampleR;
|
||||
temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (pad < 1.0) {
|
||||
|
|
@ -116,16 +124,45 @@ void PunchyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
inputSampleR *= pad;
|
||||
}
|
||||
|
||||
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI),M_PI));
|
||||
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI),M_PI));
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -208,16 +245,19 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleL += band;
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
|
||||
fr = (0.92/overallscale)+(overallscale*0.01);
|
||||
band = inputSampleR; inputSampleR = 0.0;
|
||||
|
|
@ -230,16 +270,21 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleR += band;
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
X = inputSampleR * inputSampleR;
|
||||
temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (pad < 1.0) {
|
||||
|
|
@ -247,16 +292,45 @@ void PunchyDeluxe::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
inputSampleR *= pad;
|
||||
}
|
||||
|
||||
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI),M_PI));
|
||||
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI),M_PI));
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
X = inputSampleR; X *= X; //long double for even
|
||||
temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
|
||||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -90,16 +90,19 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleL += (band*angG[9]);
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
}
|
||||
|
||||
if (gaterollerL < 1.0)
|
||||
|
|
@ -170,16 +173,21 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
}
|
||||
inputSampleR += (band*angG[9]);
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleR * inputSampleR;
|
||||
long double temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleR; X *= X; //long double for even
|
||||
long double temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (gaterollerR < 1.0)
|
||||
|
|
@ -210,10 +218,12 @@ void PunchyGuitar::processReplacing(float **inputs, float **outputs, VstInt32 sa
|
|||
//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));
|
||||
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-44l * 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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 32 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
@ -309,16 +319,19 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleL += (band*angG[9]);
|
||||
inputSampleL *= drive;
|
||||
inputSampleL = fmin(fmax(inputSampleL,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleL * inputSampleL;
|
||||
long double temp = inputSampleL * X;
|
||||
inputSampleL -= (temp*0.125); temp *= X;
|
||||
inputSampleL += (temp*0.0078125); temp *= X;
|
||||
inputSampleL -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleL += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleL -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
//retain mantissa of a long double increasing power function
|
||||
inputSampleL = fmin(fmax(inputSampleL,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleL; X *= X; //long double for even
|
||||
long double temp = inputSampleL * X; //the initial multiplies
|
||||
inputSampleL -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleL += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleL -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleL += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleL -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleL += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleL -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleL += temp*0.00000000000000000001957294106339126;
|
||||
}
|
||||
|
||||
if (gaterollerL < 1.0)
|
||||
|
|
@ -389,16 +402,21 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
}
|
||||
inputSampleR += (band*angG[9]);
|
||||
inputSampleR *= drive;
|
||||
inputSampleR = fmin(fmax(inputSampleR,-2.032610446872596),2.032610446872596);
|
||||
long double X = inputSampleR * inputSampleR;
|
||||
long double temp = inputSampleR * X;
|
||||
inputSampleR -= (temp*0.125); temp *= X;
|
||||
inputSampleR += (temp*0.0078125); temp *= X;
|
||||
inputSampleR -= (temp*0.000244140625); temp *= X;
|
||||
inputSampleR += (temp*0.000003814697265625); temp *= X;
|
||||
inputSampleR -= (temp*0.0000000298023223876953125); temp *= X;
|
||||
//purestsaturation: sine, except all the corrections
|
||||
inputSampleR = fmin(fmax(inputSampleR,-M_PI_2),M_PI_2);
|
||||
long double X = inputSampleR; X *= X; //long double for even
|
||||
long double temp = inputSampleR * X; //the initial multiplies
|
||||
inputSampleR -= temp*0.16666666666666666666666666666666666; temp *= X;
|
||||
inputSampleR += temp*0.00833333333333333333333333333333333; temp *= X;
|
||||
inputSampleR -= temp*0.00019841269841269841269841269841269; temp *= X;
|
||||
inputSampleR += temp*0.00000275573192239858906525573192239; temp *= X;
|
||||
inputSampleR -= temp*0.00000002505210838544171877521083854; temp *= X;
|
||||
inputSampleR += temp*0.00000000016059043836821614599392377; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000076471637318198164759011; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000281145725434552076319; temp *= X;
|
||||
inputSampleR -= temp*0.00000000000000000822063524662432971; temp *= X;
|
||||
inputSampleR += temp*0.00000000000000000001957294106339126;
|
||||
//retain mantissa of a long double increasing power function
|
||||
//long double probably doesn't handle more than 36 digits or so
|
||||
}
|
||||
|
||||
if (gaterollerR < 1.0)
|
||||
|
|
@ -429,10 +447,12 @@ void PunchyGuitar::processDoubleReplacing(double **inputs, double **outputs, Vst
|
|||
//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));
|
||||
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 3.553e-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));
|
||||
if (fpdL-fpdR < 1073741824 || fpdR-fpdL < 1073741824) {
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;}
|
||||
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 3.553e-44l * pow(2,expon+62));
|
||||
//end 64 bit stereo floating point dither
|
||||
|
||||
*out1 = inputSampleL;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "SoftClock3.vst"
|
||||
BlueprintName = "SoftClock3"
|
||||
ReferencedContainer = "container:SoftClock3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BuildableName = "SoftClock3.vst"
|
||||
BlueprintName = "SoftClock3"
|
||||
ReferencedContainer = "container:SoftClock3.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue