PointyDeluxe

This commit is contained in:
Christopher Johnson 2025-07-27 07:04:58 -04:00
parent 6761d77156
commit 52565448b1
209 changed files with 43692 additions and 1195 deletions

View file

@ -9,7 +9,7 @@ Actually it turns out that other devs can use this file to do amazing things lik
Ambience: ClearCoat, TapeDelay2, Doublelay, PitchDelay, SampleDelay, BrightAmbience3, TripleSpread, Melt, MV2, MV, ADT, kChamberAR, StereoChorus, PurestEcho, TapeDelay, StarChild2, StarChild, Hombre, BrightAmbience2, BrightAmbience, StereoEnsemble, StereoDoubler, Chorus, ChorusEnsemble, Ensemble
Amp Sims: PointyGuitar, ChimeyGuitar, GrindAmp, FireAmp, LeadAmp, CrickBass, Wolfbot, LilAmp, MidAmp, BigAmp, Cabs, BassDrive, BassAmp
Amp Sims: PointyGuitar, PointyDeluxe, ChimeyGuitar, GrindAmp, FireAmp, LeadAmp, CrickBass, Wolfbot, LilAmp, MidAmp, BigAmp, Cabs, BassDrive, BassAmp
Bass: DubSub2, OrbitKick, Elliptical, Hermepass, BassKit, DubCenter, DubSub, Floor, Infrasonic, FathomFive
@ -3972,6 +3972,30 @@ The reason I leave behaviors like that in there, in a plugin like Point, is that
:)
############ PointyDeluxe devours all mix space.
So this is one of the strangest things I've ever made. This is not normal.
What happens with PointyGuitar is, successive stages of EQ and saturation zero in on the tone of a guitar sound, which is also gated and run through a separate filterbank that's just a very steep and intensely colorful cutoff. You get intense tone shaping and the type of sonic confinement a speaker cab would give, at least to some extent: and though the colorfulness twists the phase like a physical speaker might, there are no resonances or colorations so there's a sonority there.
So what happens when you remove the gate and also the extra filterbank and use all the controls solely for fine-grained control over the core amp engine?
Terrifying, bad things :)
The thing is, PointyGuitar has the same number of bands PointyDeluxe has. Internally, it uses double the filter bands that you see in the controls. What it's doing is splitting the difference, smoothing the curve by applying intermediate settings.
With PointyDeluxe, you get to make a radical departure from this, and boost or cut much narrower bands… but it's using the AngleEQ code, which is not as stable as you'd think. So, in the same way that PointyGuitar can get frisky when you twist the knobs too much, PointyDeluxe can be unstable… more. In particular, if you boost a band and try to cut the band just below it, things get real messy. If you boost any band, that's where added gain comes from: it'll track whatever is the loudest band and set the gain from that. If you cut, there's a built-in pad which attenuates the whole output based on which band is the least. Any band set to zero will silence the plugin. If you set bands to almost nearly zero… it will probably not stop PointyDeluxe from exploding with strange howling noise.
Such are the fates of deeply abnormal plugins… at least Airwindows ones. This is one of the best plugins I've ever made for resembling a strange circuit board found in a drawer, which delivers wild pungent noises before it burns out. However, PointyDeluxe, being software, needn't burn out.
When you try to use it for good, what happens? The bands are named after Slipperman's Distorted Guitars From Hell, which seems appropriate. You can take a suitable band like 'Pick' and crank it up until it chugs. You can cut back the top two bands, Fizz and Hell (as in 'road to hell, lose a windshield up here') until the chug isn't that grating. You'll have to dial back the lows as the boost affects them too, and you'll have to make two slopes, one dialing it back until you reach another boost at H Meat or L Meat, and then below that you'll have to dial it back more, though you can't go too steep. All the 'sweet spots' for every band will be very fussy. But because of the topology of PointyDeluxe, you can do it. It'll be trying to blow up every second… some settings will sound like the amp is literally melting… but it can be done, you can replicate the tonal signature of a huge high-gain amp in PointyDeluxe.
And it sounds totally insane. What is it? It's distilled essence of heavy guitar without any blur or coloration. It's the searing intensity of a heavy amp (because of up to fifteen stages of EQ and overdrive) but this applies only to the chug, and because of how high gain distortion works, the full range sound is also constantly present around the edges. Functionally, that means the guitar sound gets shaped into chug or other sorts of intensity, but it also takes up ALL the space. There's no gloss to the highs, no rumble to the lows, it's stripped and bare in the weirdest way and three guitars of high gain PointyDeluxe might as well be a hundred.
My hope was to make the densest, most brutal heavy guitar tone ever. Didn't occur to me to ask 'is there such a thing as too brutal?' until I'd fired it up, using a new budget extended range guitar I got just for the purpose, and heard what I'd made.
There is probably such a thing as too brutal, and this is probably it. If you have a place for that, have fun!
############ PointyGuitar is a supremely adaptable instrument amp.
Sometimes the best way to get the performance of a very analog thing in a very digital format is to accentuate, not the spirit of the analog, but the capacities of the digital. What you get then is not fake gutless imitations of the artifacts of the analog thing, but the heart of why we go for that analog thing. Meet PointyGuitar, which is all amps. Just adjust… if, that is, you know what the analog sound is made of.

View file

@ -73,7 +73,9 @@ add_airwindows_plugin(Channel6)
add_airwindows_plugin(Channel7)
add_airwindows_plugin(Channel8)
add_airwindows_plugin(Channel9)
add_airwindows_plugin(ChimeyDeluxe)
add_airwindows_plugin(ChimeyGuitar)
add_airwindows_plugin(ChimeyGuitar2)
add_airwindows_plugin(Chorus)
add_airwindows_plugin(ChorusEnsemble)
add_airwindows_plugin(ChromeOxide)

View file

@ -0,0 +1,214 @@
/* ========================================
* ChimeyDeluxe - ChimeyDeluxe.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyDeluxe_H
#include "ChimeyDeluxe.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ChimeyDeluxe(audioMaster);}
ChimeyDeluxe::ChimeyDeluxe(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.5;
B = 0.5;
C = 0.5;
D = 0.5;
E = 0.5;
F = 0.5;
G = 0.5;
H = 0.5;
I = 0.5;
J = 0.5;
for(int x=0; x<21; x++) {
for(int y=0; y<11; y++) {
angSL[x][y] = 0.0;angAL[x][y] = 0.0;
angSR[x][y] = 0.0;angAR[x][y] = 0.0;
}
}
for(int y=0; y<11; y++) angG[y] = 0.0;
for(int count = 0; count < 36; count++) {
iirHPositionL[count] = 0.0;
iirHAngleL[count] = 0.0;
iirBPositionL[count] = 0.0;
iirBAngleL[count] = 0.0;
iirHPositionR[count] = 0.0;
iirHAngleR[count] = 0.0;
iirBPositionR[count] = 0.0;
iirBAngleR[count] = 0.0;
}
muCompL = 1.0;
muSpdL = 100.0;
muCompR = 1.0;
muSpdR = 100.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
}
ChimeyDeluxe::~ChimeyDeluxe() {}
VstInt32 ChimeyDeluxe::getVendorVersion () {return 1000;}
void ChimeyDeluxe::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void ChimeyDeluxe::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 ChimeyDeluxe::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
chunkData[3] = D;
chunkData[4] = E;
chunkData[5] = F;
chunkData[6] = G;
chunkData[7] = H;
chunkData[8] = I;
chunkData[9] = J;
/* 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 ChimeyDeluxe::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
D = pinParameter(chunkData[3]);
E = pinParameter(chunkData[4]);
F = pinParameter(chunkData[5]);
G = pinParameter(chunkData[6]);
H = pinParameter(chunkData[7]);
I = pinParameter(chunkData[8]);
J = pinParameter(chunkData[9]);
/* 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 ChimeyDeluxe::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
case kParamD: D = value; break;
case kParamE: E = value; break;
case kParamF: F = value; break;
case kParamG: G = value; break;
case kParamH: H = value; break;
case kParamI: I = value; break;
case kParamJ: J = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float ChimeyDeluxe::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
case kParamD: return D; break;
case kParamE: return E; break;
case kParamF: return F; break;
case kParamG: return G; break;
case kParamH: return H; break;
case kParamI: return I; break;
case kParamJ: return J; 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 ChimeyDeluxe::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "Hell", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "Fizz", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "Pick", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "Satan", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Danger", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "Crtical", kVstMaxParamStrLen); break;
case kParamG: vst_strncpy (text, "H Meat", kVstMaxParamStrLen); break;
case kParamH: vst_strncpy (text, "L Meat", kVstMaxParamStrLen); break;
case kParamI: vst_strncpy (text, "Swing", kVstMaxParamStrLen); break;
case kParamJ: vst_strncpy (text, "Rarely", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void ChimeyDeluxe::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
case kParamE: float2string (E, text, kVstMaxParamStrLen); break;
case kParamF: float2string (F, text, kVstMaxParamStrLen); break;
case kParamG: float2string (G, text, kVstMaxParamStrLen); break;
case kParamH: float2string (H, text, kVstMaxParamStrLen); break;
case kParamI: float2string (I, text, kVstMaxParamStrLen); break;
case kParamJ: float2string (J, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void ChimeyDeluxe::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamG: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamH: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamI: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamJ: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 ChimeyDeluxe::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool ChimeyDeluxe::getEffectName(char* name) {
vst_strncpy(name, "ChimeyDeluxe", kVstMaxProductStrLen); return true;
}
VstPlugCategory ChimeyDeluxe::getPlugCategory() {return kPlugCategEffect;}
bool ChimeyDeluxe::getProductString(char* text) {
vst_strncpy (text, "airwindows ChimeyDeluxe", kVstMaxProductStrLen); return true;
}
bool ChimeyDeluxe::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,100 @@
/* ========================================
* ChimeyDeluxe - ChimeyDeluxe.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyDeluxe_H
#define __ChimeyDeluxe_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA =0,
kParamB =1,
kParamC =2,
kParamD =3,
kParamE =4,
kParamF =5,
kParamG =6,
kParamH =7,
kParamI =8,
kParamJ =9,
kNumParameters = 10
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'cdlx'; //Change this to what the AU identity is!
class ChimeyDeluxe :
public AudioEffectX
{
public:
ChimeyDeluxe(audioMasterCallback audioMaster);
~ChimeyDeluxe();
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;
float D;
float E;
float F;
float G;
float H;
float I;
float J;
double angSL[18][12];
double angAL[18][12];
double iirHPositionL[37];
double iirHAngleL[37];
double iirBPositionL[37];
double iirBAngleL[37];
double muCompL;
double muSpdL;
double angSR[18][12];
double angAR[18][12];
double iirHPositionR[37];
double iirHAngleR[37];
double iirBPositionR[37];
double iirBAngleR[37];
double muCompR;
double muSpdR;
double angG[12];
uint32_t fpdL;
uint32_t fpdR;
//default stuff
};
#endif

View file

@ -0,0 +1,282 @@
/* ========================================
* ChimeyDeluxe - ChimeyDeluxe.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyDeluxe_H
#include "ChimeyDeluxe.h"
#endif
void ChimeyDeluxe::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double drive = 1.0;
double pad = 1.0;
angG[1] = A+0.5;
if (pad > angG[1]) pad = angG[1];
if (drive < angG[1]) drive = angG[1];
angG[0] = (1.0+angG[1])*0.5; //if boost, boost half
if (angG[0] > angG[1]) angG[0] = angG[1];
angG[2] = B+0.5;
if (pad > angG[2]) pad = angG[2];
if (drive < angG[2]) drive = angG[2];
angG[3] = C+0.5;
if (pad > angG[3]) pad = angG[3];
if (drive < angG[3]) drive = angG[3];
angG[4] = D+0.5;
if (pad > angG[4]) pad = angG[4];
if (drive < angG[4]) drive = angG[4];
angG[5] = E+0.5;
if (pad > angG[5]) pad = angG[5];
if (drive < angG[5]) drive = angG[5];
angG[6] = F+0.5;
if (pad > angG[6]) pad = angG[6];
if (drive < angG[6]) drive = angG[6];
angG[7] = G+0.5;
if (pad > angG[7]) pad = angG[7];
if (drive < angG[7]) drive = angG[7];
angG[8] = H+0.5;
if (pad > angG[8]) pad = angG[8];
if (drive < angG[8]) drive = angG[8];
angG[9] = I+0.5;
if (pad > angG[9]) pad = angG[9];
if (drive < angG[9]) drive = angG[9];
angG[10] = J+0.5;
if (pad > angG[10]) pad = angG[10];
if (drive < angG[10]) drive = angG[10];
angG[11] = 1.0;
angG[12] = 1.0;
double tune = 0.618+(overallscale*0.0055);
double threshold = 1.0-(drive*0.23);
double adjSpd = ((drive*120.0)+50.0)*overallscale;
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;
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSampleL; inputSampleL = 0.0;
for (int y = 0; y < 12; y++) {
angAL[x][y] = (angAL[x][y]*(1.0-fr)) + ((band-angSL[x][y])*fr);
double temp = band; band = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
angSL[x][y] = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleL += ((temp-band)*angG[y]);
fr *= tune;
}
inputSampleL += band;
inputSampleL *= threshold;
inputSampleL *= (muCompL/threshold);
if (fabs(inputSampleL) > threshold)
{
muCompL *= muSpdL;
if (threshold/fabs(inputSampleL) < threshold) muCompL += threshold*fabs(inputSampleL);
else muCompL -= threshold/fabs(inputSampleL);
muCompL /= muSpdL;
} else {
muCompL *= (muSpdL*muSpdL);
muCompL += ((1.1+threshold)-fabs(inputSampleL));
muCompL /= (muSpdL*muSpdL);
}
muCompL = fmax(fmin(muCompL,1.0),threshold);
inputSampleL *= (muCompL*muCompL);
muSpdL = fmax(fmin(((muSpdL*(muSpdL-1.0))+(fabs(inputSampleL*adjSpd)))/muSpdL,adjSpd*2.0),adjSpd);
}
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI_2),M_PI_2));
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSampleR; inputSampleR = 0.0;
for (int y = 0; y < 12; y++) {
angAR[x][y] = (angAR[x][y]*(1.0-fr)) + ((band-angSR[x][y])*fr);
double temp = band; band = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
angSR[x][y] = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleR += ((temp-band)*angG[y]);
fr *= tune;
}
inputSampleR += band;
inputSampleR *= threshold;
inputSampleR *= (muCompR/threshold);
if (fabs(inputSampleR) > threshold)
{
muCompR *= muSpdR;
if (threshold/fabs(inputSampleR) < threshold) muCompR += threshold*fabs(inputSampleR);
else muCompR -= threshold/fabs(inputSampleR);
muCompR /= muSpdR;
} else {
muCompR *= (muSpdR*muSpdR);
muCompR += ((1.1+threshold)-fabs(inputSampleR));
muCompR /= (muSpdR*muSpdR);
}
muCompR = fmax(fmin(muCompR,1.0),threshold);
inputSampleR *= (muCompR*muCompR);
muSpdR = fmax(fmin(((muSpdR*(muSpdR-1.0))+(fabs(inputSampleR*adjSpd)))/muSpdR,adjSpd*2.0),adjSpd);
}
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI_2),M_PI_2));
//begin 32 bit stereo floating point dither
int expon; frexpf((float)inputSampleL, &expon);
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
frexpf((float)inputSampleR, &expon);
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit stereo floating point dither
*out1 = inputSampleL;
*out2 = inputSampleR;
in1++;
in2++;
out1++;
out2++;
}
}
void ChimeyDeluxe::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double drive = 1.0;
double pad = 1.0;
angG[1] = A+0.5;
if (pad > angG[1]) pad = angG[1];
if (drive < angG[1]) drive = angG[1];
angG[0] = (1.0+angG[1])*0.5; //if boost, boost half
if (angG[0] > angG[1]) angG[0] = angG[1];
angG[2] = B+0.5;
if (pad > angG[2]) pad = angG[2];
if (drive < angG[2]) drive = angG[2];
angG[3] = C+0.5;
if (pad > angG[3]) pad = angG[3];
if (drive < angG[3]) drive = angG[3];
angG[4] = D+0.5;
if (pad > angG[4]) pad = angG[4];
if (drive < angG[4]) drive = angG[4];
angG[5] = E+0.5;
if (pad > angG[5]) pad = angG[5];
if (drive < angG[5]) drive = angG[5];
angG[6] = F+0.5;
if (pad > angG[6]) pad = angG[6];
if (drive < angG[6]) drive = angG[6];
angG[7] = G+0.5;
if (pad > angG[7]) pad = angG[7];
if (drive < angG[7]) drive = angG[7];
angG[8] = H+0.5;
if (pad > angG[8]) pad = angG[8];
if (drive < angG[8]) drive = angG[8];
angG[9] = I+0.5;
if (pad > angG[9]) pad = angG[9];
if (drive < angG[9]) drive = angG[9];
angG[10] = J+0.5;
if (pad > angG[10]) pad = angG[10];
if (drive < angG[10]) drive = angG[10];
angG[11] = 1.0;
angG[12] = 1.0;
double tune = 0.618+(overallscale*0.0055);
double threshold = 1.0-(drive*0.23);
double adjSpd = ((drive*120.0)+50.0)*overallscale;
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;
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSampleL; inputSampleL = 0.0;
for (int y = 0; y < 12; y++) {
angAL[x][y] = (angAL[x][y]*(1.0-fr)) + ((band-angSL[x][y])*fr);
double temp = band; band = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
angSL[x][y] = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleL += ((temp-band)*angG[y]);
fr *= tune;
}
inputSampleL += band;
inputSampleL *= threshold;
inputSampleL *= (muCompL/threshold);
if (fabs(inputSampleL) > threshold)
{
muCompL *= muSpdL;
if (threshold/fabs(inputSampleL) < threshold) muCompL += threshold*fabs(inputSampleL);
else muCompL -= threshold/fabs(inputSampleL);
muCompL /= muSpdL;
} else {
muCompL *= (muSpdL*muSpdL);
muCompL += ((1.1+threshold)-fabs(inputSampleL));
muCompL /= (muSpdL*muSpdL);
}
muCompL = fmax(fmin(muCompL,1.0),threshold);
inputSampleL *= (muCompL*muCompL);
muSpdL = fmax(fmin(((muSpdL*(muSpdL-1.0))+(fabs(inputSampleL*adjSpd)))/muSpdL,adjSpd*2.0),adjSpd);
}
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI_2),M_PI_2));
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSampleR; inputSampleR = 0.0;
for (int y = 0; y < 12; y++) {
angAR[x][y] = (angAR[x][y]*(1.0-fr)) + ((band-angSR[x][y])*fr);
double temp = band; band = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
angSR[x][y] = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleR += ((temp-band)*angG[y]);
fr *= tune;
}
inputSampleR += band;
inputSampleR *= threshold;
inputSampleR *= (muCompR/threshold);
if (fabs(inputSampleR) > threshold)
{
muCompR *= muSpdR;
if (threshold/fabs(inputSampleR) < threshold) muCompR += threshold*fabs(inputSampleR);
else muCompR -= threshold/fabs(inputSampleR);
muCompR /= muSpdR;
} else {
muCompR *= (muSpdR*muSpdR);
muCompR += ((1.1+threshold)-fabs(inputSampleR));
muCompR /= (muSpdR*muSpdR);
}
muCompR = fmax(fmin(muCompR,1.0),threshold);
inputSampleR *= (muCompR*muCompR);
muSpdR = fmax(fmin(((muSpdR*(muSpdR-1.0))+(fabs(inputSampleR*adjSpd)))/muSpdR,adjSpd*2.0),adjSpd);
}
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI_2),M_PI_2));
//begin 64 bit stereo floating point dither
//int expon; frexp((double)inputSampleL, &expon);
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
//frexp((double)inputSampleR, &expon);
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
//end 64 bit stereo floating point dither
*out1 = inputSampleL;
*out2 = inputSampleR;
in1++;
in2++;
out1++;
out2++;
}
}

View file

@ -0,0 +1,214 @@
/* ========================================
* ChimeyGuitar2 - ChimeyGuitar2.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyGuitar2_H
#include "ChimeyGuitar2.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ChimeyGuitar2(audioMaster);}
ChimeyGuitar2::ChimeyGuitar2(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.6;
B = 0.8;
C = 0.7;
D = 0.5;
E = 0.7;
F = 0.4;
G = 0.8;
H = 0.4;
I = 0.8;
J = 0.8;
for(int x=0; x<21; x++) {
for(int y=0; y<11; y++) {
angSL[x][y] = 0.0;angAL[x][y] = 0.0;
angSR[x][y] = 0.0;angAR[x][y] = 0.0;
}
}
for(int y=0; y<11; y++) angG[y] = 0.0;
for(int count = 0; count < 36; count++) {
iirHPositionL[count] = 0.0;
iirHAngleL[count] = 0.0;
iirBPositionL[count] = 0.0;
iirBAngleL[count] = 0.0;
iirHPositionR[count] = 0.0;
iirHAngleR[count] = 0.0;
iirBPositionR[count] = 0.0;
iirBAngleR[count] = 0.0;
}
muCompL = 1.0;
muSpdL = 100.0;
muCompR = 1.0;
muSpdR = 100.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
}
ChimeyGuitar2::~ChimeyGuitar2() {}
VstInt32 ChimeyGuitar2::getVendorVersion () {return 1000;}
void ChimeyGuitar2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void ChimeyGuitar2::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 ChimeyGuitar2::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
chunkData[3] = D;
chunkData[4] = E;
chunkData[5] = F;
chunkData[6] = G;
chunkData[7] = H;
chunkData[8] = I;
chunkData[9] = J;
/* 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 ChimeyGuitar2::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
D = pinParameter(chunkData[3]);
E = pinParameter(chunkData[4]);
F = pinParameter(chunkData[5]);
G = pinParameter(chunkData[6]);
H = pinParameter(chunkData[7]);
I = pinParameter(chunkData[8]);
J = pinParameter(chunkData[9]);
/* 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 ChimeyGuitar2::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
case kParamD: D = value; break;
case kParamE: E = value; break;
case kParamF: F = value; break;
case kParamG: G = value; break;
case kParamH: H = value; break;
case kParamI: I = value; break;
case kParamJ: J = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float ChimeyGuitar2::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
case kParamD: return D; break;
case kParamE: return E; break;
case kParamF: return F; break;
case kParamG: return G; break;
case kParamH: return H; break;
case kParamI: return I; break;
case kParamJ: return J; 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 ChimeyGuitar2::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "Compres", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "Presnce", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "High", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "Mid", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Low", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "Sub", kVstMaxParamStrLen); break;
case kParamG: vst_strncpy (text, "HSpeakr", kVstMaxParamStrLen); break;
case kParamH: vst_strncpy (text, "LSpeakr", kVstMaxParamStrLen); break;
case kParamI: vst_strncpy (text, "Speed", kVstMaxParamStrLen); break;
case kParamJ: vst_strncpy (text, "Output", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void ChimeyGuitar2::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
case kParamE: float2string (E, text, kVstMaxParamStrLen); break;
case kParamF: float2string (F, text, kVstMaxParamStrLen); break;
case kParamG: float2string (G, text, kVstMaxParamStrLen); break;
case kParamH: float2string (H, text, kVstMaxParamStrLen); break;
case kParamI: float2string (I, text, kVstMaxParamStrLen); break;
case kParamJ: float2string (J, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void ChimeyGuitar2::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamG: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamH: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamI: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamJ: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 ChimeyGuitar2::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool ChimeyGuitar2::getEffectName(char* name) {
vst_strncpy(name, "ChimeyGuitar2", kVstMaxProductStrLen); return true;
}
VstPlugCategory ChimeyGuitar2::getPlugCategory() {return kPlugCategEffect;}
bool ChimeyGuitar2::getProductString(char* text) {
vst_strncpy (text, "airwindows ChimeyGuitar2", kVstMaxProductStrLen); return true;
}
bool ChimeyGuitar2::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,100 @@
/* ========================================
* ChimeyGuitar2 - ChimeyGuitar2.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyGuitar2_H
#define __ChimeyGuitar2_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA =0,
kParamB =1,
kParamC =2,
kParamD =3,
kParamE =4,
kParamF =5,
kParamG =6,
kParamH =7,
kParamI =8,
kParamJ =9,
kNumParameters = 10
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'cgts'; //Change this to what the AU identity is!
class ChimeyGuitar2 :
public AudioEffectX
{
public:
ChimeyGuitar2(audioMasterCallback audioMaster);
~ChimeyGuitar2();
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;
float D;
float E;
float F;
float G;
float H;
float I;
float J;
double angSL[18][12];
double angAL[18][12];
double iirHPositionL[37];
double iirHAngleL[37];
double iirBPositionL[37];
double iirBAngleL[37];
double muCompL;
double muSpdL;
double angSR[18][12];
double angAR[18][12];
double iirHPositionR[37];
double iirHAngleR[37];
double iirBPositionR[37];
double iirBAngleR[37];
double muCompR;
double muSpdR;
double angG[12];
uint32_t fpdL;
uint32_t fpdR;
//default stuff
};
#endif

View file

@ -0,0 +1,296 @@
/* ========================================
* ChimeyGuitar2 - ChimeyGuitar2.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ChimeyGuitar2_H
#include "ChimeyGuitar2.h"
#endif
void ChimeyGuitar2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
int poles = (int)(pow(A,3.0)*20.0);
double threshold = 1.0-pow(A*0.9,2.0);
angG[0] = sqrt(B*2.0);
angG[2] = sqrt(C*2.0);
angG[4] = sqrt(D*2.0);
angG[6] = sqrt(E*2.0);
angG[8] = sqrt(F*2.0);
angG[1] = (angG[0]+angG[2])*0.5;
angG[3] = (angG[2]+angG[4])*0.5;
angG[5] = (angG[4]+angG[6])*0.5;
angG[7] = (angG[6]+angG[8])*0.5;
angG[9] = angG[8];
double hFreq = pow(G,overallscale);
double lFreq = pow(H,overallscale+3.0);
double adjSpd = ((I*180.0)+20.0)*overallscale;
double output = J;
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;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSampleL; inputSampleL = 0.0;
for (int y = 0; y < 9; y++) {
angAL[x][y] = (angAL[x][y]*(1.0-fr)) + ((band-angSL[x][y])*fr);
double temp = band; band = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
angSL[x][y] = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleL += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSampleL += (band*angG[9]);
inputSampleL *= (muCompL/threshold);
if (fabs(inputSampleL) > threshold)
{
muCompL *= muSpdL;
if (threshold/fabs(inputSampleL) < threshold) muCompL += threshold*fabs(inputSampleL);
else muCompL -= threshold/fabs(inputSampleL);
muCompL /= muSpdL;
} else {
muCompL *= (muSpdL*muSpdL);
muCompL += ((1.1+threshold)-fabs(inputSampleL));
muCompL /= (muSpdL*muSpdL);
}
muCompL = fmax(fmin(muCompL,1.0),threshold);
inputSampleL *= (muCompL*muCompL);
muSpdL = fmax(fmin(((muSpdL*(muSpdL-1.0))+(fabs(inputSampleL*adjSpd)))/muSpdL,adjSpd*2.0),adjSpd);
}
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI_2),M_PI_2));
double lowSample = inputSampleL;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngleL[count] = (iirBAngleL[count]*(1.0-lFreq))+((lowSample-iirBPositionL[count])*lFreq);
lowSample = ((iirBPositionL[count]+(iirBAngleL[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPositionL[count] = ((iirBPositionL[count]+(iirBAngleL[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSampleL -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngleL[count] = (iirHAngleL[count]*(1.0-hFreq))+((inputSampleL-iirHPositionL[count])*hFreq);
inputSampleL = ((iirHPositionL[count]+(iirHAngleL[count]*hFreq))*(1.0-hFreq))+(inputSampleL*hFreq);
iirHPositionL[count] = ((iirHPositionL[count]+(iirHAngleL[count]*hFreq))*(1.0-hFreq))+(inputSampleL*hFreq);
} //the lowpass
inputSampleL *= output;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSampleR; inputSampleR = 0.0;
for (int y = 0; y < 9; y++) {
angAR[x][y] = (angAR[x][y]*(1.0-fr)) + ((band-angSR[x][y])*fr);
double temp = band; band = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
angSR[x][y] = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleR += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSampleR += (band*angG[9]);
inputSampleR *= (muCompR/threshold);
if (fabs(inputSampleR) > threshold)
{
muCompR *= muSpdR;
if (threshold/fabs(inputSampleR) < threshold) muCompR += threshold*fabs(inputSampleR);
else muCompR -= threshold/fabs(inputSampleR);
muCompR /= muSpdR;
} else {
muCompR *= (muSpdR*muSpdR);
muCompR += ((1.1+threshold)-fabs(inputSampleR));
muCompR /= (muSpdR*muSpdR);
}
muCompR = fmax(fmin(muCompR,1.0),threshold);
inputSampleR *= (muCompR*muCompR);
muSpdR = fmax(fmin(((muSpdR*(muSpdR-1.0))+(fabs(inputSampleR*adjSpd)))/muSpdR,adjSpd*2.0),adjSpd);
}
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI_2),M_PI_2));
lowSample = inputSampleR;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngleR[count] = (iirBAngleR[count]*(1.0-lFreq))+((lowSample-iirBPositionR[count])*lFreq);
lowSample = ((iirBPositionR[count]+(iirBAngleR[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPositionR[count] = ((iirBPositionR[count]+(iirBAngleR[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSampleR -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngleR[count] = (iirHAngleR[count]*(1.0-hFreq))+((inputSampleR-iirHPositionR[count])*hFreq);
inputSampleR = ((iirHPositionR[count]+(iirHAngleR[count]*hFreq))*(1.0-hFreq))+(inputSampleR*hFreq);
iirHPositionR[count] = ((iirHPositionR[count]+(iirHAngleR[count]*hFreq))*(1.0-hFreq))+(inputSampleR*hFreq);
} //the lowpass
inputSampleR *= output;
//begin 32 bit stereo floating point dither
int expon; frexpf((float)inputSampleL, &expon);
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
frexpf((float)inputSampleR, &expon);
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit stereo floating point dither
*out1 = inputSampleL;
*out2 = inputSampleR;
in1++;
in2++;
out1++;
out2++;
}
}
void ChimeyGuitar2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
int poles = (int)(pow(A,3.0)*20.0);
double threshold = 1.0-pow(A*0.9,2.0);
angG[0] = sqrt(B*2.0);
angG[2] = sqrt(C*2.0);
angG[4] = sqrt(D*2.0);
angG[6] = sqrt(E*2.0);
angG[8] = sqrt(F*2.0);
angG[1] = (angG[0]+angG[2])*0.5;
angG[3] = (angG[2]+angG[4])*0.5;
angG[5] = (angG[4]+angG[6])*0.5;
angG[7] = (angG[6]+angG[8])*0.5;
angG[9] = angG[8];
double hFreq = pow(G,overallscale);
double lFreq = pow(H,overallscale+3.0);
double adjSpd = ((I*180.0)+20.0)*overallscale;
double output = J;
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;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSampleL; inputSampleL = 0.0;
for (int y = 0; y < 9; y++) {
angAL[x][y] = (angAL[x][y]*(1.0-fr)) + ((band-angSL[x][y])*fr);
double temp = band; band = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
angSL[x][y] = ((angSL[x][y]+(angAL[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleL += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSampleL += (band*angG[9]);
inputSampleL *= (muCompL/threshold);
if (fabs(inputSampleL) > threshold)
{
muCompL *= muSpdL;
if (threshold/fabs(inputSampleL) < threshold) muCompL += threshold*fabs(inputSampleL);
else muCompL -= threshold/fabs(inputSampleL);
muCompL /= muSpdL;
} else {
muCompL *= (muSpdL*muSpdL);
muCompL += ((1.1+threshold)-fabs(inputSampleL));
muCompL /= (muSpdL*muSpdL);
}
muCompL = fmax(fmin(muCompL,1.0),threshold);
inputSampleL *= (muCompL*muCompL);
muSpdL = fmax(fmin(((muSpdL*(muSpdL-1.0))+(fabs(inputSampleL*adjSpd)))/muSpdL,adjSpd*2.0),adjSpd);
}
inputSampleL = sin(fmin(fmax(inputSampleL,-M_PI_2),M_PI_2));
double lowSample = inputSampleL;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngleL[count] = (iirBAngleL[count]*(1.0-lFreq))+((lowSample-iirBPositionL[count])*lFreq);
lowSample = ((iirBPositionL[count]+(iirBAngleL[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPositionL[count] = ((iirBPositionL[count]+(iirBAngleL[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSampleL -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngleL[count] = (iirHAngleL[count]*(1.0-hFreq))+((inputSampleL-iirHPositionL[count])*hFreq);
inputSampleL = ((iirHPositionL[count]+(iirHAngleL[count]*hFreq))*(1.0-hFreq))+(inputSampleL*hFreq);
iirHPositionL[count] = ((iirHPositionL[count]+(iirHAngleL[count]*hFreq))*(1.0-hFreq))+(inputSampleL*hFreq);
} //the lowpass
inputSampleL *= output;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSampleR; inputSampleR = 0.0;
for (int y = 0; y < 9; y++) {
angAR[x][y] = (angAR[x][y]*(1.0-fr)) + ((band-angSR[x][y])*fr);
double temp = band; band = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
angSR[x][y] = ((angSR[x][y]+(angAR[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSampleR += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSampleR += (band*angG[9]);
inputSampleR *= (muCompR/threshold);
if (fabs(inputSampleR) > threshold)
{
muCompR *= muSpdR;
if (threshold/fabs(inputSampleR) < threshold) muCompR += threshold*fabs(inputSampleR);
else muCompR -= threshold/fabs(inputSampleR);
muCompR /= muSpdR;
} else {
muCompR *= (muSpdR*muSpdR);
muCompR += ((1.1+threshold)-fabs(inputSampleR));
muCompR /= (muSpdR*muSpdR);
}
muCompR = fmax(fmin(muCompR,1.0),threshold);
inputSampleR *= (muCompR*muCompR);
muSpdR = fmax(fmin(((muSpdR*(muSpdR-1.0))+(fabs(inputSampleR*adjSpd)))/muSpdR,adjSpd*2.0),adjSpd);
}
inputSampleR = sin(fmin(fmax(inputSampleR,-M_PI_2),M_PI_2));
lowSample = inputSampleR;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngleR[count] = (iirBAngleR[count]*(1.0-lFreq))+((lowSample-iirBPositionR[count])*lFreq);
lowSample = ((iirBPositionR[count]+(iirBAngleR[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPositionR[count] = ((iirBPositionR[count]+(iirBAngleR[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSampleR -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngleR[count] = (iirHAngleR[count]*(1.0-hFreq))+((inputSampleR-iirHPositionR[count])*hFreq);
inputSampleR = ((iirHPositionR[count]+(iirHAngleR[count]*hFreq))*(1.0-hFreq))+(inputSampleR*hFreq);
iirHPositionR[count] = ((iirHPositionR[count]+(iirHAngleR[count]*hFreq))*(1.0-hFreq))+(inputSampleR*hFreq);
} //the lowpass
inputSampleR *= output;
//begin 64 bit stereo floating point dither
//int expon; frexp((double)inputSampleL, &expon);
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
//inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
//frexp((double)inputSampleR, &expon);
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
//inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62));
//end 64 bit stereo floating point dither
*out1 = inputSampleL;
*out2 = inputSampleR;
in1++;
in2++;
out1++;
out2++;
}
}

View file

@ -78,10 +78,7 @@ kAlienSpaceship::kAlienSpaceship(audioMasterCallback audioMaster) :
f6AL = f6BL = f6CL = f6DL = f6EL = f6FL = 0.0;
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) {
bez[x] = 0.0;
bezF[x] = 0.0;
@ -182,7 +179,7 @@ void kAlienSpaceship::getParameterName(VstInt32 index, char *text) {
case kParamB: vst_strncpy (text, "Derez", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "Filter", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "EarlyRF", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Predlay", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Positin", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host

View file

@ -34,6 +34,8 @@ const int d3G = 2029; const int d3H = 2261; const int d3I = 2712;
const int d6A = 1498; const int d6B = 82; const int d6C = 631; const int d6D = 762; const int d6E = 1241; const int d6F = 79; const int d6G = 821; const int d6H = 1315; const int d6I = 2261; const int d6J = 2029; const int d6K = 108; const int d6L = 2712; const int d6M = 305; const int d6N = 671; const int d6O = 13; const int d6P = 913; const int d6Q = 1999; const int d6R = 600; const int d6S = 826; const int d6T = 3376; const int d6U = 969; const int d6V = 2639; const int d6W = 915; const int d6X = 1173; const int d6Y = 1345; const int d6ZA = 4370; const int d6ZB = 4367; const int d6ZC = 2549; const int d6ZD = 227; const int d6ZE = 696; const int d6ZF = 1332; const int d6ZG = 1503; const int d6ZH = 627; const int d6ZI = 322; const int d6ZJ = 451; const int d6ZK = 2706; //18 to 377 ms, 4660 seat arena
#define SIXBYSIX true //4660-GEBBDI-HHDXFK6 kAlienSpaceship
const int early[] = {13, 79, 82, 108, 227, 305, 322, 451, 600, 627, 631, 671, 696, 762, 821, 826, 913, 915, 969, 1173, 1241, 1315, 1332, 1345, 1498, 1503, 1999, 2029, 2261, 2549, 2639, 2706, 2712, 3376, 4367, 4370};
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
@ -178,10 +180,6 @@ private:
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -27,7 +27,16 @@ void kAlienSpaceship::processReplacing(float **inputs, float **outputs, VstInt32
double derezFreq = pow(C,3.0)+0.01;
if (derezFreq > 1.0) derezFreq = 1.0;
double earlyLoudness = D;
int adjPredelay = predelay*E*derez;
int start = (int)(E * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = F;
while (--sampleFrames >= 0)
@ -45,15 +54,7 @@ void kAlienSpaceship::processReplacing(float **inputs, float **outputs, VstInt32
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -65,19 +66,19 @@ void kAlienSpaceship::processReplacing(float **inputs, float **outputs, VstInt32
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -86,19 +87,19 @@ void kAlienSpaceship::processReplacing(float **inputs, float **outputs, VstInt32
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -107,19 +108,19 @@ void kAlienSpaceship::processReplacing(float **inputs, float **outputs, VstInt32
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;
@ -498,7 +499,16 @@ void kAlienSpaceship::processDoubleReplacing(double **inputs, double **outputs,
double derezFreq = pow(C,3.0)+0.01;
if (derezFreq > 1.0) derezFreq = 1.0;
double earlyLoudness = D;
int adjPredelay = predelay*E*derez;
int start = (int)(E * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = F;
while (--sampleFrames >= 0)
@ -516,15 +526,7 @@ void kAlienSpaceship::processDoubleReplacing(double **inputs, double **outputs,
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -536,19 +538,19 @@ void kAlienSpaceship::processDoubleReplacing(double **inputs, double **outputs,
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -557,19 +559,19 @@ void kAlienSpaceship::processDoubleReplacing(double **inputs, double **outputs,
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -578,19 +580,19 @@ void kAlienSpaceship::processDoubleReplacing(double **inputs, double **outputs,
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -79,9 +79,6 @@ kGuitarHall2::kGuitarHall2(audioMasterCallback audioMaster) :
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
bez[bez_cycle] = 1.0;
@ -180,7 +177,7 @@ void kGuitarHall2::getParameterName(VstInt32 index, char *text) {
case kParamB: vst_strncpy (text, "Derez", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "Filter", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "EarlyRF", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Predlay", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Positin", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host

View file

@ -34,6 +34,8 @@ const int d3G = 575; const int d3H = 771; const int d3I = 1257;
const int d6A = 121; const int d6B = 1396; const int d6C = 784; const int d6D = 184; const int d6E = 132; const int d6F = 434; const int d6G = 91; const int d6H = 144; const int d6I = 155; const int d6J = 771; const int d6K = 122; const int d6L = 1288; const int d6M = 191; const int d6N = 224; const int d6O = 108; const int d6P = 35; const int d6Q = 1257; const int d6R = 575; const int d6S = 504; const int d6T = 264; const int d6U = 198; const int d6V = 14; const int d6W = 246; const int d6X = 81; const int d6Y = 17; const int d6ZA = 71; const int d6ZB = 1015; const int d6ZC = 1258; const int d6ZD = 24; const int d6ZE = 7; const int d6ZF = 255; const int d6ZG = 72; const int d6ZH = 68; const int d6ZI = 117; const int d6ZJ = 1188; const int d6ZK = 339; //6 to 156 ms, 784 seat theater
#define SIXBYSIX true //784-EFCCFE-JLBY6 kGuitarHall2
const int early[] = {7, 14, 17, 24, 35, 68, 71, 72, 81, 91, 108, 117, 121, 122, 132, 144, 155, 184, 191, 198, 224, 246, 255, 264, 339, 434, 504, 575, 771, 784, 1015, 1188, 1257, 1258, 1288, 1396};
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
@ -177,11 +179,7 @@ private:
double f6AL,f6BL,f6CL,f6DL,f6EL,f6FL;
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -25,7 +25,16 @@ void kGuitarHall2::processReplacing(float **inputs, float **outputs, VstInt32 sa
if (derez < 0.0005) derez = 0.0005; if (derez > 1.0) derez = 1.0;
double freq = C+0.02;
double earlyLoudness = D;
int adjPredelay = predelay*E*derez;
int start = (int)(E * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = F;
while (--sampleFrames >= 0)
@ -44,14 +53,6 @@ void kGuitarHall2::processReplacing(float **inputs, float **outputs, VstInt32 sa
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -63,19 +64,19 @@ void kGuitarHall2::processReplacing(float **inputs, float **outputs, VstInt32 sa
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -84,19 +85,19 @@ void kGuitarHall2::processReplacing(float **inputs, float **outputs, VstInt32 sa
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -105,19 +106,19 @@ void kGuitarHall2::processReplacing(float **inputs, float **outputs, VstInt32 sa
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;
@ -500,7 +501,16 @@ void kGuitarHall2::processDoubleReplacing(double **inputs, double **outputs, Vst
if (derez < 0.0005) derez = 0.0005; if (derez > 1.0) derez = 1.0;
double freq = C+0.02;
double earlyLoudness = D;
int adjPredelay = predelay*E*derez;
int start = (int)(E * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = F;
while (--sampleFrames >= 0)
@ -519,14 +529,6 @@ void kGuitarHall2::processDoubleReplacing(double **inputs, double **outputs, Vst
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -538,19 +540,19 @@ void kGuitarHall2::processDoubleReplacing(double **inputs, double **outputs, Vst
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -559,19 +561,19 @@ void kGuitarHall2::processDoubleReplacing(double **inputs, double **outputs, Vst
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -580,19 +582,19 @@ void kGuitarHall2::processDoubleReplacing(double **inputs, double **outputs, Vst
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -0,0 +1,355 @@
/*
* File: ChimeyDeluxe.cpp
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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.
*
*/
/*=============================================================================
ChimeyDeluxe.cpp
=============================================================================*/
#include "ChimeyDeluxe.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMPONENT_ENTRY(ChimeyDeluxe)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxe
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ChimeyDeluxe::ChimeyDeluxe(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_A, kDefaultValue_ParamA );
SetParameter(kParam_B, kDefaultValue_ParamB );
SetParameter(kParam_C, kDefaultValue_ParamC );
SetParameter(kParam_D, kDefaultValue_ParamD );
SetParameter(kParam_E, kDefaultValue_ParamE );
SetParameter(kParam_F, kDefaultValue_ParamF );
SetParameter(kParam_G, kDefaultValue_ParamG );
SetParameter(kParam_H, kDefaultValue_ParamH );
SetParameter(kParam_I, kDefaultValue_ParamI );
SetParameter(kParam_J, kDefaultValue_ParamJ );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::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;
case kParam_D:
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamD;
break;
case kParam_E:
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamE;
break;
case kParam_F:
AUBase::FillInParameterName (outParameterInfo, kParameterFName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamF;
break;
case kParam_G:
AUBase::FillInParameterName (outParameterInfo, kParameterGName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamG;
break;
case kParam_H:
AUBase::FillInParameterName (outParameterInfo, kParameterHName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamH;
break;
case kParam_I:
AUBase::FillInParameterName (outParameterInfo, kParameterIName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamI;
break;
case kParam_J:
AUBase::FillInParameterName (outParameterInfo, kParameterJName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamJ;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ChimeyDeluxe::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ChimeyDeluxeEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxeKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyDeluxe::ChimeyDeluxeKernel::Reset()
{
for(int x=0; x<17; x++) {
for(int y=0; y<14; y++) {
angS[x][y] = 0.0;angA[x][y] = 0.0;
}
}
for(int y=0; y<14; y++) {
angG[y] = 0.0;
}
muComp = 1.0;
muSpd = 100.0;
lastSample = 0.0;
wasPosClip = false;
wasNegClip = false;
for (int x = 0; x < 16; x++) intermediate[x] = 0.0;
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxeKernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyDeluxe::ChimeyDeluxeKernel::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 drive = 1.0;
double pad = 1.0;
angG[1] = GetParameter( kParam_A )+0.5;
if (pad > angG[1]) pad = angG[1];
if (drive < angG[1]) drive = angG[1];
angG[0] = (1.0+angG[1])*0.5; //if boost, boost half
if (angG[0] > angG[1]) angG[0] = angG[1];
angG[2] = GetParameter( kParam_B )+0.5;
if (pad > angG[2]) pad = angG[2];
if (drive < angG[2]) drive = angG[2];
angG[3] = GetParameter( kParam_C )+0.5;
if (pad > angG[3]) pad = angG[3];
if (drive < angG[3]) drive = angG[3];
angG[4] = GetParameter( kParam_D )+0.5;
if (pad > angG[4]) pad = angG[4];
if (drive < angG[4]) drive = angG[4];
angG[5] = GetParameter( kParam_E )+0.5;
if (pad > angG[5]) pad = angG[5];
if (drive < angG[5]) drive = angG[5];
angG[6] = GetParameter( kParam_F )+0.5;
if (pad > angG[6]) pad = angG[6];
if (drive < angG[6]) drive = angG[6];
angG[7] = GetParameter( kParam_G )+0.5;
if (pad > angG[7]) pad = angG[7];
if (drive < angG[7]) drive = angG[7];
angG[8] = GetParameter( kParam_H )+0.5;
if (pad > angG[8]) pad = angG[8];
if (drive < angG[8]) drive = angG[8];
angG[9] = GetParameter( kParam_I )+0.5;
if (pad > angG[9]) pad = angG[9];
if (drive < angG[9]) drive = angG[9];
angG[10] = GetParameter( kParam_J )+0.5;
if (pad > angG[10]) pad = angG[10];
if (drive < angG[10]) drive = angG[10];
angG[11] = 1.0;
angG[12] = 1.0;
double tune = 0.618+(overallscale*0.0055);
double threshold = 1.0-(drive*0.23);
double adjSpd = ((drive*120.0)+50.0)*overallscale;
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSample; inputSample = 0.0;
for (int y = 0; y < 12; y++) {
angA[x][y] = (angA[x][y]*(1.0-fr)) + ((band-angS[x][y])*fr);
double temp = band; band = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
angS[x][y] = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSample += ((temp-band)*angG[y]);
fr *= tune;
}
inputSample += band;
inputSample *= threshold;
inputSample *= (muComp/threshold);
if (fabs(inputSample) > threshold)
{
muComp *= muSpd;
if (threshold/fabs(inputSample) < threshold) muComp += threshold*fabs(inputSample);
else muComp -= threshold/fabs(inputSample);
muComp /= muSpd;
} else {
muComp *= (muSpd*muSpd);
muComp += ((1.1+threshold)-fabs(inputSample));
muComp /= (muSpd*muSpd);
}
muComp = fmax(fmin(muComp,1.0),threshold);
inputSample *= (muComp*muComp);
muSpd = fmax(fmin(((muSpd*(muSpd-1.0))+(fabs(inputSample*adjSpd)))/muSpd,adjSpd*2.0),adjSpd);
}
inputSample = sin(fmin(fmax(inputSample*pad,-M_PI_2),M_PI_2));
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1 @@
_ChimeyDeluxeEntry

View file

@ -0,0 +1,173 @@
/*
* File: ChimeyDeluxe.h
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 "ChimeyDeluxeVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ChimeyDeluxe_h__
#define __ChimeyDeluxe_h__
#pragma mark ____ChimeyDeluxe Parameters
// parameters
static const float kDefaultValue_ParamA = 0.5;
static const float kDefaultValue_ParamB = 0.5;
static const float kDefaultValue_ParamC = 0.5;
static const float kDefaultValue_ParamD = 0.5;
static const float kDefaultValue_ParamE = 0.5;
static const float kDefaultValue_ParamF = 0.5;
static const float kDefaultValue_ParamG = 0.5;
static const float kDefaultValue_ParamH = 0.5;
static const float kDefaultValue_ParamI = 0.5;
static const float kDefaultValue_ParamJ = 0.5;
static CFStringRef kParameterAName = CFSTR("Hell");
static CFStringRef kParameterBName = CFSTR("Fizz");
static CFStringRef kParameterCName = CFSTR("Pick");
static CFStringRef kParameterDName = CFSTR("Satan");
static CFStringRef kParameterEName = CFSTR("Danger");
static CFStringRef kParameterFName = CFSTR("Crtical");
static CFStringRef kParameterGName = CFSTR("H Meat");
static CFStringRef kParameterHName = CFSTR("L Meat");
static CFStringRef kParameterIName = CFSTR("Swing");
static CFStringRef kParameterJName = CFSTR("Rarely");
enum {
kParam_A =0,
kParam_B =1,
kParam_C =2,
kParam_D =3,
kParam_E =4,
kParam_F =5,
kParam_G =6,
kParam_H =7,
kParam_I =8,
kParam_J =9,
//Add your parameters here...
kNumberOfParameters=10
};
#pragma mark ____ChimeyDeluxe
class ChimeyDeluxe : public AUEffectBase
{
public:
ChimeyDeluxe(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ChimeyDeluxe () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new ChimeyDeluxeKernel(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 kChimeyDeluxeVersion; }
protected:
class ChimeyDeluxeKernel : public AUKernelBase // most of the real work happens here
{
public:
ChimeyDeluxeKernel(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:
double angS[18][16];
double angA[18][16];
double angG[16];
double muComp;
double muSpd;
double lastSample;
double intermediate[16];
bool wasPosClip;
bool wasNegClip;
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ChimeyDeluxe.r
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 "ChimeyDeluxeVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ChimeyDeluxe 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ChimeyDeluxe~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ChimeyDeluxe
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ChimeyDeluxe_COMP_SUBTYPE
#define COMP_MANUF ChimeyDeluxe_COMP_MANF
#define VERSION kChimeyDeluxeVersion
#define NAME "Airwindows: ChimeyDeluxe"
#define DESCRIPTION "ChimeyDeluxe AU"
#define ENTRY_POINT "ChimeyDeluxeEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,159 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */;
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
188,
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 = 774987717;
PBXWorkspaceStateSaveDate = 774987717;
};
perUserProjectItems = {
8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */ = 8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */;
8B42CBD92E315A03001C0B57 /* PBXTextBookmark */ = 8B42CBD92E315A03001C0B57 /* PBXTextBookmark */;
8BB30DEF2E315FE100663A45 /* PBXTextBookmark */ = 8BB30DEF2E315FE100663A45 /* PBXTextBookmark */;
8BB30DF42E315FE100663A45 /* PBXTextBookmark */ = 8BB30DF42E315FE100663A45 /* PBXTextBookmark */;
8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */ = 8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/ChimeyDeluxe/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8B42CBD92E315A03001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */;
name = "ChimeyDeluxe.h: 166";
rLen = 0;
rLoc = 6270;
rType = 0;
vrLen = 148;
vrLoc = 3;
};
8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {498, 6516}}";
sepNavSelRange = "{13609, 0}";
sepNavVisRange = "{13592, 100}";
sepNavWindowFrame = "{{5, 74}, {967, 804}}";
};
};
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{2738, 251}";
sepNavWindowFrame = "{{38, 48}, {967, 804}}";
};
};
8BB30DEF2E315FE100663A45 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */;
name = "ChimeyDeluxe.cpp: 305";
rLen = 0;
rLoc = 13609;
rType = 0;
vrLen = 100;
vrLoc = 13592;
};
8BB30DF42E315FE100663A45 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */;
name = "ChimeyDeluxe.cpp: 305";
rLen = 0;
rLoc = 13609;
rType = 0;
vrLen = 100;
vrLoc = 13592;
};
8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 2772}}";
sepNavSelRange = "{3310, 0}";
sepNavVisRange = "{2759, 1223}";
sepNavWindowFrame = "{{7, 74}, {967, 804}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */;
name = "ChimeyDeluxeVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 251;
vrLoc = 2738;
};
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
activeExec = 0;
};
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,490 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
8B4119B70749654200361ABE /* ChimeyDeluxe.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ChimeyDeluxe.r */; };
8BA05A6B0720730100365D66 /* ChimeyDeluxe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */; };
8BA05A6E0720730100365D66 /* ChimeyDeluxeVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */; };
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; };
8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; };
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; };
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; };
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; };
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; };
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; };
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; };
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; };
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; };
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; };
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; };
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; };
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; };
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; };
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; };
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; };
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; };
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; };
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; };
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; };
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; };
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; };
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; };
8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; };
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; };
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; };
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; };
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; };
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; };
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; };
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; };
8BC6025C073B072D006C4272 /* ChimeyDeluxe.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */; };
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChimeyDeluxe.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ChimeyDeluxe.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ChimeyDeluxe.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ChimeyDeluxe.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ChimeyDeluxe.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyDeluxeVersion.h; sourceTree = "<group>"; };
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyDeluxe.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ChimeyDeluxe.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChimeyDeluxe.component; sourceTree = BUILT_PRODUCTS_DIR; };
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; };
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */,
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */,
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
089C166AFE841209C02AAC07 /* ChimeyDeluxe */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ChimeyDeluxe;
sourceTree = "<group>";
};
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
8BA05B01072074F900365D66 /* CoreServices.framework */,
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
);
name = "External Frameworks and Libraries";
sourceTree = "<group>";
};
089C167CFE841241C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
8D01CCD10486CAD60068D4B7 /* Info.plist */,
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
);
name = Resources;
sourceTree = "<group>";
};
08FB77ADFE841716C02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
8BA05A56072072A900365D66 /* AU Source */,
8BA05AEB0720742700365D66 /* PublicUtility */,
8BA05A7D072073D200365D66 /* AUPublic */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ChimeyDeluxe.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */,
8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */,
8BA05A670720730100365D66 /* ChimeyDeluxe.exp */,
8BA05A680720730100365D66 /* ChimeyDeluxe.r */,
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
8BA05A7D072073D200365D66 /* AUPublic */ = {
isa = PBXGroup;
children = (
8BA05A7E072073D200365D66 /* AUBase */,
8BA05A99072073D200365D66 /* OtherBases */,
8BA05AA6072073D200365D66 /* Utility */,
);
name = AUPublic;
path = Extras/CoreAudio/AudioUnits/AUPublic;
sourceTree = SYSTEM_DEVELOPER_DIR;
};
8BA05A7E072073D200365D66 /* AUBase */ = {
isa = PBXGroup;
children = (
8BA05A7F072073D200365D66 /* AUBase.cpp */,
8BA05A80072073D200365D66 /* AUBase.h */,
8BA05A81072073D200365D66 /* AUDispatch.cpp */,
8BA05A82072073D200365D66 /* AUDispatch.h */,
8BA05A83072073D200365D66 /* AUInputElement.cpp */,
8BA05A84072073D200365D66 /* AUInputElement.h */,
8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
8BA05A86072073D200365D66 /* AUOutputElement.h */,
8BA05A87072073D200365D66 /* AUResources.r */,
8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
8BA05A89072073D200365D66 /* AUScopeElement.h */,
8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
8BA05A8B072073D200365D66 /* ComponentBase.h */,
);
path = AUBase;
sourceTree = "<group>";
};
8BA05A99072073D200365D66 /* OtherBases */ = {
isa = PBXGroup;
children = (
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BA05AA6072073D200365D66 /* Utility */ = {
isa = PBXGroup;
children = (
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
8BA05AA8072073D200365D66 /* AUBuffer.h */,
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
);
path = Utility;
sourceTree = "<group>";
};
8BA05AEB0720742700365D66 /* PublicUtility */ = {
isa = PBXGroup;
children = (
8BA05B050720754400365D66 /* CAAUParameter.cpp */,
8BA05B060720754400365D66 /* CAAUParameter.h */,
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
8BA05AE10720742100365D66 /* CAMutex.cpp */,
8BA05AE20720742100365D66 /* CAMutex.h */,
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
);
name = PublicUtility;
path = Extras/CoreAudio/PublicUtility;
sourceTree = SYSTEM_DEVELOPER_DIR;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6E0720730100365D66 /* ChimeyDeluxeVersion.h in Headers */,
8BA05AAF072073D300365D66 /* AUBase.h in Headers */,
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */,
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */,
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */,
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */,
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */,
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */,
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */,
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */,
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */,
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */,
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */,
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */,
8BA05AE80720742100365D66 /* CAMutex.h in Headers */,
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */,
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */,
8BC6025C073B072D006C4272 /* ChimeyDeluxe.h in Headers */,
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */,
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */,
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyDeluxe" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = ChimeyDeluxe;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ChimeyDeluxe;
productReference = 8D01CCD20486CAD60068D4B7 /* ChimeyDeluxe.component */;
productType = "com.apple.product-type.bundle";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
089C1669FE841209C02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyDeluxe" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 089C166AFE841209C02AAC07 /* ChimeyDeluxe */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D01CCC90486CAD60068D4B7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXRezBuildPhase section */
8D01CCCF0486CAD60068D4B7 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
files = (
8B4119B70749654200361ABE /* ChimeyDeluxe.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6B0720730100365D66 /* ChimeyDeluxe.cpp in Sources */,
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C167EFE841241C02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
3E4BA244089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXPORTED_SYMBOLS_FILE = ChimeyDeluxe.exp;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
OTHER_LDFLAGS = "-bundle";
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = ChimeyDeluxe;
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
x86_64,
);
EXPORTED_SYMBOLS_FILE = ChimeyDeluxe.exp;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_LDFLAGS = "-bundle";
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = ChimeyDeluxe;
SDKROOT = macosx10.5;
STRIP_INSTALLED_PRODUCT = YES;
STRIP_STYLE = all;
WRAPPER_EXTENSION = component;
};
name = Release;
};
3E4BA248089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = c99;
SDKROOT = macosx10.6;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
};
name = Debug;
};
3E4BA249089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = c99;
SDKROOT = macosx10.6;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA248089833B7007656EC /* Debug */,
3E4BA249089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -0,0 +1,58 @@
/*
* File: ChimeyDeluxeVersion.h
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 __ChimeyDeluxeVersion_h__
#define __ChimeyDeluxeVersion_h__
#ifdef DEBUG
#define kChimeyDeluxeVersion 0xFFFFFFFF
#else
#define kChimeyDeluxeVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ChimeyDeluxe_COMP_MANF 'Dthr'
#define ChimeyDeluxe_COMP_SUBTYPE 'cdlx'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#endif

Binary file not shown.

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
<key>CFBundleName</key>
<string>${PROJECTNAMEASIDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>DthX</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View 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>

View file

@ -0,0 +1,343 @@
/*
* File: ChimeyGuitar2.cpp
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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.
*
*/
/*=============================================================================
ChimeyGuitar2.cpp
=============================================================================*/
#include "ChimeyGuitar2.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMPONENT_ENTRY(ChimeyGuitar2)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ChimeyGuitar2::ChimeyGuitar2(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_A, kDefaultValue_ParamA );
SetParameter(kParam_B, kDefaultValue_ParamB );
SetParameter(kParam_C, kDefaultValue_ParamC );
SetParameter(kParam_D, kDefaultValue_ParamD );
SetParameter(kParam_E, kDefaultValue_ParamE );
SetParameter(kParam_F, kDefaultValue_ParamF );
SetParameter(kParam_G, kDefaultValue_ParamG );
SetParameter(kParam_H, kDefaultValue_ParamH );
SetParameter(kParam_I, kDefaultValue_ParamI );
SetParameter(kParam_J, kDefaultValue_ParamJ );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::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;
case kParam_D:
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamD;
break;
case kParam_E:
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamE;
break;
case kParam_F:
AUBase::FillInParameterName (outParameterInfo, kParameterFName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamF;
break;
case kParam_G:
AUBase::FillInParameterName (outParameterInfo, kParameterGName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamG;
break;
case kParam_H:
AUBase::FillInParameterName (outParameterInfo, kParameterHName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamH;
break;
case kParam_I:
AUBase::FillInParameterName (outParameterInfo, kParameterIName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamI;
break;
case kParam_J:
AUBase::FillInParameterName (outParameterInfo, kParameterJName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamJ;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ChimeyGuitar2::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ChimeyGuitar2EffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2Kernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyGuitar2::ChimeyGuitar2Kernel::Reset()
{
for(int x=0; x<21; x++) {
for(int y=0; y<11; y++) {
angS[x][y] = 0.0; angA[x][y] = 0.0; angG[y] = 0.0;
}
}
muComp = 1.0;
muSpd = 100.0;
for(int count = 0; count < 36; count++) {
iirHPosition[count] = 0.0;
iirHAngle[count] = 0.0;
iirBPosition[count] = 0.0;
iirBAngle[count] = 0.0;
}
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2Kernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyGuitar2::ChimeyGuitar2Kernel::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();
int poles = (int)(pow(GetParameter( kParam_A ),3.0)*20.0);
double threshold = 1.0-pow(GetParameter( kParam_A )*0.9,2.0);
angG[0] = sqrt(GetParameter( kParam_B )*2.0);
angG[2] = sqrt(GetParameter( kParam_C )*2.0);
angG[4] = sqrt(GetParameter( kParam_D )*2.0);
angG[6] = sqrt(GetParameter( kParam_E )*2.0);
angG[8] = sqrt(GetParameter( kParam_F )*2.0);
angG[1] = (angG[0]+angG[2])*0.5;
angG[3] = (angG[2]+angG[4])*0.5;
angG[5] = (angG[4]+angG[6])*0.5;
angG[7] = (angG[6]+angG[8])*0.5;
angG[9] = angG[8];
double hFreq = pow(GetParameter( kParam_G ),overallscale);
double lFreq = pow(GetParameter( kParam_H ),overallscale+3.0);
double adjSpd = ((GetParameter( kParam_I )*180.0)+20.0)*overallscale;
double output = GetParameter( kParam_J );
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSample; inputSample = 0.0;
for (int y = 0; y < 9; y++) {
angA[x][y] = (angA[x][y]*(1.0-fr)) + ((band-angS[x][y])*fr);
double temp = band; band = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
angS[x][y] = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSample += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSample += (band*angG[9]);
inputSample *= (muComp/threshold);
if (fabs(inputSample) > threshold)
{
muComp *= muSpd;
if (threshold/fabs(inputSample) < threshold) muComp += threshold*fabs(inputSample);
else muComp -= threshold/fabs(inputSample);
muComp /= muSpd;
} else {
muComp *= (muSpd*muSpd);
muComp += ((1.1+threshold)-fabs(inputSample));
muComp /= (muSpd*muSpd);
}
muComp = fmax(fmin(muComp,1.0),threshold);
inputSample *= (muComp*muComp);
muSpd = fmax(fmin(((muSpd*(muSpd-1.0))+(fabs(inputSample*adjSpd)))/muSpd,adjSpd*2.0),adjSpd);
}
inputSample = sin(fmin(fmax(inputSample,-M_PI_2),M_PI_2));
double lowSample = inputSample;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngle[count] = (iirBAngle[count]*(1.0-lFreq))+((lowSample-iirBPosition[count])*lFreq);
lowSample = ((iirBPosition[count]+(iirBAngle[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPosition[count] = ((iirBPosition[count]+(iirBAngle[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSample -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngle[count] = (iirHAngle[count]*(1.0-hFreq))+((inputSample-iirHPosition[count])*hFreq);
inputSample = ((iirHPosition[count]+(iirHAngle[count]*hFreq))*(1.0-hFreq))+(inputSample*hFreq);
iirHPosition[count] = ((iirHPosition[count]+(iirHAngle[count]*hFreq))*(1.0-hFreq))+(inputSample*hFreq);
} //the lowpass
inputSample *= output;
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1 @@
_ChimeyGuitar2Entry

View file

@ -0,0 +1,172 @@
/*
* File: ChimeyGuitar2.h
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 "ChimeyGuitar2Version.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ChimeyGuitar2_h__
#define __ChimeyGuitar2_h__
#pragma mark ____ChimeyGuitar2 Parameters
// parameters
static const float kDefaultValue_ParamA = 0.6;
static const float kDefaultValue_ParamB = 0.8;
static const float kDefaultValue_ParamC = 0.7;
static const float kDefaultValue_ParamD = 0.5;
static const float kDefaultValue_ParamE = 0.7;
static const float kDefaultValue_ParamF = 0.4;
static const float kDefaultValue_ParamG = 0.8;
static const float kDefaultValue_ParamH = 0.4;
static const float kDefaultValue_ParamI = 0.8;
static const float kDefaultValue_ParamJ = 0.8;
static CFStringRef kParameterAName = CFSTR("Compres");
static CFStringRef kParameterBName = CFSTR("Presnce");
static CFStringRef kParameterCName = CFSTR("High");
static CFStringRef kParameterDName = CFSTR("Mid");
static CFStringRef kParameterEName = CFSTR("Low");
static CFStringRef kParameterFName = CFSTR("Sub");
static CFStringRef kParameterGName = CFSTR("HSpeakr");
static CFStringRef kParameterHName = CFSTR("LSpeakr");
static CFStringRef kParameterIName = CFSTR("Speed");
static CFStringRef kParameterJName = CFSTR("Output");
enum {
kParam_A =0,
kParam_B =1,
kParam_C =2,
kParam_D =3,
kParam_E =4,
kParam_F =5,
kParam_G =6,
kParam_H =7,
kParam_I =8,
kParam_J =9,
//Add your parameters here...
kNumberOfParameters=10
};
#pragma mark ____ChimeyGuitar2
class ChimeyGuitar2 : public AUEffectBase
{
public:
ChimeyGuitar2(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ChimeyGuitar2 () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new ChimeyGuitar2Kernel(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 kChimeyGuitar2Version; }
protected:
class ChimeyGuitar2Kernel : public AUKernelBase // most of the real work happens here
{
public:
ChimeyGuitar2Kernel(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:
double angS[22][12];
double angA[22][12];
double angG[12];
double iirHPosition[37];
double iirHAngle[37];
double iirBPosition[37];
double iirBAngle[37];
double muComp;
double muSpd;
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ChimeyGuitar2.r
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 "ChimeyGuitar2Version.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ChimeyGuitar2 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ChimeyGuitar2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ChimeyGuitar2
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ChimeyGuitar2_COMP_SUBTYPE
#define COMP_MANUF ChimeyGuitar2_COMP_MANF
#define VERSION kChimeyGuitar2Version
#define NAME "Airwindows: ChimeyGuitar2"
#define DESCRIPTION "ChimeyGuitar2 AU"
#define ENTRY_POINT "ChimeyGuitar2Entry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,164 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */;
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
211,
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 = 774986709;
PBXWorkspaceStateSaveDate = 774986709;
};
perUserProjectItems = {
8B42CAE52E310C64001C0B57 /* PlistBookmark */ = 8B42CAE52E310C64001C0B57 /* PlistBookmark */;
8B42CB9A2E315311001C0B57 /* PBXTextBookmark */ = 8B42CB9A2E315311001C0B57 /* PBXTextBookmark */;
8B42CB9C2E315311001C0B57 /* PBXTextBookmark */ = 8B42CB9C2E315311001C0B57 /* PBXTextBookmark */;
8B42CBF02E315BD8001C0B57 /* PBXBookmark */ = 8B42CBF02E315BD8001C0B57 /* PBXBookmark */;
8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */ = 8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */;
8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */ = 8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B42CAE52E310C64001C0B57 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/ChimeyGuitar2/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8B42CB9A2E315311001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */;
name = "ChimeyGuitar2.cpp: 315";
rLen = 0;
rLoc = 14310;
rType = 0;
vrLen = 48;
vrLoc = 3;
};
8B42CB9C2E315311001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */;
name = "ChimeyGuitar2Version.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 189;
vrLoc = 2800;
};
8B42CBF02E315BD8001C0B57 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */;
};
8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */;
name = "ChimeyGuitar2Version.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 136;
vrLoc = 2852;
};
8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */;
name = "ChimeyGuitar2.h: 66";
rLen = 0;
rLoc = 3318;
rType = 0;
vrLen = 1152;
vrLoc = 2835;
};
8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1047, 6588}}";
sepNavSelRange = "{13686, 563}";
sepNavVisRange = "{14037, 1495}";
sepNavWindowFrame = "{{7, 82}, {826, 733}}";
};
};
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {471, 1170}}";
sepNavSelRange = "{2934, 0}";
sepNavVisRange = "{2852, 136}";
sepNavWindowFrame = "{{15, 152}, {809, 721}}";
};
};
8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 2772}}";
sepNavSelRange = "{3318, 0}";
sepNavVisRange = "{2835, 1152}";
sepNavWindowFrame = "{{18, 56}, {809, 721}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */ = {
activeExec = 0;
};
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,490 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
8B4119B70749654200361ABE /* ChimeyGuitar2.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ChimeyGuitar2.r */; };
8BA05A6B0720730100365D66 /* ChimeyGuitar2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */; };
8BA05A6E0720730100365D66 /* ChimeyGuitar2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */; };
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; };
8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; };
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; };
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; };
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; };
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; };
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; };
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; };
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; };
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; };
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; };
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; };
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; };
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; };
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; };
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; };
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; };
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; };
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; };
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; };
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; };
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; };
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; };
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; };
8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; };
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; };
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; };
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; };
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; };
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; };
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; };
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; };
8BC6025C073B072D006C4272 /* ChimeyGuitar2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */; };
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChimeyGuitar2.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ChimeyGuitar2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ChimeyGuitar2.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ChimeyGuitar2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ChimeyGuitar2.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyGuitar2Version.h; sourceTree = "<group>"; };
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyGuitar2.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ChimeyGuitar2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChimeyGuitar2.component; sourceTree = BUILT_PRODUCTS_DIR; };
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; };
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */,
8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */,
8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
089C166AFE841209C02AAC07 /* ChimeyGuitar2 */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ChimeyGuitar2;
sourceTree = "<group>";
};
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
8BA05B01072074F900365D66 /* CoreServices.framework */,
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
);
name = "External Frameworks and Libraries";
sourceTree = "<group>";
};
089C167CFE841241C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
8D01CCD10486CAD60068D4B7 /* Info.plist */,
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
);
name = Resources;
sourceTree = "<group>";
};
08FB77ADFE841716C02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
8BA05A56072072A900365D66 /* AU Source */,
8BA05AEB0720742700365D66 /* PublicUtility */,
8BA05A7D072073D200365D66 /* AUPublic */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ChimeyGuitar2.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */,
8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */,
8BA05A670720730100365D66 /* ChimeyGuitar2.exp */,
8BA05A680720730100365D66 /* ChimeyGuitar2.r */,
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
8BA05A7D072073D200365D66 /* AUPublic */ = {
isa = PBXGroup;
children = (
8BA05A7E072073D200365D66 /* AUBase */,
8BA05A99072073D200365D66 /* OtherBases */,
8BA05AA6072073D200365D66 /* Utility */,
);
name = AUPublic;
path = Extras/CoreAudio/AudioUnits/AUPublic;
sourceTree = SYSTEM_DEVELOPER_DIR;
};
8BA05A7E072073D200365D66 /* AUBase */ = {
isa = PBXGroup;
children = (
8BA05A7F072073D200365D66 /* AUBase.cpp */,
8BA05A80072073D200365D66 /* AUBase.h */,
8BA05A81072073D200365D66 /* AUDispatch.cpp */,
8BA05A82072073D200365D66 /* AUDispatch.h */,
8BA05A83072073D200365D66 /* AUInputElement.cpp */,
8BA05A84072073D200365D66 /* AUInputElement.h */,
8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
8BA05A86072073D200365D66 /* AUOutputElement.h */,
8BA05A87072073D200365D66 /* AUResources.r */,
8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
8BA05A89072073D200365D66 /* AUScopeElement.h */,
8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
8BA05A8B072073D200365D66 /* ComponentBase.h */,
);
path = AUBase;
sourceTree = "<group>";
};
8BA05A99072073D200365D66 /* OtherBases */ = {
isa = PBXGroup;
children = (
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BA05AA6072073D200365D66 /* Utility */ = {
isa = PBXGroup;
children = (
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
8BA05AA8072073D200365D66 /* AUBuffer.h */,
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
);
path = Utility;
sourceTree = "<group>";
};
8BA05AEB0720742700365D66 /* PublicUtility */ = {
isa = PBXGroup;
children = (
8BA05B050720754400365D66 /* CAAUParameter.cpp */,
8BA05B060720754400365D66 /* CAAUParameter.h */,
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
8BA05AE10720742100365D66 /* CAMutex.cpp */,
8BA05AE20720742100365D66 /* CAMutex.h */,
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
);
name = PublicUtility;
path = Extras/CoreAudio/PublicUtility;
sourceTree = SYSTEM_DEVELOPER_DIR;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6E0720730100365D66 /* ChimeyGuitar2Version.h in Headers */,
8BA05AAF072073D300365D66 /* AUBase.h in Headers */,
8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */,
8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */,
8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */,
8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */,
8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */,
8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */,
8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */,
8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */,
8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */,
8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */,
8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */,
8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */,
8BA05AE80720742100365D66 /* CAMutex.h in Headers */,
8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */,
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */,
8BC6025C073B072D006C4272 /* ChimeyGuitar2.h in Headers */,
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */,
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */,
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyGuitar2" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = ChimeyGuitar2;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ChimeyGuitar2;
productReference = 8D01CCD20486CAD60068D4B7 /* ChimeyGuitar2.component */;
productType = "com.apple.product-type.bundle";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
089C1669FE841209C02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyGuitar2" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 089C166AFE841209C02AAC07 /* ChimeyGuitar2 */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D01CCC90486CAD60068D4B7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXRezBuildPhase section */
8D01CCCF0486CAD60068D4B7 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
files = (
8B4119B70749654200361ABE /* ChimeyGuitar2.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6B0720730100365D66 /* ChimeyGuitar2.cpp in Sources */,
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C167EFE841241C02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
3E4BA244089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXPORTED_SYMBOLS_FILE = ChimeyGuitar2.exp;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
OTHER_LDFLAGS = "-bundle";
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = ChimeyGuitar2;
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
x86_64,
);
EXPORTED_SYMBOLS_FILE = ChimeyGuitar2.exp;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_LDFLAGS = "-bundle";
OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = ChimeyGuitar2;
SDKROOT = macosx10.5;
STRIP_INSTALLED_PRODUCT = YES;
STRIP_STYLE = all;
WRAPPER_EXTENSION = component;
};
name = Release;
};
3E4BA248089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = c99;
SDKROOT = macosx10.6;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
};
name = Debug;
};
3E4BA249089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = c99;
SDKROOT = macosx10.6;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyGuitar2" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyGuitar2" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA248089833B7007656EC /* Debug */,
3E4BA249089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -0,0 +1,58 @@
/*
* File: ChimeyGuitar2Version.h
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 __ChimeyGuitar2Version_h__
#define __ChimeyGuitar2Version_h__
#ifdef DEBUG
#define kChimeyGuitar2Version 0xFFFFFFFF
#else
#define kChimeyGuitar2Version 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ChimeyGuitar2_COMP_MANF 'Dthr'
#define ChimeyGuitar2_COMP_SUBTYPE 'cgts'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#endif

Binary file not shown.

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
<key>CFBundleName</key>
<string>${PROJECTNAMEASIDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>DthX</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View 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>

View file

@ -273,9 +273,6 @@ ComponentResult kAlienSpaceship::Reset(AudioUnitScope inScope, AudioUnitElement
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) {
bez[x] = 0.0;
bezF[x] = 0.0;
@ -314,7 +311,16 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
double derezFreq = pow(GetParameter( kParam_C ),3.0)+0.01;
if (derezFreq > 1.0) derezFreq = 1.0;
double earlyLoudness = GetParameter( kParam_D );
int adjPredelay = predelay*GetParameter( kParam_E )*derez;
int start = (int)(GetParameter( kParam_E ) * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = GetParameter( kParam_F );
while (nSampleFrames-- > 0) {
@ -331,15 +337,7 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -351,19 +349,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -372,19 +370,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -393,19 +391,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -65,7 +65,7 @@ static CFStringRef kParameterAName = CFSTR("Regen");
static CFStringRef kParameterBName = CFSTR("Derez");
static CFStringRef kParameterCName = CFSTR("Filter");
static CFStringRef kParameterDName = CFSTR("EarlyRf");
static CFStringRef kParameterEName = CFSTR("Predlay");
static CFStringRef kParameterEName = CFSTR("Positin");
static CFStringRef kParameterFName = CFSTR("Dry/Wet");
enum {
@ -79,8 +79,6 @@ enum {
kNumberOfParameters=6
};
const int predelay = 15000;
const int d3A = 2639; const int d3B = 4367; const int d3C = 4370;
const int d3D = 2549; const int d3E = 2706; const int d3F = 3376;
const int d3G = 2029; const int d3H = 2261; const int d3I = 2712;
@ -88,6 +86,8 @@ const int d3G = 2029; const int d3H = 2261; const int d3I = 2712;
const int d6A = 1498; const int d6B = 82; const int d6C = 631; const int d6D = 762; const int d6E = 1241; const int d6F = 79; const int d6G = 821; const int d6H = 1315; const int d6I = 2261; const int d6J = 2029; const int d6K = 108; const int d6L = 2712; const int d6M = 305; const int d6N = 671; const int d6O = 13; const int d6P = 913; const int d6Q = 1999; const int d6R = 600; const int d6S = 826; const int d6T = 3376; const int d6U = 969; const int d6V = 2639; const int d6W = 915; const int d6X = 1173; const int d6Y = 1345; const int d6ZA = 4370; const int d6ZB = 4367; const int d6ZC = 2549; const int d6ZD = 227; const int d6ZE = 696; const int d6ZF = 1332; const int d6ZG = 1503; const int d6ZH = 627; const int d6ZI = 322; const int d6ZJ = 451; const int d6ZK = 2706; //18 to 377 ms, 4660 seat arena
#define SIXBYSIX true //4660-GEBBDI-HHDXFK6 kAlienSpaceship
const int early[] = {13, 79, 82, 108, 227, 305, 322, 451, 600, 627, 631, 671, 696, 762, 821, 826, 913, 915, 969, 1173, 1241, 1315, 1332, 1345, 1498, 1503, 1999, 2029, 2261, 2549, 2639, 2706, 2712, 3376, 4367, 4370};
#pragma mark ____kAlienSpaceship
class kAlienSpaceship : public AUEffectBase
{
@ -236,11 +236,7 @@ private:
double f6AL,f6BL,f6CL,f6DL,f6EL,f6FL;
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 774566677;
PBXWorkspaceStateSaveDate = 774566677;
PBXPerProjectTemplateStateSaveDate = 774828702;
PBXWorkspaceStateSaveDate = 774828702;
};
perUserProjectItems = {
8B1638632E2AF59A00A38672 /* PBXTextBookmark */ = 8B1638632E2AF59A00A38672 /* PBXTextBookmark */;
8B1638642E2AF59A00A38672 /* PBXTextBookmark */ = 8B1638642E2AF59A00A38672 /* PBXTextBookmark */;
8B163A782E2EF46000A38672 /* PBXTextBookmark */ = 8B163A782E2EF46000A38672 /* PBXTextBookmark */;
8B163A792E2EF46000A38672 /* PBXTextBookmark */ = 8B163A792E2EF46000A38672 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B1638632E2AF59A00A38672 /* PBXTextBookmark */ = {
8B163A782E2EF46000A38672 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* kAlienSpaceship.cpp */;
name = "kAlienSpaceship.cpp: 285";
name = "kAlienSpaceship.cpp: 282";
rLen = 0;
rLoc = 13849;
rLoc = 13746;
rType = 0;
vrLen = 3;
vrLoc = 13848;
vrLen = 47;
vrLoc = 3;
};
8B1638642E2AF59A00A38672 /* PBXTextBookmark */ = {
8B163A792E2EF46000A38672 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* kAlienSpaceship.cpp */;
name = "kAlienSpaceship.cpp: 285";
name = "kAlienSpaceship.cpp: 282";
rLen = 0;
rLoc = 13849;
rLoc = 13746;
rType = 0;
vrLen = 3;
vrLoc = 13848;
vrLen = 47;
vrLoc = 3;
};
8BA05A660720730100365D66 /* kAlienSpaceship.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {570, 13824}}";
sepNavSelRange = "{13849, 0}";
sepNavVisRange = "{13848, 3}";
sepNavWindowFrame = "{{457, 83}, {1158, 795}}";
sepNavIntBoundsRect = "{{0, 0}, {696, 13842}}";
sepNavSelRange = "{13746, 0}";
sepNavVisRange = "{3, 47}";
sepNavWindowFrame = "{{14, 83}, {1158, 795}}";
};
};
8BA05A690720730100365D66 /* kAlienSpaceshipVersion.h */ = {
@ -105,10 +105,10 @@
};
8BC6025B073B072D006C4272 /* kAlienSpaceship.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {7338, 4878}}";
sepNavSelRange = "{9131, 0}";
sepNavVisRange = "{8849, 716}";
sepNavWindowFrame = "{{551, 71}, {889, 807}}";
sepNavIntBoundsRect = "{{0, 0}, {7338, 4806}}";
sepNavSelRange = "{4718, 216}";
sepNavVisRange = "{2151, 1339}";
sepNavWindowFrame = "{{86, 71}, {889, 807}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {

View file

@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>4</integer>
<integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
<string>852 540 683 324 0 0 1440 878 </string>
<string>83 488 683 324 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -352,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B1638642E2AF59A00A38672</string>
<string>8B163A792E2EF46000A38672</string>
<key>history</key>
<array>
<string>8B1638632E2AF59A00A38672</string>
<string>8B163A782E2EF46000A38672</string>
</array>
</dict>
<key>SplitCount</key>
@ -369,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {476, 35}}</string>
<string>{{0, 0}, {476, 83}}</string>
<key>RubberWindowFrame</key>
<string>852 540 683 324 0 0 1440 878 </string>
<string>83 488 683 324 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>35pt</string>
<string>83pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>243pt</string>
<string>195pt</string>
<key>Tabs</key>
<array>
<dict>
@ -394,9 +394,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {476, 216}}</string>
<string>{{10, 27}, {476, 168}}</string>
<key>RubberWindowFrame</key>
<string>852 540 683 324 0 0 1440 878 </string>
<string>83 488 683 324 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -450,7 +450,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {476, 199}}</string>
<string>{{10, 27}, {476, 234}}</string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@ -478,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1638652E2AF59A00A38672</string>
<string>8B163A7A2E2EF46000A38672</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1638662E2AF59A00A38672</string>
<string>8B163A7B2E2EF46000A38672</string>
<string>8B2F1E9E2E27BC9000C4127E</string>
<string>8B1638672E2AF59A00A38672</string>
<string>8B163A7C2E2EF46000A38672</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -635,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>774567322.52139997</real>
<real>774829152.76509798</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -655,7 +655,7 @@
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kAlienSpaceship/kAlienSpaceship.xcodeproj</string>
</array>
<key>WindowString</key>
<string>852 540 683 324 0 0 1440 878 </string>
<string>83 488 683 324 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>

View file

@ -272,10 +272,7 @@ ComponentResult kGuitarHall2::Reset(AudioUnitScope inScope, AudioUnitElement in
f6AL = f6BL = f6CL = f6DL = f6EL = f6FL = 0.0;
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
bez[bez_cycle] = 1.0;
@ -310,7 +307,16 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
if (derez < 0.0005) derez = 0.0005; if (derez > 1.0) derez = 1.0;
double freq = GetParameter( kParam_C )+0.02;
double earlyLoudness = GetParameter( kParam_D );
int adjPredelay = predelay*GetParameter( kParam_E )*derez;
int start = (int)(GetParameter( kParam_E ) * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = GetParameter( kParam_F );
while (nSampleFrames-- > 0) {
@ -327,15 +333,7 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -347,19 +345,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -368,19 +366,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -389,19 +387,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -65,7 +65,7 @@ static CFStringRef kParameterAName = CFSTR("Regen");
static CFStringRef kParameterBName = CFSTR("Derez");
static CFStringRef kParameterCName = CFSTR("Filter");
static CFStringRef kParameterDName = CFSTR("EarlyRf");
static CFStringRef kParameterEName = CFSTR("Predlay");
static CFStringRef kParameterEName = CFSTR("Positin");
static CFStringRef kParameterFName = CFSTR("Dry/Wet");
enum {
@ -79,8 +79,6 @@ enum {
kNumberOfParameters=6
};
const int predelay = 15000;
const int d3A = 1015; const int d3B = 1288; const int d3C = 1396;
const int d3D = 784; const int d3E = 1188; const int d3F = 1258;
const int d3G = 575; const int d3H = 771; const int d3I = 1257;
@ -88,6 +86,8 @@ const int d3G = 575; const int d3H = 771; const int d3I = 1257;
const int d6A = 121; const int d6B = 1396; const int d6C = 784; const int d6D = 184; const int d6E = 132; const int d6F = 434; const int d6G = 91; const int d6H = 144; const int d6I = 155; const int d6J = 771; const int d6K = 122; const int d6L = 1288; const int d6M = 191; const int d6N = 224; const int d6O = 108; const int d6P = 35; const int d6Q = 1257; const int d6R = 575; const int d6S = 504; const int d6T = 264; const int d6U = 198; const int d6V = 14; const int d6W = 246; const int d6X = 81; const int d6Y = 17; const int d6ZA = 71; const int d6ZB = 1015; const int d6ZC = 1258; const int d6ZD = 24; const int d6ZE = 7; const int d6ZF = 255; const int d6ZG = 72; const int d6ZH = 68; const int d6ZI = 117; const int d6ZJ = 1188; const int d6ZK = 339; //6 to 156 ms, 784 seat theater
#define SIXBYSIX true //784-EFCCFE-JLBY6 kGuitarHall2
const int early[] = {7, 14, 17, 24, 35, 68, 71, 72, 81, 91, 108, 117, 121, 122, 132, 144, 155, 184, 191, 198, 224, 246, 255, 264, 339, 434, 504, 575, 771, 784, 1015, 1188, 1257, 1258, 1288, 1396};
#pragma mark ____kGuitarHall2
class kGuitarHall2 : public AUEffectBase
{
@ -236,11 +236,7 @@ public:
double f6AL,f6BL,f6CL,f6DL,f6EL,f6FL;
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -3,6 +3,8 @@
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* kGuitarHall2 */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
@ -49,44 +51,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 774565410;
PBXWorkspaceStateSaveDate = 774565410;
PBXPerProjectTemplateStateSaveDate = 774828353;
PBXWorkspaceStateSaveDate = 774828353;
};
perUserProjectItems = {
8B1637CA2E2AEFEC00A38672 /* PBXTextBookmark */ = 8B1637CA2E2AEFEC00A38672 /* PBXTextBookmark */;
8B1637CB2E2AEFEC00A38672 /* PBXTextBookmark */ = 8B1637CB2E2AEFEC00A38672 /* PBXTextBookmark */;
8BD235C62E250BD100696031 /* PBXTextBookmark */ = 8BD235C62E250BD100696031 /* PBXTextBookmark */;
8B163A262E2EF13000A38672 /* PBXTextBookmark */ = 8B163A262E2EF13000A38672 /* PBXTextBookmark */;
8B163A3F2E2EF24800A38672 /* PBXTextBookmark */ = 8B163A3F2E2EF24800A38672 /* PBXTextBookmark */;
8B163A402E2EF24800A38672 /* PBXTextBookmark */ = 8B163A402E2EF24800A38672 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B1637CA2E2AEFEC00A38672 /* PBXTextBookmark */ = {
8B163A262E2EF13000A38672 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* kGuitarHall2.cpp */;
name = "kGuitarHall2.cpp: 344";
fRef = 8BC6025B073B072D006C4272 /* kGuitarHall2.h */;
name = "kGuitarHall2.h: 90";
rLen = 0;
rLoc = 16322;
rLoc = 4872;
rType = 0;
vrLen = 44;
vrLoc = 3;
vrLen = 197;
vrLoc = 4675;
};
8B1637CB2E2AEFEC00A38672 /* PBXTextBookmark */ = {
8B163A3F2E2EF24800A38672 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* kGuitarHall2.cpp */;
name = "kGuitarHall2.cpp: 342";
name = "kGuitarHall2.cpp: 340";
rLen = 0;
rLoc = 16322;
rLoc = 16157;
rType = 0;
vrLen = 44;
vrLoc = 3;
vrLen = 0;
vrLoc = 0;
};
8B163A402E2EF24800A38672 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* kGuitarHall2.h */;
name = "kGuitarHall2.h: 90";
rLen = 0;
rLoc = 4872;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BA05A660720730100365D66 /* kGuitarHall2.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 14004}}";
sepNavSelRange = "{16322, 0}";
sepNavVisRange = "{3, 44}";
sepNavWindowFrame = "{{593, 68}, {1224, 810}}";
sepNavIntBoundsRect = "{{0, 0}, {1177, 13788}}";
sepNavSelRange = "{15305, 0}";
sepNavVisRange = "{14526, 1548}";
sepNavWindowFrame = "{{12, 43}, {1224, 810}}";
};
};
8BA05A690720730100365D66 /* kGuitarHall2Version.h */ = {
@ -106,22 +118,12 @@
};
8BC6025B073B072D006C4272 /* kGuitarHall2.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {7167, 5148}}";
sepNavSelRange = "{9342, 319}";
sepNavVisRange = "{6581, 860}";
sepNavWindowFrame = "{{704, 54}, {782, 824}}";
sepNavIntBoundsRect = "{{0, 0}, {7167, 4806}}";
sepNavSelRange = "{4872, 0}";
sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{26, 54}, {782, 824}}";
};
};
8BD235C62E250BD100696031 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* kGuitarHall2.h */;
name = "kGuitarHall2.h: 88";
rLen = 0;
rLoc = 4703;
rType = 0;
vrLen = 795;
vrLoc = 3893;
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;

View file

@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
<integer>810</integer>
<integer>810</integer>
<integer>615</integer>
<integer>615</integer>
</array>
<key>Perspectives</key>
<array>
@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
<string>822 523 615 290 0 0 1440 878 </string>
<string>11 490 615 290 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -340,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B8FEEC62E1343E5000B64B3</string>
<key>PBXProjectModuleLabel</key>
<string>kGuitarHall2.cpp</string>
<string>kGuitarHall2.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -348,15 +348,15 @@
<key>PBXProjectModuleGUID</key>
<string>8B8FEEC72E1343E5000B64B3</string>
<key>PBXProjectModuleLabel</key>
<string>kGuitarHall2.cpp</string>
<string>kGuitarHall2.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B1637CB2E2AEFEC00A38672</string>
<string>8B163A402E2EF24800A38672</string>
<key>history</key>
<array>
<string>8BD235C62E250BD100696031</string>
<string>8B1637CA2E2AEFEC00A38672</string>
<string>8B163A3F2E2EF24800A38672</string>
<string>8B163A262E2EF13000A38672</string>
</array>
</dict>
<key>SplitCount</key>
@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {408, 73}}</string>
<string>{{0, 0}, {408, 25}}</string>
<key>RubberWindowFrame</key>
<string>822 523 615 290 0 0 1440 878 </string>
<string>11 490 615 290 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>73pt</string>
<string>25pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>171pt</string>
<string>219pt</string>
<key>Tabs</key>
<array>
<dict>
@ -395,9 +395,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {408, 144}}</string>
<string>{{10, 27}, {408, 192}}</string>
<key>RubberWindowFrame</key>
<string>822 523 615 290 0 0 1440 878 </string>
<string>11 490 615 290 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -451,7 +451,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
<string>{{10, 27}, {408, 159}}</string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1637CC2E2AEFEC00A38672</string>
<string>8B163A412E2EF24800A38672</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1637CD2E2AEFEC00A38672</string>
<string>8B163A422E2EF24800A38672</string>
<string>8B8FEEC62E1343E5000B64B3</string>
<string>8B1637CE2E2AEFEC00A38672</string>
<string>8B163A432E2EF24800A38672</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -520,7 +520,7 @@
<key>Identifier</key>
<string>perspective.debug</string>
<key>IsVertical</key>
<integer>1</integer>
<true/>
<key>Layout</key>
<array>
<dict>
@ -534,12 +534,12 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {810, 0}}</string>
<string>{{0, 0}, {424, 270}}</string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
<string>0%</string>
<string>270pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@ -588,8 +588,6 @@
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>DebugConsoleDrawerSize</key>
<string>{100, 120}</string>
<key>DebugConsoleVisible</key>
<string>None</string>
<key>DebugConsoleWindowFrame</key>
@ -598,31 +596,53 @@
<string>{{200, 200}, {500, 300}}</string>
<key>Frame</key>
<string>{{0, 7}, {810, 438}}</string>
<key>PBXDebugSessionStackFrameViewKey</key>
<dict>
<key>DebugVariablesTableConfiguration</key>
<array>
<string>Name</string>
<real>120</real>
<string>Value</string>
<real>85</real>
<string>Summary</string>
<real>185</real>
</array>
<key>Frame</key>
<string>{{395, 0}, {415, 213}}</string>
</dict>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Proportion</key>
<string>443pt</string>
<string>438pt</string>
</dict>
</array>
<key>Name</key>
<string>Debug</string>
<key>ServiceClasses</key>
<array>
<string>XCModuleDock</string>
<string>XCModuleDock</string>
<string>PBXDebugCLIModule</string>
<string>PBXDebugSessionModule</string>
<string>XCConsole</string>
<string>PBXDebugProcessAndThreadModule</string>
<string>PBXDebugProcessViewModule</string>
<string>PBXDebugThreadViewModule</string>
<string>PBXDebugStackFrameViewModule</string>
<string>PBXNavigatorGroup</string>
</array>
<key>TableOfContents</key>
<array>
<string>1CC8E6A5069209BD00BB180A</string>
<string>1CC8E6A6069209BD00BB180A</string>
<string>8B1639B92E2EDC5600A38672</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
<string>1CC8E6A7069209BD00BB180A</string>
<string>8B1639BA2E2EDC5600A38672</string>
<string>8B1639BB2E2EDC5600A38672</string>
<string>8B1639BC2E2EDC5600A38672</string>
<string>8B1639BD2E2EDC5600A38672</string>
<string>8B1639BE2E2EDC5600A38672</string>
</array>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
</dict>
@ -636,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>774565868.22501004</real>
<real>774828616.74115705</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -653,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>8B1637CF2E2AEFEC00A38672</string>
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kGuitarHall2/kGuitarHall2.xcodeproj</string>
</array>
<key>WindowString</key>
<string>822 523 615 290 0 0 1440 878 </string>
<string>11 490 615 290 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>

View file

@ -0,0 +1,355 @@
/*
* File: ChimeyDeluxe.cpp
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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.
*
*/
/*=============================================================================
ChimeyDeluxe.cpp
=============================================================================*/
#include "ChimeyDeluxe.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AUDIOCOMPONENT_ENTRY(AUBaseFactory, ChimeyDeluxe)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxe
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ChimeyDeluxe::ChimeyDeluxe(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_A, kDefaultValue_ParamA );
SetParameter(kParam_B, kDefaultValue_ParamB );
SetParameter(kParam_C, kDefaultValue_ParamC );
SetParameter(kParam_D, kDefaultValue_ParamD );
SetParameter(kParam_E, kDefaultValue_ParamE );
SetParameter(kParam_F, kDefaultValue_ParamF );
SetParameter(kParam_G, kDefaultValue_ParamG );
SetParameter(kParam_H, kDefaultValue_ParamH );
SetParameter(kParam_I, kDefaultValue_ParamI );
SetParameter(kParam_J, kDefaultValue_ParamJ );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::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;
case kParam_D:
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamD;
break;
case kParam_E:
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamE;
break;
case kParam_F:
AUBase::FillInParameterName (outParameterInfo, kParameterFName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamF;
break;
case kParam_G:
AUBase::FillInParameterName (outParameterInfo, kParameterGName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamG;
break;
case kParam_H:
AUBase::FillInParameterName (outParameterInfo, kParameterHName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamH;
break;
case kParam_I:
AUBase::FillInParameterName (outParameterInfo, kParameterIName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamI;
break;
case kParam_J:
AUBase::FillInParameterName (outParameterInfo, kParameterJName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamJ;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ChimeyDeluxe::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyDeluxe::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ChimeyDeluxeEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxeKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyDeluxe::ChimeyDeluxeKernel::Reset()
{
for(int x=0; x<17; x++) {
for(int y=0; y<14; y++) {
angS[x][y] = 0.0;angA[x][y] = 0.0;
}
}
for(int y=0; y<14; y++) {
angG[y] = 0.0;
}
muComp = 1.0;
muSpd = 100.0;
lastSample = 0.0;
wasPosClip = false;
wasNegClip = false;
for (int x = 0; x < 16; x++) intermediate[x] = 0.0;
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyDeluxe::ChimeyDeluxeKernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyDeluxe::ChimeyDeluxeKernel::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 drive = 1.0;
double pad = 1.0;
angG[1] = GetParameter( kParam_A )+0.5;
if (pad > angG[1]) pad = angG[1];
if (drive < angG[1]) drive = angG[1];
angG[0] = (1.0+angG[1])*0.5; //if boost, boost half
if (angG[0] > angG[1]) angG[0] = angG[1];
angG[2] = GetParameter( kParam_B )+0.5;
if (pad > angG[2]) pad = angG[2];
if (drive < angG[2]) drive = angG[2];
angG[3] = GetParameter( kParam_C )+0.5;
if (pad > angG[3]) pad = angG[3];
if (drive < angG[3]) drive = angG[3];
angG[4] = GetParameter( kParam_D )+0.5;
if (pad > angG[4]) pad = angG[4];
if (drive < angG[4]) drive = angG[4];
angG[5] = GetParameter( kParam_E )+0.5;
if (pad > angG[5]) pad = angG[5];
if (drive < angG[5]) drive = angG[5];
angG[6] = GetParameter( kParam_F )+0.5;
if (pad > angG[6]) pad = angG[6];
if (drive < angG[6]) drive = angG[6];
angG[7] = GetParameter( kParam_G )+0.5;
if (pad > angG[7]) pad = angG[7];
if (drive < angG[7]) drive = angG[7];
angG[8] = GetParameter( kParam_H )+0.5;
if (pad > angG[8]) pad = angG[8];
if (drive < angG[8]) drive = angG[8];
angG[9] = GetParameter( kParam_I )+0.5;
if (pad > angG[9]) pad = angG[9];
if (drive < angG[9]) drive = angG[9];
angG[10] = GetParameter( kParam_J )+0.5;
if (pad > angG[10]) pad = angG[10];
if (drive < angG[10]) drive = angG[10];
angG[11] = 1.0;
angG[12] = 1.0;
double tune = 0.618+(overallscale*0.0055);
double threshold = 1.0-(drive*0.23);
double adjSpd = ((drive*120.0)+50.0)*overallscale;
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
for (int x = 0; x < 16; x++) {
double fr = (0.92/overallscale)+(overallscale*0.01);
double band = inputSample; inputSample = 0.0;
for (int y = 0; y < 12; y++) {
angA[x][y] = (angA[x][y]*(1.0-fr)) + ((band-angS[x][y])*fr);
double temp = band; band = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
angS[x][y] = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSample += ((temp-band)*angG[y]);
fr *= tune;
}
inputSample += band;
inputSample *= threshold;
inputSample *= (muComp/threshold);
if (fabs(inputSample) > threshold)
{
muComp *= muSpd;
if (threshold/fabs(inputSample) < threshold) muComp += threshold*fabs(inputSample);
else muComp -= threshold/fabs(inputSample);
muComp /= muSpd;
} else {
muComp *= (muSpd*muSpd);
muComp += ((1.1+threshold)-fabs(inputSample));
muComp /= (muSpd*muSpd);
}
muComp = fmax(fmin(muComp,1.0),threshold);
inputSample *= (muComp*muComp);
muSpd = fmax(fmin(((muSpd*(muSpd-1.0))+(fabs(inputSample*adjSpd)))/muSpd,adjSpd*2.0),adjSpd);
}
inputSample = sin(fmin(fmax(inputSample*pad,-M_PI_2),M_PI_2));
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1,2 @@
_ChimeyDeluxeEntry
_ChimeyDeluxeFactory

View file

@ -0,0 +1,173 @@
/*
* File: ChimeyDeluxe.h
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 "ChimeyDeluxeVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ChimeyDeluxe_h__
#define __ChimeyDeluxe_h__
#pragma mark ____ChimeyDeluxe Parameters
// parameters
static const float kDefaultValue_ParamA = 0.5;
static const float kDefaultValue_ParamB = 0.5;
static const float kDefaultValue_ParamC = 0.5;
static const float kDefaultValue_ParamD = 0.5;
static const float kDefaultValue_ParamE = 0.5;
static const float kDefaultValue_ParamF = 0.5;
static const float kDefaultValue_ParamG = 0.5;
static const float kDefaultValue_ParamH = 0.5;
static const float kDefaultValue_ParamI = 0.5;
static const float kDefaultValue_ParamJ = 0.5;
static CFStringRef kParameterAName = CFSTR("Hell");
static CFStringRef kParameterBName = CFSTR("Fizz");
static CFStringRef kParameterCName = CFSTR("Pick");
static CFStringRef kParameterDName = CFSTR("Satan");
static CFStringRef kParameterEName = CFSTR("Danger");
static CFStringRef kParameterFName = CFSTR("Crtical");
static CFStringRef kParameterGName = CFSTR("H Meat");
static CFStringRef kParameterHName = CFSTR("L Meat");
static CFStringRef kParameterIName = CFSTR("Swing");
static CFStringRef kParameterJName = CFSTR("Rarely");
enum {
kParam_A =0,
kParam_B =1,
kParam_C =2,
kParam_D =3,
kParam_E =4,
kParam_F =5,
kParam_G =6,
kParam_H =7,
kParam_I =8,
kParam_J =9,
//Add your parameters here...
kNumberOfParameters=10
};
#pragma mark ____ChimeyDeluxe
class ChimeyDeluxe : public AUEffectBase
{
public:
ChimeyDeluxe(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ChimeyDeluxe () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new ChimeyDeluxeKernel(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 kChimeyDeluxeVersion; }
protected:
class ChimeyDeluxeKernel : public AUKernelBase // most of the real work happens here
{
public:
ChimeyDeluxeKernel(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:
double angS[18][16];
double angA[18][16];
double angG[16];
double muComp;
double muSpd;
double lastSample;
double intermediate[16];
bool wasPosClip;
bool wasNegClip;
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ChimeyDeluxe.r
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 "ChimeyDeluxeVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ChimeyDeluxe 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ChimeyDeluxe~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ChimeyDeluxe
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ChimeyDeluxe_COMP_SUBTYPE
#define COMP_MANUF ChimeyDeluxe_COMP_MANF
#define VERSION kChimeyDeluxeVersion
#define NAME "Airwindows: ChimeyDeluxe"
#define DESCRIPTION "ChimeyDeluxe AU"
#define ENTRY_POINT "ChimeyDeluxeEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,159 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */;
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
188,
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 = 774987717;
PBXWorkspaceStateSaveDate = 774987717;
};
perUserProjectItems = {
8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */ = 8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */;
8B42CBD92E315A03001C0B57 /* PBXTextBookmark */ = 8B42CBD92E315A03001C0B57 /* PBXTextBookmark */;
8BB30DEF2E315FE100663A45 /* PBXTextBookmark */ = 8BB30DEF2E315FE100663A45 /* PBXTextBookmark */;
8BB30DF42E315FE100663A45 /* PBXTextBookmark */ = 8BB30DF42E315FE100663A45 /* PBXTextBookmark */;
8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */ = 8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B33D58F2DF3AB1D0044A4FF /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/ChimeyDeluxe/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8B42CBD92E315A03001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */;
name = "ChimeyDeluxe.h: 166";
rLen = 0;
rLoc = 6270;
rType = 0;
vrLen = 148;
vrLoc = 3;
};
8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {498, 6516}}";
sepNavSelRange = "{13609, 0}";
sepNavVisRange = "{13592, 100}";
sepNavWindowFrame = "{{5, 74}, {967, 804}}";
};
};
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{2738, 251}";
sepNavWindowFrame = "{{38, 48}, {967, 804}}";
};
};
8BB30DEF2E315FE100663A45 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */;
name = "ChimeyDeluxe.cpp: 305";
rLen = 0;
rLoc = 13609;
rType = 0;
vrLen = 100;
vrLoc = 13592;
};
8BB30DF42E315FE100663A45 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */;
name = "ChimeyDeluxe.cpp: 305";
rLen = 0;
rLoc = 13609;
rType = 0;
vrLen = 100;
vrLoc = 13592;
};
8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 2772}}";
sepNavSelRange = "{3310, 0}";
sepNavVisRange = "{2759, 1223}";
sepNavWindowFrame = "{{7, 74}, {967, 804}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8BFD341B2E058DBA00CA61BB /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */;
name = "ChimeyDeluxeVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 251;
vrLoc = 2738;
};
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,965 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8BA05A6B0720730100365D66 /* ChimeyDeluxe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */; };
8BA05A6E0720730100365D66 /* ChimeyDeluxeVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ChimeyDeluxeVersion.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 /* ChimeyDeluxe.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */; };
8BF8E1312E31AABD00DC30DB /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0A92E31AABC00DC30DB /* CAExtAudioFile.h */; };
8BF8E1322E31AABD00DC30DB /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0AA2E31AABC00DC30DB /* CACFMachPort.h */; };
8BF8E1332E31AABD00DC30DB /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0AB2E31AABC00DC30DB /* CABool.h */; };
8BF8E1342E31AABD00DC30DB /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0AC2E31AABC00DC30DB /* CAComponent.cpp */; };
8BF8E1352E31AABD00DC30DB /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0AD2E31AABC00DC30DB /* CADebugger.h */; };
8BF8E1362E31AABD00DC30DB /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0AE2E31AABC00DC30DB /* CACFNumber.cpp */; };
8BF8E1372E31AABD00DC30DB /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0AF2E31AABC00DC30DB /* CAGuard.h */; };
8BF8E1382E31AABD00DC30DB /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B02E31AABC00DC30DB /* CAAtomic.h */; };
8BF8E1392E31AABD00DC30DB /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B12E31AABC00DC30DB /* CAStreamBasicDescription.h */; };
8BF8E13A2E31AABD00DC30DB /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B22E31AABC00DC30DB /* CACFObject.h */; };
8BF8E13B2E31AABD00DC30DB /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B32E31AABC00DC30DB /* CAStreamRangedDescription.h */; };
8BF8E13C2E31AABD00DC30DB /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B42E31AABC00DC30DB /* CATokenMap.h */; };
8BF8E13D2E31AABD00DC30DB /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B52E31AABC00DC30DB /* CAComponent.h */; };
8BF8E13E2E31AABD00DC30DB /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B62E31AABC00DC30DB /* CAAudioBufferList.h */; };
8BF8E13F2E31AABD00DC30DB /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B72E31AABC00DC30DB /* CAAudioUnit.h */; };
8BF8E1402E31AABD00DC30DB /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B82E31AABC00DC30DB /* CAAUParameter.h */; };
8BF8E1412E31AABD00DC30DB /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0B92E31AABC00DC30DB /* CAException.h */; };
8BF8E1422E31AABD00DC30DB /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0BA2E31AABC00DC30DB /* CAAUProcessor.cpp */; };
8BF8E1432E31AABD00DC30DB /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0BB2E31AABC00DC30DB /* CAAUProcessor.h */; };
8BF8E1442E31AABD00DC30DB /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0BC2E31AABC00DC30DB /* CAProcess.h */; };
8BF8E1452E31AABD00DC30DB /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0BD2E31AABC00DC30DB /* CACFDictionary.h */; };
8BF8E1462E31AABD00DC30DB /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0BE2E31AABC00DC30DB /* CAPThread.h */; };
8BF8E1472E31AABD00DC30DB /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0BF2E31AABC00DC30DB /* CAAUParameter.cpp */; };
8BF8E1482E31AABD00DC30DB /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0C02E31AABC00DC30DB /* CAAudioTimeStamp.h */; };
8BF8E1492E31AABD00DC30DB /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0C12E31AABC00DC30DB /* CAFilePathUtils.cpp */; };
8BF8E14A2E31AABD00DC30DB /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0C22E31AABC00DC30DB /* CAAudioValueRange.h */; };
8BF8E14B2E31AABD00DC30DB /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0C32E31AABC00DC30DB /* CAVectorUnitTypes.h */; };
8BF8E14C2E31AABD00DC30DB /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0C42E31AABC00DC30DB /* CAAudioChannelLayoutObject.cpp */; };
8BF8E14D2E31AABD00DC30DB /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0C52E31AABC00DC30DB /* CAGuard.cpp */; };
8BF8E14E2E31AABD00DC30DB /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0C62E31AABC00DC30DB /* CACFNumber.h */; };
8BF8E14F2E31AABD00DC30DB /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0C72E31AABC00DC30DB /* CACFDistributedNotification.cpp */; };
8BF8E1502E31AABD00DC30DB /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0C82E31AABC00DC30DB /* CACFString.h */; };
8BF8E1512E31AABD00DC30DB /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0C92E31AABC00DC30DB /* CAAUMIDIMapManager.cpp */; };
8BF8E1522E31AABD00DC30DB /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0CA2E31AABC00DC30DB /* CAComponentDescription.cpp */; };
8BF8E1532E31AABD00DC30DB /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0CB2E31AABC00DC30DB /* CAHostTimeBase.h */; };
8BF8E1542E31AABD00DC30DB /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0CC2E31AABC00DC30DB /* CADebugMacros.cpp */; };
8BF8E1552E31AABD00DC30DB /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0CD2E31AABC00DC30DB /* CAAudioFileFormats.h */; };
8BF8E1562E31AABD00DC30DB /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0CE2E31AABC00DC30DB /* CAAUMIDIMapManager.h */; };
8BF8E1572E31AABD00DC30DB /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0CF2E31AABC00DC30DB /* CACFDictionary.cpp */; };
8BF8E1582E31AABD00DC30DB /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D02E31AABC00DC30DB /* CAMutex.h */; };
8BF8E1592E31AABD00DC30DB /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0D12E31AABC00DC30DB /* CACFString.cpp */; };
8BF8E15A2E31AABD00DC30DB /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D22E31AABC00DC30DB /* CASettingsStorage.h */; };
8BF8E15B2E31AABD00DC30DB /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D32E31AABC00DC30DB /* CADebugPrintf.h */; };
8BF8E15C2E31AABD00DC30DB /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0D42E31AABC00DC30DB /* CAXException.cpp */; };
8BF8E15D2E31AABD00DC30DB /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D52E31AABC00DC30DB /* CAAUMIDIMap.h */; };
8BF8E15E2E31AABD00DC30DB /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D62E31AABC00DC30DB /* AUParamInfo.h */; };
8BF8E15F2E31AABD00DC30DB /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D72E31AABC00DC30DB /* CABitOperations.h */; };
8BF8E1602E31AABD00DC30DB /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0D82E31AABC00DC30DB /* CACFPreferences.cpp */; };
8BF8E1612E31AABD00DC30DB /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0D92E31AABC00DC30DB /* CABundleLocker.h */; };
8BF8E1622E31AABD00DC30DB /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0DA2E31AABC00DC30DB /* CAPropertyAddress.h */; };
8BF8E1632E31AABD00DC30DB /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0DB2E31AABC00DC30DB /* CAXException.h */; };
8BF8E1642E31AABD00DC30DB /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0DC2E31AABC00DC30DB /* CAAudioChannelLayout.cpp */; };
8BF8E1652E31AABD00DC30DB /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0DD2E31AABC00DC30DB /* CAThreadSafeList.h */; };
8BF8E1662E31AABD00DC30DB /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0DE2E31AABC00DC30DB /* CAAudioUnitOutputCapturer.h */; };
8BF8E1672E31AABD00DC30DB /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0DF2E31AABC00DC30DB /* AUParamInfo.cpp */; };
8BF8E1682E31AABD00DC30DB /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0E02E31AABC00DC30DB /* CASharedLibrary.cpp */; };
8BF8E1692E31AABD00DC30DB /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0E12E31AABC00DC30DB /* CAAUMIDIMap.cpp */; };
8BF8E16A2E31AABD00DC30DB /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0E22E31AABC00DC30DB /* CALogMacros.h */; };
8BF8E16B2E31AABD00DC30DB /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0E32E31AABC00DC30DB /* CACFMessagePort.cpp */; };
8BF8E16C2E31AABD00DC30DB /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0E42E31AABC00DC30DB /* CARingBuffer.h */; };
8BF8E16D2E31AABD00DC30DB /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0E52E31AABC00DC30DB /* AUOutputBL.cpp */; };
8BF8E16E2E31AABD00DC30DB /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0E62E31AABC00DC30DB /* CABufferList.h */; };
8BF8E16F2E31AABD00DC30DB /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0E72E31AABC00DC30DB /* CASharedLibrary.h */; };
8BF8E1702E31AABD00DC30DB /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0E82E31AABC00DC30DB /* CACFData.h */; };
8BF8E1712E31AABD00DC30DB /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0E92E31AABC00DC30DB /* CAStreamRangedDescription.cpp */; };
8BF8E1722E31AABD00DC30DB /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0EA2E31AABC00DC30DB /* CAPThread.cpp */; };
8BF8E1732E31AABD00DC30DB /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0EB2E31AABC00DC30DB /* CAAutoDisposer.h */; };
8BF8E1742E31AABD00DC30DB /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0EC2E31AABC00DC30DB /* CACFPreferences.h */; };
8BF8E1752E31AABD00DC30DB /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0ED2E31AABC00DC30DB /* CAVectorUnit.cpp */; };
8BF8E1762E31AABD00DC30DB /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0EE2E31AABC00DC30DB /* CAComponentDescription.h */; };
8BF8E1772E31AABD00DC30DB /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0EF2E31AABC00DC30DB /* CADebugMacros.h */; };
8BF8E1782E31AABD00DC30DB /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F02E31AABC00DC30DB /* AUOutputBL.h */; };
8BF8E1792E31AABD00DC30DB /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0F12E31AABC00DC30DB /* CADebugPrintf.cpp */; };
8BF8E17A2E31AABD00DC30DB /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0F22E31AABC00DC30DB /* CARingBuffer.cpp */; };
8BF8E17B2E31AABD00DC30DB /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F32E31AABC00DC30DB /* CACFPlugIn.h */; };
8BF8E17C2E31AABD00DC30DB /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0F42E31AABC00DC30DB /* CASettingsStorage.cpp */; };
8BF8E17D2E31AABD00DC30DB /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F52E31AABC00DC30DB /* CAMixMap.h */; };
8BF8E17E2E31AABD00DC30DB /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F62E31AABC00DC30DB /* CACFDistributedNotification.h */; };
8BF8E17F2E31AABD00DC30DB /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F72E31AABC00DC30DB /* CAFilePathUtils.h */; };
8BF8E1802E31AABD00DC30DB /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0F82E31AABC00DC30DB /* CATink.h */; };
8BF8E1812E31AABD00DC30DB /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0F92E31AABC00DC30DB /* CAStreamBasicDescription.cpp */; };
8BF8E1822E31AABD00DC30DB /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E0FA2E31AABC00DC30DB /* CAAudioChannelLayout.h */; };
8BF8E1832E31AABD00DC30DB /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0FB2E31AABC00DC30DB /* CAProcess.cpp */; };
8BF8E1842E31AABD00DC30DB /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0FC2E31AABC00DC30DB /* CAHostTimeBase.cpp */; };
8BF8E1852E31AABD00DC30DB /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0FD2E31AABC00DC30DB /* CAPersistence.cpp */; };
8BF8E1862E31AABD00DC30DB /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0FE2E31AABC00DC30DB /* CAAudioBufferList.cpp */; };
8BF8E1872E31AABD00DC30DB /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E0FF2E31AABC00DC30DB /* CAAudioTimeStamp.cpp */; };
8BF8E1882E31AABD00DC30DB /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1002E31AABC00DC30DB /* CAVectorUnit.h */; };
8BF8E1892E31AABD00DC30DB /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1012E31AABC00DC30DB /* CAByteOrder.h */; };
8BF8E18A2E31AABD00DC30DB /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1022E31AABC00DC30DB /* CACFArray.h */; };
8BF8E18B2E31AABD00DC30DB /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1032E31AABC00DC30DB /* CAAtomicStack.h */; };
8BF8E18C2E31AABD00DC30DB /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1042E31AABC00DC30DB /* CAReferenceCounted.h */; };
8BF8E18D2E31AABD00DC30DB /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1052E31AABC00DC30DB /* CACFMachPort.cpp */; };
8BF8E18E2E31AABD00DC30DB /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1062E31AABC00DC30DB /* CABufferList.cpp */; };
8BF8E18F2E31AABD00DC30DB /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1072E31AABC00DC30DB /* CAMutex.cpp */; };
8BF8E1902E31AABD00DC30DB /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1082E31AABC00DC30DB /* CADebugger.cpp */; };
8BF8E1912E31AABD00DC30DB /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1092E31AABC00DC30DB /* CABundleLocker.cpp */; };
8BF8E1922E31AABD00DC30DB /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E10A2E31AABC00DC30DB /* CAAudioFileFormats.cpp */; };
8BF8E1932E31AABD00DC30DB /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E10B2E31AABC00DC30DB /* CAMath.h */; };
8BF8E1942E31AABD00DC30DB /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E10C2E31AABC00DC30DB /* CACFArray.cpp */; };
8BF8E1952E31AABD00DC30DB /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E10D2E31AABC00DC30DB /* CACFMessagePort.h */; };
8BF8E1962E31AABD00DC30DB /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E10E2E31AABC00DC30DB /* CAAudioValueRange.cpp */; };
8BF8E1972E31AABD00DC30DB /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E10F2E31AABC00DC30DB /* CAAudioUnit.cpp */; };
8BF8E1982E31AABD00DC30DB /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1132E31AABC00DC30DB /* AUViewLocalizedStringKeys.h */; };
8BF8E1992E31AABD00DC30DB /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1152E31AABC00DC30DB /* ComponentBase.cpp */; };
8BF8E19A2E31AABD00DC30DB /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1162E31AABC00DC30DB /* AUScopeElement.cpp */; };
8BF8E19B2E31AABD00DC30DB /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1172E31AABC00DC30DB /* ComponentBase.h */; };
8BF8E19C2E31AABD00DC30DB /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1182E31AABC00DC30DB /* AUBase.cpp */; };
8BF8E19D2E31AABD00DC30DB /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1192E31AABC00DC30DB /* AUInputElement.h */; };
8BF8E19E2E31AABD00DC30DB /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E11A2E31AABC00DC30DB /* AUBase.h */; };
8BF8E19F2E31AABD00DC30DB /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E11B2E31AABC00DC30DB /* AUPlugInDispatch.h */; };
8BF8E1A02E31AABD00DC30DB /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E11C2E31AABC00DC30DB /* AUDispatch.h */; };
8BF8E1A12E31AABD00DC30DB /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E11D2E31AABC00DC30DB /* AUOutputElement.cpp */; };
8BF8E1A32E31AABD00DC30DB /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E11F2E31AABC00DC30DB /* AUPlugInDispatch.cpp */; };
8BF8E1A42E31AABD00DC30DB /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1202E31AABC00DC30DB /* AUOutputElement.h */; };
8BF8E1A52E31AABD00DC30DB /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1212E31AABC00DC30DB /* AUDispatch.cpp */; };
8BF8E1A62E31AABD00DC30DB /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1222E31AABC00DC30DB /* AUScopeElement.h */; };
8BF8E1A72E31AABD00DC30DB /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1232E31AABC00DC30DB /* AUInputElement.cpp */; };
8BF8E1A82E31AABD00DC30DB /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1252E31AABC00DC30DB /* AUEffectBase.cpp */; };
8BF8E1A92E31AABD00DC30DB /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1262E31AABC00DC30DB /* AUEffectBase.h */; };
8BF8E1AA2E31AABD00DC30DB /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1282E31AABC00DC30DB /* AUTimestampGenerator.h */; };
8BF8E1AB2E31AABD00DC30DB /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1292E31AABC00DC30DB /* AUBaseHelper.cpp */; };
8BF8E1AC2E31AABD00DC30DB /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E12A2E31AABC00DC30DB /* AUSilentTimeout.h */; };
8BF8E1AD2E31AABD00DC30DB /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E12B2E31AABC00DC30DB /* AUInputFormatConverter.h */; };
8BF8E1AE2E31AABD00DC30DB /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E12C2E31AABC00DC30DB /* AUTimestampGenerator.cpp */; };
8BF8E1AF2E31AABD00DC30DB /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E12D2E31AABC00DC30DB /* AUBuffer.cpp */; };
8BF8E1B02E31AABD00DC30DB /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E12E2E31AABC00DC30DB /* AUMIDIDefs.h */; };
8BF8E1B12E31AABD00DC30DB /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E12F2E31AABC00DC30DB /* AUBuffer.h */; };
8BF8E1B22E31AABD00DC30DB /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1302E31AABC00DC30DB /* 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 /* ChimeyDeluxe.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChimeyDeluxe.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ChimeyDeluxe.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ChimeyDeluxe.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ChimeyDeluxe.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ChimeyDeluxe.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyDeluxeVersion.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 /* ChimeyDeluxe.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyDeluxe.h; sourceTree = "<group>"; };
8BF8E0A92E31AABC00DC30DB /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
8BF8E0AA2E31AABC00DC30DB /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
8BF8E0AB2E31AABC00DC30DB /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
8BF8E0AC2E31AABC00DC30DB /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
8BF8E0AD2E31AABC00DC30DB /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
8BF8E0AE2E31AABC00DC30DB /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
8BF8E0AF2E31AABC00DC30DB /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
8BF8E0B02E31AABC00DC30DB /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
8BF8E0B12E31AABC00DC30DB /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BF8E0B22E31AABC00DC30DB /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
8BF8E0B32E31AABC00DC30DB /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
8BF8E0B42E31AABC00DC30DB /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
8BF8E0B52E31AABC00DC30DB /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
8BF8E0B62E31AABC00DC30DB /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
8BF8E0B72E31AABC00DC30DB /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
8BF8E0B82E31AABC00DC30DB /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8BF8E0B92E31AABC00DC30DB /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
8BF8E0BA2E31AABC00DC30DB /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
8BF8E0BB2E31AABC00DC30DB /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
8BF8E0BC2E31AABC00DC30DB /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
8BF8E0BD2E31AABC00DC30DB /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
8BF8E0BE2E31AABC00DC30DB /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
8BF8E0BF2E31AABC00DC30DB /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BF8E0C02E31AABC00DC30DB /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
8BF8E0C12E31AABC00DC30DB /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
8BF8E0C22E31AABC00DC30DB /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
8BF8E0C32E31AABC00DC30DB /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8BF8E0C42E31AABC00DC30DB /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
8BF8E0C52E31AABC00DC30DB /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
8BF8E0C62E31AABC00DC30DB /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
8BF8E0C72E31AABC00DC30DB /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
8BF8E0C82E31AABC00DC30DB /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
8BF8E0C92E31AABC00DC30DB /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
8BF8E0CA2E31AABC00DC30DB /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
8BF8E0CB2E31AABC00DC30DB /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
8BF8E0CC2E31AABC00DC30DB /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
8BF8E0CD2E31AABC00DC30DB /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
8BF8E0CE2E31AABC00DC30DB /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
8BF8E0CF2E31AABC00DC30DB /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
8BF8E0D02E31AABC00DC30DB /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BF8E0D12E31AABC00DC30DB /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
8BF8E0D22E31AABC00DC30DB /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
8BF8E0D32E31AABC00DC30DB /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
8BF8E0D42E31AABC00DC30DB /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
8BF8E0D52E31AABC00DC30DB /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
8BF8E0D62E31AABC00DC30DB /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
8BF8E0D72E31AABC00DC30DB /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
8BF8E0D82E31AABC00DC30DB /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
8BF8E0D92E31AABC00DC30DB /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
8BF8E0DA2E31AABC00DC30DB /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
8BF8E0DB2E31AABC00DC30DB /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
8BF8E0DC2E31AABC00DC30DB /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BF8E0DD2E31AABC00DC30DB /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
8BF8E0DE2E31AABC00DC30DB /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
8BF8E0DF2E31AABC00DC30DB /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
8BF8E0E02E31AABC00DC30DB /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
8BF8E0E12E31AABC00DC30DB /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
8BF8E0E22E31AABC00DC30DB /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
8BF8E0E32E31AABC00DC30DB /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
8BF8E0E42E31AABC00DC30DB /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
8BF8E0E52E31AABC00DC30DB /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
8BF8E0E62E31AABC00DC30DB /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
8BF8E0E72E31AABC00DC30DB /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
8BF8E0E82E31AABC00DC30DB /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
8BF8E0E92E31AABC00DC30DB /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
8BF8E0EA2E31AABC00DC30DB /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
8BF8E0EB2E31AABC00DC30DB /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
8BF8E0EC2E31AABC00DC30DB /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
8BF8E0ED2E31AABC00DC30DB /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
8BF8E0EE2E31AABC00DC30DB /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
8BF8E0EF2E31AABC00DC30DB /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
8BF8E0F02E31AABC00DC30DB /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
8BF8E0F12E31AABC00DC30DB /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
8BF8E0F22E31AABC00DC30DB /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
8BF8E0F32E31AABC00DC30DB /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
8BF8E0F42E31AABC00DC30DB /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
8BF8E0F52E31AABC00DC30DB /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
8BF8E0F62E31AABC00DC30DB /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
8BF8E0F72E31AABC00DC30DB /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
8BF8E0F82E31AABC00DC30DB /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
8BF8E0F92E31AABC00DC30DB /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BF8E0FA2E31AABC00DC30DB /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BF8E0FB2E31AABC00DC30DB /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
8BF8E0FC2E31AABC00DC30DB /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
8BF8E0FD2E31AABC00DC30DB /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
8BF8E0FE2E31AABC00DC30DB /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
8BF8E0FF2E31AABC00DC30DB /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
8BF8E1002E31AABC00DC30DB /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
8BF8E1012E31AABC00DC30DB /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
8BF8E1022E31AABC00DC30DB /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
8BF8E1032E31AABC00DC30DB /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
8BF8E1042E31AABC00DC30DB /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
8BF8E1052E31AABC00DC30DB /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
8BF8E1062E31AABC00DC30DB /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
8BF8E1072E31AABC00DC30DB /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BF8E1082E31AABC00DC30DB /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
8BF8E1092E31AABC00DC30DB /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
8BF8E10A2E31AABC00DC30DB /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
8BF8E10B2E31AABC00DC30DB /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
8BF8E10C2E31AABC00DC30DB /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
8BF8E10D2E31AABC00DC30DB /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
8BF8E10E2E31AABC00DC30DB /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
8BF8E10F2E31AABC00DC30DB /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
8BF8E1132E31AABC00DC30DB /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8BF8E1152E31AABC00DC30DB /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BF8E1162E31AABC00DC30DB /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BF8E1172E31AABC00DC30DB /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BF8E1182E31AABC00DC30DB /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BF8E1192E31AABC00DC30DB /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BF8E11A2E31AABC00DC30DB /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BF8E11B2E31AABC00DC30DB /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
8BF8E11C2E31AABC00DC30DB /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BF8E11D2E31AABC00DC30DB /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BF8E11E2E31AABC00DC30DB /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BF8E11F2E31AABC00DC30DB /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
8BF8E1202E31AABC00DC30DB /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BF8E1212E31AABC00DC30DB /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BF8E1222E31AABC00DC30DB /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BF8E1232E31AABC00DC30DB /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BF8E1252E31AABC00DC30DB /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BF8E1262E31AABC00DC30DB /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BF8E1282E31AABC00DC30DB /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BF8E1292E31AABC00DC30DB /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
8BF8E12A2E31AABC00DC30DB /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BF8E12B2E31AABC00DC30DB /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BF8E12C2E31AABC00DC30DB /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
8BF8E12D2E31AABC00DC30DB /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BF8E12E2E31AABC00DC30DB /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
8BF8E12F2E31AABC00DC30DB /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BF8E1302E31AABC00DC30DB /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
8BF8E1B32E31AB3300DC30DB /* 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 /* ChimeyDeluxe.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChimeyDeluxe.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 /* ChimeyDeluxe */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ChimeyDeluxe;
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 = (
8BF8E0A72E31AABC00DC30DB /* CA_SDK */,
8BA05A56072072A900365D66 /* AU Source */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ChimeyDeluxe.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ChimeyDeluxe.h */,
8BA05A660720730100365D66 /* ChimeyDeluxe.cpp */,
8BA05A670720730100365D66 /* ChimeyDeluxe.exp */,
8BA05A680720730100365D66 /* ChimeyDeluxe.r */,
8BA05A690720730100365D66 /* ChimeyDeluxeVersion.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
8BF8E0A72E31AABC00DC30DB /* CA_SDK */ = {
isa = PBXGroup;
children = (
8BF8E0A82E31AABC00DC30DB /* PublicUtility */,
8BF8E1102E31AABC00DC30DB /* AudioUnits */,
);
name = CA_SDK;
path = ../../../../CA_SDK;
sourceTree = "<group>";
};
8BF8E0A82E31AABC00DC30DB /* PublicUtility */ = {
isa = PBXGroup;
children = (
8BF8E0A92E31AABC00DC30DB /* CAExtAudioFile.h */,
8BF8E0AA2E31AABC00DC30DB /* CACFMachPort.h */,
8BF8E0AB2E31AABC00DC30DB /* CABool.h */,
8BF8E0AC2E31AABC00DC30DB /* CAComponent.cpp */,
8BF8E0AD2E31AABC00DC30DB /* CADebugger.h */,
8BF8E0AE2E31AABC00DC30DB /* CACFNumber.cpp */,
8BF8E0AF2E31AABC00DC30DB /* CAGuard.h */,
8BF8E0B02E31AABC00DC30DB /* CAAtomic.h */,
8BF8E0B12E31AABC00DC30DB /* CAStreamBasicDescription.h */,
8BF8E0B22E31AABC00DC30DB /* CACFObject.h */,
8BF8E0B32E31AABC00DC30DB /* CAStreamRangedDescription.h */,
8BF8E0B42E31AABC00DC30DB /* CATokenMap.h */,
8BF8E0B52E31AABC00DC30DB /* CAComponent.h */,
8BF8E0B62E31AABC00DC30DB /* CAAudioBufferList.h */,
8BF8E0B72E31AABC00DC30DB /* CAAudioUnit.h */,
8BF8E0B82E31AABC00DC30DB /* CAAUParameter.h */,
8BF8E0B92E31AABC00DC30DB /* CAException.h */,
8BF8E0BA2E31AABC00DC30DB /* CAAUProcessor.cpp */,
8BF8E0BB2E31AABC00DC30DB /* CAAUProcessor.h */,
8BF8E0BC2E31AABC00DC30DB /* CAProcess.h */,
8BF8E0BD2E31AABC00DC30DB /* CACFDictionary.h */,
8BF8E0BE2E31AABC00DC30DB /* CAPThread.h */,
8BF8E0BF2E31AABC00DC30DB /* CAAUParameter.cpp */,
8BF8E0C02E31AABC00DC30DB /* CAAudioTimeStamp.h */,
8BF8E0C12E31AABC00DC30DB /* CAFilePathUtils.cpp */,
8BF8E0C22E31AABC00DC30DB /* CAAudioValueRange.h */,
8BF8E0C32E31AABC00DC30DB /* CAVectorUnitTypes.h */,
8BF8E0C42E31AABC00DC30DB /* CAAudioChannelLayoutObject.cpp */,
8BF8E0C52E31AABC00DC30DB /* CAGuard.cpp */,
8BF8E0C62E31AABC00DC30DB /* CACFNumber.h */,
8BF8E0C72E31AABC00DC30DB /* CACFDistributedNotification.cpp */,
8BF8E0C82E31AABC00DC30DB /* CACFString.h */,
8BF8E0C92E31AABC00DC30DB /* CAAUMIDIMapManager.cpp */,
8BF8E0CA2E31AABC00DC30DB /* CAComponentDescription.cpp */,
8BF8E0CB2E31AABC00DC30DB /* CAHostTimeBase.h */,
8BF8E0CC2E31AABC00DC30DB /* CADebugMacros.cpp */,
8BF8E0CD2E31AABC00DC30DB /* CAAudioFileFormats.h */,
8BF8E0CE2E31AABC00DC30DB /* CAAUMIDIMapManager.h */,
8BF8E0CF2E31AABC00DC30DB /* CACFDictionary.cpp */,
8BF8E0D02E31AABC00DC30DB /* CAMutex.h */,
8BF8E0D12E31AABC00DC30DB /* CACFString.cpp */,
8BF8E0D22E31AABC00DC30DB /* CASettingsStorage.h */,
8BF8E0D32E31AABC00DC30DB /* CADebugPrintf.h */,
8BF8E0D42E31AABC00DC30DB /* CAXException.cpp */,
8BF8E0D52E31AABC00DC30DB /* CAAUMIDIMap.h */,
8BF8E0D62E31AABC00DC30DB /* AUParamInfo.h */,
8BF8E0D72E31AABC00DC30DB /* CABitOperations.h */,
8BF8E0D82E31AABC00DC30DB /* CACFPreferences.cpp */,
8BF8E0D92E31AABC00DC30DB /* CABundleLocker.h */,
8BF8E0DA2E31AABC00DC30DB /* CAPropertyAddress.h */,
8BF8E0DB2E31AABC00DC30DB /* CAXException.h */,
8BF8E0DC2E31AABC00DC30DB /* CAAudioChannelLayout.cpp */,
8BF8E0DD2E31AABC00DC30DB /* CAThreadSafeList.h */,
8BF8E0DE2E31AABC00DC30DB /* CAAudioUnitOutputCapturer.h */,
8BF8E0DF2E31AABC00DC30DB /* AUParamInfo.cpp */,
8BF8E0E02E31AABC00DC30DB /* CASharedLibrary.cpp */,
8BF8E0E12E31AABC00DC30DB /* CAAUMIDIMap.cpp */,
8BF8E0E22E31AABC00DC30DB /* CALogMacros.h */,
8BF8E0E32E31AABC00DC30DB /* CACFMessagePort.cpp */,
8BF8E0E42E31AABC00DC30DB /* CARingBuffer.h */,
8BF8E0E52E31AABC00DC30DB /* AUOutputBL.cpp */,
8BF8E0E62E31AABC00DC30DB /* CABufferList.h */,
8BF8E0E72E31AABC00DC30DB /* CASharedLibrary.h */,
8BF8E0E82E31AABC00DC30DB /* CACFData.h */,
8BF8E0E92E31AABC00DC30DB /* CAStreamRangedDescription.cpp */,
8BF8E0EA2E31AABC00DC30DB /* CAPThread.cpp */,
8BF8E0EB2E31AABC00DC30DB /* CAAutoDisposer.h */,
8BF8E0EC2E31AABC00DC30DB /* CACFPreferences.h */,
8BF8E0ED2E31AABC00DC30DB /* CAVectorUnit.cpp */,
8BF8E0EE2E31AABC00DC30DB /* CAComponentDescription.h */,
8BF8E0EF2E31AABC00DC30DB /* CADebugMacros.h */,
8BF8E0F02E31AABC00DC30DB /* AUOutputBL.h */,
8BF8E0F12E31AABC00DC30DB /* CADebugPrintf.cpp */,
8BF8E0F22E31AABC00DC30DB /* CARingBuffer.cpp */,
8BF8E0F32E31AABC00DC30DB /* CACFPlugIn.h */,
8BF8E0F42E31AABC00DC30DB /* CASettingsStorage.cpp */,
8BF8E0F52E31AABC00DC30DB /* CAMixMap.h */,
8BF8E0F62E31AABC00DC30DB /* CACFDistributedNotification.h */,
8BF8E0F72E31AABC00DC30DB /* CAFilePathUtils.h */,
8BF8E0F82E31AABC00DC30DB /* CATink.h */,
8BF8E0F92E31AABC00DC30DB /* CAStreamBasicDescription.cpp */,
8BF8E0FA2E31AABC00DC30DB /* CAAudioChannelLayout.h */,
8BF8E0FB2E31AABC00DC30DB /* CAProcess.cpp */,
8BF8E0FC2E31AABC00DC30DB /* CAHostTimeBase.cpp */,
8BF8E0FD2E31AABC00DC30DB /* CAPersistence.cpp */,
8BF8E0FE2E31AABC00DC30DB /* CAAudioBufferList.cpp */,
8BF8E0FF2E31AABC00DC30DB /* CAAudioTimeStamp.cpp */,
8BF8E1002E31AABC00DC30DB /* CAVectorUnit.h */,
8BF8E1012E31AABC00DC30DB /* CAByteOrder.h */,
8BF8E1022E31AABC00DC30DB /* CACFArray.h */,
8BF8E1032E31AABC00DC30DB /* CAAtomicStack.h */,
8BF8E1042E31AABC00DC30DB /* CAReferenceCounted.h */,
8BF8E1052E31AABC00DC30DB /* CACFMachPort.cpp */,
8BF8E1062E31AABC00DC30DB /* CABufferList.cpp */,
8BF8E1072E31AABC00DC30DB /* CAMutex.cpp */,
8BF8E1082E31AABC00DC30DB /* CADebugger.cpp */,
8BF8E1092E31AABC00DC30DB /* CABundleLocker.cpp */,
8BF8E10A2E31AABC00DC30DB /* CAAudioFileFormats.cpp */,
8BF8E10B2E31AABC00DC30DB /* CAMath.h */,
8BF8E10C2E31AABC00DC30DB /* CACFArray.cpp */,
8BF8E10D2E31AABC00DC30DB /* CACFMessagePort.h */,
8BF8E10E2E31AABC00DC30DB /* CAAudioValueRange.cpp */,
8BF8E10F2E31AABC00DC30DB /* CAAudioUnit.cpp */,
);
path = PublicUtility;
sourceTree = "<group>";
};
8BF8E1102E31AABC00DC30DB /* AudioUnits */ = {
isa = PBXGroup;
children = (
8BF8E1112E31AABC00DC30DB /* AUPublic */,
);
path = AudioUnits;
sourceTree = "<group>";
};
8BF8E1112E31AABC00DC30DB /* AUPublic */ = {
isa = PBXGroup;
children = (
8BF8E1122E31AABC00DC30DB /* AUViewBase */,
8BF8E1142E31AABC00DC30DB /* AUBase */,
8BF8E1242E31AABC00DC30DB /* OtherBases */,
8BF8E1272E31AABC00DC30DB /* Utility */,
);
path = AUPublic;
sourceTree = "<group>";
};
8BF8E1122E31AABC00DC30DB /* AUViewBase */ = {
isa = PBXGroup;
children = (
8BF8E1132E31AABC00DC30DB /* AUViewLocalizedStringKeys.h */,
);
path = AUViewBase;
sourceTree = "<group>";
};
8BF8E1142E31AABC00DC30DB /* AUBase */ = {
isa = PBXGroup;
children = (
8BF8E1152E31AABC00DC30DB /* ComponentBase.cpp */,
8BF8E1162E31AABC00DC30DB /* AUScopeElement.cpp */,
8BF8E1172E31AABC00DC30DB /* ComponentBase.h */,
8BF8E1182E31AABC00DC30DB /* AUBase.cpp */,
8BF8E1192E31AABC00DC30DB /* AUInputElement.h */,
8BF8E11A2E31AABC00DC30DB /* AUBase.h */,
8BF8E11B2E31AABC00DC30DB /* AUPlugInDispatch.h */,
8BF8E11C2E31AABC00DC30DB /* AUDispatch.h */,
8BF8E11D2E31AABC00DC30DB /* AUOutputElement.cpp */,
8BF8E11E2E31AABC00DC30DB /* AUResources.r */,
8BF8E11F2E31AABC00DC30DB /* AUPlugInDispatch.cpp */,
8BF8E1202E31AABC00DC30DB /* AUOutputElement.h */,
8BF8E1212E31AABC00DC30DB /* AUDispatch.cpp */,
8BF8E1222E31AABC00DC30DB /* AUScopeElement.h */,
8BF8E1232E31AABC00DC30DB /* AUInputElement.cpp */,
);
path = AUBase;
sourceTree = "<group>";
};
8BF8E1242E31AABC00DC30DB /* OtherBases */ = {
isa = PBXGroup;
children = (
8BF8E1252E31AABC00DC30DB /* AUEffectBase.cpp */,
8BF8E1262E31AABC00DC30DB /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BF8E1272E31AABC00DC30DB /* Utility */ = {
isa = PBXGroup;
children = (
8BF8E1282E31AABC00DC30DB /* AUTimestampGenerator.h */,
8BF8E1292E31AABC00DC30DB /* AUBaseHelper.cpp */,
8BF8E12A2E31AABC00DC30DB /* AUSilentTimeout.h */,
8BF8E12B2E31AABC00DC30DB /* AUInputFormatConverter.h */,
8BF8E12C2E31AABC00DC30DB /* AUTimestampGenerator.cpp */,
8BF8E12D2E31AABC00DC30DB /* AUBuffer.cpp */,
8BF8E12E2E31AABC00DC30DB /* AUMIDIDefs.h */,
8BF8E12F2E31AABC00DC30DB /* AUBuffer.h */,
8BF8E1302E31AABC00DC30DB /* AUBaseHelper.h */,
);
path = Utility;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BF8E1612E31AABD00DC30DB /* CABundleLocker.h in Headers */,
8BF8E1822E31AABD00DC30DB /* CAAudioChannelLayout.h in Headers */,
8BF8E1782E31AABD00DC30DB /* AUOutputBL.h in Headers */,
8BF8E1532E31AABD00DC30DB /* CAHostTimeBase.h in Headers */,
8BF8E19B2E31AABD00DC30DB /* ComponentBase.h in Headers */,
8BF8E18B2E31AABD00DC30DB /* CAAtomicStack.h in Headers */,
8BF8E1482E31AABD00DC30DB /* CAAudioTimeStamp.h in Headers */,
8BF8E1652E31AABD00DC30DB /* CAThreadSafeList.h in Headers */,
8BF8E1402E31AABD00DC30DB /* CAAUParameter.h in Headers */,
8BF8E1B22E31AABD00DC30DB /* AUBaseHelper.h in Headers */,
8BF8E1AA2E31AABD00DC30DB /* AUTimestampGenerator.h in Headers */,
8BF8E15B2E31AABD00DC30DB /* CADebugPrintf.h in Headers */,
8BF8E1952E31AABD00DC30DB /* CACFMessagePort.h in Headers */,
8BF8E1432E31AABD00DC30DB /* CAAUProcessor.h in Headers */,
8BF8E13F2E31AABD00DC30DB /* CAAudioUnit.h in Headers */,
8BF8E1982E31AABD00DC30DB /* AUViewLocalizedStringKeys.h in Headers */,
8BF8E17E2E31AABD00DC30DB /* CACFDistributedNotification.h in Headers */,
8BF8E13D2E31AABD00DC30DB /* CAComponent.h in Headers */,
8BF8E14B2E31AABD00DC30DB /* CAVectorUnitTypes.h in Headers */,
8BA05A6E0720730100365D66 /* ChimeyDeluxeVersion.h in Headers */,
8BF8E17F2E31AABD00DC30DB /* CAFilePathUtils.h in Headers */,
8BF8E1412E31AABD00DC30DB /* CAException.h in Headers */,
8BF8E1382E31AABD00DC30DB /* CAAtomic.h in Headers */,
8BF8E1372E31AABD00DC30DB /* CAGuard.h in Headers */,
8BF8E19D2E31AABD00DC30DB /* AUInputElement.h in Headers */,
8BF8E1742E31AABD00DC30DB /* CACFPreferences.h in Headers */,
8BF8E1892E31AABD00DC30DB /* CAByteOrder.h in Headers */,
8BF8E16C2E31AABD00DC30DB /* CARingBuffer.h in Headers */,
8BF8E1332E31AABD00DC30DB /* CABool.h in Headers */,
8BF8E1582E31AABD00DC30DB /* CAMutex.h in Headers */,
8BF8E19E2E31AABD00DC30DB /* AUBase.h in Headers */,
8BC6025C073B072D006C4272 /* ChimeyDeluxe.h in Headers */,
8BF8E1502E31AABD00DC30DB /* CACFString.h in Headers */,
8BF8E16F2E31AABD00DC30DB /* CASharedLibrary.h in Headers */,
8BF8E13C2E31AABD00DC30DB /* CATokenMap.h in Headers */,
8BF8E1312E31AABD00DC30DB /* CAExtAudioFile.h in Headers */,
8BF8E1462E31AABD00DC30DB /* CAPThread.h in Headers */,
8BF8E1622E31AABD00DC30DB /* CAPropertyAddress.h in Headers */,
8BF8E18C2E31AABD00DC30DB /* CAReferenceCounted.h in Headers */,
8BF8E1B12E31AABD00DC30DB /* AUBuffer.h in Headers */,
8BF8E1932E31AABD00DC30DB /* CAMath.h in Headers */,
8BF8E1732E31AABD00DC30DB /* CAAutoDisposer.h in Headers */,
8BF8E13A2E31AABD00DC30DB /* CACFObject.h in Headers */,
8BF8E15A2E31AABD00DC30DB /* CASettingsStorage.h in Headers */,
8BF8E1632E31AABD00DC30DB /* CAXException.h in Headers */,
8BF8E1802E31AABD00DC30DB /* CATink.h in Headers */,
8BF8E1AD2E31AABD00DC30DB /* AUInputFormatConverter.h in Headers */,
8BF8E1882E31AABD00DC30DB /* CAVectorUnit.h in Headers */,
8BF8E1442E31AABD00DC30DB /* CAProcess.h in Headers */,
8BF8E14A2E31AABD00DC30DB /* CAAudioValueRange.h in Headers */,
8BF8E15F2E31AABD00DC30DB /* CABitOperations.h in Headers */,
8BF8E1552E31AABD00DC30DB /* CAAudioFileFormats.h in Headers */,
8BF8E14E2E31AABD00DC30DB /* CACFNumber.h in Headers */,
8BF8E1662E31AABD00DC30DB /* CAAudioUnitOutputCapturer.h in Headers */,
8BF8E1772E31AABD00DC30DB /* CADebugMacros.h in Headers */,
8BF8E1B02E31AABD00DC30DB /* AUMIDIDefs.h in Headers */,
8BF8E1702E31AABD00DC30DB /* CACFData.h in Headers */,
8BF8E1392E31AABD00DC30DB /* CAStreamBasicDescription.h in Headers */,
8BF8E19F2E31AABD00DC30DB /* AUPlugInDispatch.h in Headers */,
8BF8E13B2E31AABD00DC30DB /* CAStreamRangedDescription.h in Headers */,
8BF8E17B2E31AABD00DC30DB /* CACFPlugIn.h in Headers */,
8BF8E13E2E31AABD00DC30DB /* CAAudioBufferList.h in Headers */,
8BF8E1562E31AABD00DC30DB /* CAAUMIDIMapManager.h in Headers */,
8BF8E1A92E31AABD00DC30DB /* AUEffectBase.h in Headers */,
8BF8E1452E31AABD00DC30DB /* CACFDictionary.h in Headers */,
8BF8E1A62E31AABD00DC30DB /* AUScopeElement.h in Headers */,
8BF8E1762E31AABD00DC30DB /* CAComponentDescription.h in Headers */,
8BF8E1AC2E31AABD00DC30DB /* AUSilentTimeout.h in Headers */,
8BF8E16E2E31AABD00DC30DB /* CABufferList.h in Headers */,
8BF8E1A02E31AABD00DC30DB /* AUDispatch.h in Headers */,
8BF8E1A42E31AABD00DC30DB /* AUOutputElement.h in Headers */,
8BF8E16A2E31AABD00DC30DB /* CALogMacros.h in Headers */,
8BF8E15E2E31AABD00DC30DB /* AUParamInfo.h in Headers */,
8BF8E17D2E31AABD00DC30DB /* CAMixMap.h in Headers */,
8BF8E18A2E31AABD00DC30DB /* CACFArray.h in Headers */,
8BF8E1322E31AABD00DC30DB /* CACFMachPort.h in Headers */,
8BF8E15D2E31AABD00DC30DB /* CAAUMIDIMap.h in Headers */,
8BF8E1352E31AABD00DC30DB /* CADebugger.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyDeluxe" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ChimeyDeluxe;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ChimeyDeluxe;
productReference = 8D01CCD20486CAD60068D4B7 /* ChimeyDeluxe.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 "ChimeyDeluxe" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
Base,
de,
fr,
en,
ja,
);
mainGroup = 089C166AFE841209C02AAC07 /* ChimeyDeluxe */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */,
);
};
/* 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 = (
8BF8E16D2E31AABD00DC30DB /* AUOutputBL.cpp in Sources */,
8BF8E1922E31AABD00DC30DB /* CAAudioFileFormats.cpp in Sources */,
8BF8E1842E31AABD00DC30DB /* CAHostTimeBase.cpp in Sources */,
8BF8E15C2E31AABD00DC30DB /* CAXException.cpp in Sources */,
8BF8E1862E31AABD00DC30DB /* CAAudioBufferList.cpp in Sources */,
8BF8E1492E31AABD00DC30DB /* CAFilePathUtils.cpp in Sources */,
8BF8E1472E31AABD00DC30DB /* CAAUParameter.cpp in Sources */,
8BF8E1692E31AABD00DC30DB /* CAAUMIDIMap.cpp in Sources */,
8BF8E1962E31AABD00DC30DB /* CAAudioValueRange.cpp in Sources */,
8BF8E1A52E31AABD00DC30DB /* AUDispatch.cpp in Sources */,
8BF8E1602E31AABD00DC30DB /* CACFPreferences.cpp in Sources */,
8BF8E1A32E31AABD00DC30DB /* AUPlugInDispatch.cpp in Sources */,
8BF8E1422E31AABD00DC30DB /* CAAUProcessor.cpp in Sources */,
8BF8E1572E31AABD00DC30DB /* CACFDictionary.cpp in Sources */,
8BF8E1AB2E31AABD00DC30DB /* AUBaseHelper.cpp in Sources */,
8BF8E1902E31AABD00DC30DB /* CADebugger.cpp in Sources */,
8BF8E1642E31AABD00DC30DB /* CAAudioChannelLayout.cpp in Sources */,
8BF8E1672E31AABD00DC30DB /* AUParamInfo.cpp in Sources */,
8BF8E1852E31AABD00DC30DB /* CAPersistence.cpp in Sources */,
8BF8E1792E31AABD00DC30DB /* CADebugPrintf.cpp in Sources */,
8BF8E1AE2E31AABD00DC30DB /* AUTimestampGenerator.cpp in Sources */,
8BF8E1812E31AABD00DC30DB /* CAStreamBasicDescription.cpp in Sources */,
8BF8E1512E31AABD00DC30DB /* CAAUMIDIMapManager.cpp in Sources */,
8BF8E17C2E31AABD00DC30DB /* CASettingsStorage.cpp in Sources */,
8BF8E1A12E31AABD00DC30DB /* AUOutputElement.cpp in Sources */,
8BF8E14D2E31AABD00DC30DB /* CAGuard.cpp in Sources */,
8BA05A6B0720730100365D66 /* ChimeyDeluxe.cpp in Sources */,
8BF8E18F2E31AABD00DC30DB /* CAMutex.cpp in Sources */,
8BF8E1A82E31AABD00DC30DB /* AUEffectBase.cpp in Sources */,
8BF8E18D2E31AABD00DC30DB /* CACFMachPort.cpp in Sources */,
8BF8E19C2E31AABD00DC30DB /* AUBase.cpp in Sources */,
8BF8E1682E31AABD00DC30DB /* CASharedLibrary.cpp in Sources */,
8BF8E14F2E31AABD00DC30DB /* CACFDistributedNotification.cpp in Sources */,
8BF8E1522E31AABD00DC30DB /* CAComponentDescription.cpp in Sources */,
8BF8E1592E31AABD00DC30DB /* CACFString.cpp in Sources */,
8BF8E1992E31AABD00DC30DB /* ComponentBase.cpp in Sources */,
8BF8E17A2E31AABD00DC30DB /* CARingBuffer.cpp in Sources */,
8BF8E19A2E31AABD00DC30DB /* AUScopeElement.cpp in Sources */,
8BF8E1972E31AABD00DC30DB /* CAAudioUnit.cpp in Sources */,
8BF8E1942E31AABD00DC30DB /* CACFArray.cpp in Sources */,
8BF8E1912E31AABD00DC30DB /* CABundleLocker.cpp in Sources */,
8BF8E1832E31AABD00DC30DB /* CAProcess.cpp in Sources */,
8BF8E1712E31AABD00DC30DB /* CAStreamRangedDescription.cpp in Sources */,
8BF8E1722E31AABD00DC30DB /* CAPThread.cpp in Sources */,
8BF8E1342E31AABD00DC30DB /* CAComponent.cpp in Sources */,
8BF8E14C2E31AABD00DC30DB /* CAAudioChannelLayoutObject.cpp in Sources */,
8BF8E1872E31AABD00DC30DB /* CAAudioTimeStamp.cpp in Sources */,
8BF8E18E2E31AABD00DC30DB /* CABufferList.cpp in Sources */,
8BF8E16B2E31AABD00DC30DB /* CACFMessagePort.cpp in Sources */,
8BF8E1752E31AABD00DC30DB /* CAVectorUnit.cpp in Sources */,
8BF8E1A72E31AABD00DC30DB /* AUInputElement.cpp in Sources */,
8BF8E1AF2E31AABD00DC30DB /* AUBuffer.cpp in Sources */,
8BF8E1542E31AABD00DC30DB /* CADebugMacros.cpp in Sources */,
8BF8E1362E31AABD00DC30DB /* CACFNumber.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
8BF8E1B32E31AB3300DC30DB /* 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 = ChimeyDeluxe.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 = ChimeyDeluxe;
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 = ChimeyDeluxe.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 = ChimeyDeluxe;
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 "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA248089833B7007656EC /* Debug */,
3E4BA249089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View file

@ -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>

View file

@ -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 = "ChimeyDeluxe.component"
BlueprintName = "ChimeyDeluxe"
ReferencedContainer = "container:ChimeyDeluxe.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 = "ChimeyDeluxe.component"
BlueprintName = "ChimeyDeluxe"
ReferencedContainer = "container:ChimeyDeluxe.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View file

@ -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>ChimeyDeluxe.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>

View file

@ -0,0 +1,58 @@
/*
* File: ChimeyDeluxeVersion.h
*
* Version: 1.0
*
* Created: 6/6/25
*
* Copyright: Copyright © 2025 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 __ChimeyDeluxeVersion_h__
#define __ChimeyDeluxeVersion_h__
#ifdef DEBUG
#define kChimeyDeluxeVersion 0xFFFFFFFF
#else
#define kChimeyDeluxeVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ChimeyDeluxe_COMP_MANF 'Dthr'
#define ChimeyDeluxe_COMP_SUBTYPE 'cdlx'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#endif

View 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>cdlx</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>

Binary file not shown.

View 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>

View file

@ -0,0 +1,343 @@
/*
* File: ChimeyGuitar2.cpp
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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.
*
*/
/*=============================================================================
ChimeyGuitar2.cpp
=============================================================================*/
#include "ChimeyGuitar2.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AUDIOCOMPONENT_ENTRY(AUBaseFactory, ChimeyGuitar2)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ChimeyGuitar2::ChimeyGuitar2(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_A, kDefaultValue_ParamA );
SetParameter(kParam_B, kDefaultValue_ParamB );
SetParameter(kParam_C, kDefaultValue_ParamC );
SetParameter(kParam_D, kDefaultValue_ParamD );
SetParameter(kParam_E, kDefaultValue_ParamE );
SetParameter(kParam_F, kDefaultValue_ParamF );
SetParameter(kParam_G, kDefaultValue_ParamG );
SetParameter(kParam_H, kDefaultValue_ParamH );
SetParameter(kParam_I, kDefaultValue_ParamI );
SetParameter(kParam_J, kDefaultValue_ParamJ );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::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;
case kParam_D:
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamD;
break;
case kParam_E:
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamE;
break;
case kParam_F:
AUBase::FillInParameterName (outParameterInfo, kParameterFName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamF;
break;
case kParam_G:
AUBase::FillInParameterName (outParameterInfo, kParameterGName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamG;
break;
case kParam_H:
AUBase::FillInParameterName (outParameterInfo, kParameterHName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamH;
break;
case kParam_I:
AUBase::FillInParameterName (outParameterInfo, kParameterIName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamI;
break;
case kParam_J:
AUBase::FillInParameterName (outParameterInfo, kParameterJName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamJ;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ChimeyGuitar2::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ChimeyGuitar2::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ChimeyGuitar2EffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2Kernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyGuitar2::ChimeyGuitar2Kernel::Reset()
{
for(int x=0; x<21; x++) {
for(int y=0; y<11; y++) {
angS[x][y] = 0.0; angA[x][y] = 0.0; angG[y] = 0.0;
}
}
muComp = 1.0;
muSpd = 100.0;
for(int count = 0; count < 36; count++) {
iirHPosition[count] = 0.0;
iirHAngle[count] = 0.0;
iirBPosition[count] = 0.0;
iirBAngle[count] = 0.0;
}
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ChimeyGuitar2::ChimeyGuitar2Kernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ChimeyGuitar2::ChimeyGuitar2Kernel::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();
int poles = (int)(pow(GetParameter( kParam_A ),3.0)*20.0);
double threshold = 1.0-pow(GetParameter( kParam_A )*0.9,2.0);
angG[0] = sqrt(GetParameter( kParam_B )*2.0);
angG[2] = sqrt(GetParameter( kParam_C )*2.0);
angG[4] = sqrt(GetParameter( kParam_D )*2.0);
angG[6] = sqrt(GetParameter( kParam_E )*2.0);
angG[8] = sqrt(GetParameter( kParam_F )*2.0);
angG[1] = (angG[0]+angG[2])*0.5;
angG[3] = (angG[2]+angG[4])*0.5;
angG[5] = (angG[4]+angG[6])*0.5;
angG[7] = (angG[6]+angG[8])*0.5;
angG[9] = angG[8];
double hFreq = pow(GetParameter( kParam_G ),overallscale);
double lFreq = pow(GetParameter( kParam_H ),overallscale+3.0);
double adjSpd = ((GetParameter( kParam_I )*180.0)+20.0)*overallscale;
double output = GetParameter( kParam_J );
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
for (int x = 0; x < poles; x++) {
double fr = 0.9/overallscale;
double band = inputSample; inputSample = 0.0;
for (int y = 0; y < 9; y++) {
angA[x][y] = (angA[x][y]*(1.0-fr)) + ((band-angS[x][y])*fr);
double temp = band; band = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
angS[x][y] = ((angS[x][y]+(angA[x][y]*fr)) * (1.0-fr))+(band*fr);
inputSample += ((temp-band)*angG[y]);
fr *= 0.618033988749894;
}
inputSample += (band*angG[9]);
inputSample *= (muComp/threshold);
if (fabs(inputSample) > threshold)
{
muComp *= muSpd;
if (threshold/fabs(inputSample) < threshold) muComp += threshold*fabs(inputSample);
else muComp -= threshold/fabs(inputSample);
muComp /= muSpd;
} else {
muComp *= (muSpd*muSpd);
muComp += ((1.1+threshold)-fabs(inputSample));
muComp /= (muSpd*muSpd);
}
muComp = fmax(fmin(muComp,1.0),threshold);
inputSample *= (muComp*muComp);
muSpd = fmax(fmin(((muSpd*(muSpd-1.0))+(fabs(inputSample*adjSpd)))/muSpd,adjSpd*2.0),adjSpd);
}
inputSample = sin(fmin(fmax(inputSample,-M_PI_2),M_PI_2));
double lowSample = inputSample;
for(int count = 0; count < (3.0+(lFreq*32.0)); count++) {
iirBAngle[count] = (iirBAngle[count]*(1.0-lFreq))+((lowSample-iirBPosition[count])*lFreq);
lowSample = ((iirBPosition[count]+(iirBAngle[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
iirBPosition[count] = ((iirBPosition[count]+(iirBAngle[count]*lFreq))*(1.0-lFreq))+(lowSample*lFreq);
inputSample -= (lowSample * (1.0/(3.0+(lFreq*32.0))) );
}
for(int count = 0; count < (3.0+(hFreq*32.0)); count++) {
iirHAngle[count] = (iirHAngle[count]*(1.0-hFreq))+((inputSample-iirHPosition[count])*hFreq);
inputSample = ((iirHPosition[count]+(iirHAngle[count]*hFreq))*(1.0-hFreq))+(inputSample*hFreq);
iirHPosition[count] = ((iirHPosition[count]+(iirHAngle[count]*hFreq))*(1.0-hFreq))+(inputSample*hFreq);
} //the lowpass
inputSample *= output;
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1,2 @@
_ChimeyGuitar2Entry
_ChimeyGuitar2Factory

View file

@ -0,0 +1,172 @@
/*
* File: ChimeyGuitar2.h
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 "ChimeyGuitar2Version.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ChimeyGuitar2_h__
#define __ChimeyGuitar2_h__
#pragma mark ____ChimeyGuitar2 Parameters
// parameters
static const float kDefaultValue_ParamA = 0.6;
static const float kDefaultValue_ParamB = 0.8;
static const float kDefaultValue_ParamC = 0.7;
static const float kDefaultValue_ParamD = 0.5;
static const float kDefaultValue_ParamE = 0.7;
static const float kDefaultValue_ParamF = 0.4;
static const float kDefaultValue_ParamG = 0.8;
static const float kDefaultValue_ParamH = 0.4;
static const float kDefaultValue_ParamI = 0.8;
static const float kDefaultValue_ParamJ = 0.8;
static CFStringRef kParameterAName = CFSTR("Compres");
static CFStringRef kParameterBName = CFSTR("Presnce");
static CFStringRef kParameterCName = CFSTR("High");
static CFStringRef kParameterDName = CFSTR("Mid");
static CFStringRef kParameterEName = CFSTR("Low");
static CFStringRef kParameterFName = CFSTR("Sub");
static CFStringRef kParameterGName = CFSTR("HSpeakr");
static CFStringRef kParameterHName = CFSTR("LSpeakr");
static CFStringRef kParameterIName = CFSTR("Speed");
static CFStringRef kParameterJName = CFSTR("Output");
enum {
kParam_A =0,
kParam_B =1,
kParam_C =2,
kParam_D =3,
kParam_E =4,
kParam_F =5,
kParam_G =6,
kParam_H =7,
kParam_I =8,
kParam_J =9,
//Add your parameters here...
kNumberOfParameters=10
};
#pragma mark ____ChimeyGuitar2
class ChimeyGuitar2 : public AUEffectBase
{
public:
ChimeyGuitar2(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ChimeyGuitar2 () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new ChimeyGuitar2Kernel(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 kChimeyGuitar2Version; }
protected:
class ChimeyGuitar2Kernel : public AUKernelBase // most of the real work happens here
{
public:
ChimeyGuitar2Kernel(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:
double angS[22][12];
double angA[22][12];
double angG[12];
double iirHPosition[37];
double iirHAngle[37];
double iirBPosition[37];
double iirBAngle[37];
double muComp;
double muSpd;
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ChimeyGuitar2.r
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 "ChimeyGuitar2Version.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ChimeyGuitar2 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ChimeyGuitar2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ChimeyGuitar2
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ChimeyGuitar2_COMP_SUBTYPE
#define COMP_MANUF ChimeyGuitar2_COMP_MANF
#define VERSION kChimeyGuitar2Version
#define NAME "Airwindows: ChimeyGuitar2"
#define DESCRIPTION "ChimeyGuitar2 AU"
#define ENTRY_POINT "ChimeyGuitar2Entry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,164 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */;
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
211,
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 = 774986709;
PBXWorkspaceStateSaveDate = 774986709;
};
perUserProjectItems = {
8B42CAE52E310C64001C0B57 /* PlistBookmark */ = 8B42CAE52E310C64001C0B57 /* PlistBookmark */;
8B42CB9A2E315311001C0B57 /* PBXTextBookmark */ = 8B42CB9A2E315311001C0B57 /* PBXTextBookmark */;
8B42CB9C2E315311001C0B57 /* PBXTextBookmark */ = 8B42CB9C2E315311001C0B57 /* PBXTextBookmark */;
8B42CBF02E315BD8001C0B57 /* PBXBookmark */ = 8B42CBF02E315BD8001C0B57 /* PBXBookmark */;
8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */ = 8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */;
8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */ = 8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B42CAE52E310C64001C0B57 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/ChimeyGuitar2/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8B42CB9A2E315311001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */;
name = "ChimeyGuitar2.cpp: 315";
rLen = 0;
rLoc = 14310;
rType = 0;
vrLen = 48;
vrLoc = 3;
};
8B42CB9C2E315311001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */;
name = "ChimeyGuitar2Version.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 189;
vrLoc = 2800;
};
8B42CBF02E315BD8001C0B57 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */;
};
8B42CC1E2E315D6C001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */;
name = "ChimeyGuitar2Version.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 136;
vrLoc = 2852;
};
8B42CC1F2E315D6C001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */;
name = "ChimeyGuitar2.h: 66";
rLen = 0;
rLoc = 3318;
rType = 0;
vrLen = 1152;
vrLoc = 2835;
};
8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1047, 6588}}";
sepNavSelRange = "{13686, 563}";
sepNavVisRange = "{14037, 1495}";
sepNavWindowFrame = "{{7, 82}, {826, 733}}";
};
};
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {471, 1170}}";
sepNavSelRange = "{2934, 0}";
sepNavVisRange = "{2852, 136}";
sepNavWindowFrame = "{{15, 152}, {809, 721}}";
};
};
8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 2772}}";
sepNavSelRange = "{3318, 0}";
sepNavVisRange = "{2835, 1152}";
sepNavWindowFrame = "{{18, 56}, {809, 721}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,965 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8BA05A6B0720730100365D66 /* ChimeyGuitar2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */; };
8BA05A6E0720730100365D66 /* ChimeyGuitar2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ChimeyGuitar2Version.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 /* ChimeyGuitar2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */; };
8BF8E23E2E31AB8100DC30DB /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1B62E31AB8000DC30DB /* CAExtAudioFile.h */; };
8BF8E23F2E31AB8100DC30DB /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1B72E31AB8000DC30DB /* CACFMachPort.h */; };
8BF8E2402E31AB8100DC30DB /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1B82E31AB8000DC30DB /* CABool.h */; };
8BF8E2412E31AB8100DC30DB /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1B92E31AB8000DC30DB /* CAComponent.cpp */; };
8BF8E2422E31AB8100DC30DB /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1BA2E31AB8000DC30DB /* CADebugger.h */; };
8BF8E2432E31AB8100DC30DB /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1BB2E31AB8000DC30DB /* CACFNumber.cpp */; };
8BF8E2442E31AB8100DC30DB /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1BC2E31AB8000DC30DB /* CAGuard.h */; };
8BF8E2452E31AB8100DC30DB /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1BD2E31AB8000DC30DB /* CAAtomic.h */; };
8BF8E2462E31AB8100DC30DB /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1BE2E31AB8000DC30DB /* CAStreamBasicDescription.h */; };
8BF8E2472E31AB8100DC30DB /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1BF2E31AB8000DC30DB /* CACFObject.h */; };
8BF8E2482E31AB8100DC30DB /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C02E31AB8000DC30DB /* CAStreamRangedDescription.h */; };
8BF8E2492E31AB8100DC30DB /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C12E31AB8000DC30DB /* CATokenMap.h */; };
8BF8E24A2E31AB8100DC30DB /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C22E31AB8000DC30DB /* CAComponent.h */; };
8BF8E24B2E31AB8100DC30DB /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C32E31AB8000DC30DB /* CAAudioBufferList.h */; };
8BF8E24C2E31AB8100DC30DB /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C42E31AB8000DC30DB /* CAAudioUnit.h */; };
8BF8E24D2E31AB8100DC30DB /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C52E31AB8000DC30DB /* CAAUParameter.h */; };
8BF8E24E2E31AB8100DC30DB /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C62E31AB8000DC30DB /* CAException.h */; };
8BF8E24F2E31AB8100DC30DB /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1C72E31AB8000DC30DB /* CAAUProcessor.cpp */; };
8BF8E2502E31AB8100DC30DB /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C82E31AB8000DC30DB /* CAAUProcessor.h */; };
8BF8E2512E31AB8100DC30DB /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1C92E31AB8000DC30DB /* CAProcess.h */; };
8BF8E2522E31AB8100DC30DB /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1CA2E31AB8000DC30DB /* CACFDictionary.h */; };
8BF8E2532E31AB8100DC30DB /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1CB2E31AB8000DC30DB /* CAPThread.h */; };
8BF8E2542E31AB8100DC30DB /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1CC2E31AB8000DC30DB /* CAAUParameter.cpp */; };
8BF8E2552E31AB8100DC30DB /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1CD2E31AB8000DC30DB /* CAAudioTimeStamp.h */; };
8BF8E2562E31AB8100DC30DB /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1CE2E31AB8000DC30DB /* CAFilePathUtils.cpp */; };
8BF8E2572E31AB8100DC30DB /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1CF2E31AB8000DC30DB /* CAAudioValueRange.h */; };
8BF8E2582E31AB8100DC30DB /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1D02E31AB8000DC30DB /* CAVectorUnitTypes.h */; };
8BF8E2592E31AB8100DC30DB /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D12E31AB8000DC30DB /* CAAudioChannelLayoutObject.cpp */; };
8BF8E25A2E31AB8100DC30DB /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D22E31AB8000DC30DB /* CAGuard.cpp */; };
8BF8E25B2E31AB8100DC30DB /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1D32E31AB8000DC30DB /* CACFNumber.h */; };
8BF8E25C2E31AB8100DC30DB /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D42E31AB8000DC30DB /* CACFDistributedNotification.cpp */; };
8BF8E25D2E31AB8100DC30DB /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1D52E31AB8000DC30DB /* CACFString.h */; };
8BF8E25E2E31AB8100DC30DB /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D62E31AB8000DC30DB /* CAAUMIDIMapManager.cpp */; };
8BF8E25F2E31AB8100DC30DB /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D72E31AB8000DC30DB /* CAComponentDescription.cpp */; };
8BF8E2602E31AB8100DC30DB /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1D82E31AB8000DC30DB /* CAHostTimeBase.h */; };
8BF8E2612E31AB8100DC30DB /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1D92E31AB8000DC30DB /* CADebugMacros.cpp */; };
8BF8E2622E31AB8100DC30DB /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1DA2E31AB8000DC30DB /* CAAudioFileFormats.h */; };
8BF8E2632E31AB8100DC30DB /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1DB2E31AB8000DC30DB /* CAAUMIDIMapManager.h */; };
8BF8E2642E31AB8100DC30DB /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1DC2E31AB8000DC30DB /* CACFDictionary.cpp */; };
8BF8E2652E31AB8100DC30DB /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1DD2E31AB8000DC30DB /* CAMutex.h */; };
8BF8E2662E31AB8100DC30DB /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1DE2E31AB8000DC30DB /* CACFString.cpp */; };
8BF8E2672E31AB8100DC30DB /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1DF2E31AB8000DC30DB /* CASettingsStorage.h */; };
8BF8E2682E31AB8100DC30DB /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E02E31AB8000DC30DB /* CADebugPrintf.h */; };
8BF8E2692E31AB8100DC30DB /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1E12E31AB8000DC30DB /* CAXException.cpp */; };
8BF8E26A2E31AB8100DC30DB /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E22E31AB8000DC30DB /* CAAUMIDIMap.h */; };
8BF8E26B2E31AB8100DC30DB /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E32E31AB8000DC30DB /* AUParamInfo.h */; };
8BF8E26C2E31AB8100DC30DB /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E42E31AB8000DC30DB /* CABitOperations.h */; };
8BF8E26D2E31AB8100DC30DB /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1E52E31AB8000DC30DB /* CACFPreferences.cpp */; };
8BF8E26E2E31AB8100DC30DB /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E62E31AB8000DC30DB /* CABundleLocker.h */; };
8BF8E26F2E31AB8100DC30DB /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E72E31AB8000DC30DB /* CAPropertyAddress.h */; };
8BF8E2702E31AB8100DC30DB /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1E82E31AB8000DC30DB /* CAXException.h */; };
8BF8E2712E31AB8100DC30DB /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1E92E31AB8000DC30DB /* CAAudioChannelLayout.cpp */; };
8BF8E2722E31AB8100DC30DB /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1EA2E31AB8000DC30DB /* CAThreadSafeList.h */; };
8BF8E2732E31AB8100DC30DB /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1EB2E31AB8000DC30DB /* CAAudioUnitOutputCapturer.h */; };
8BF8E2742E31AB8100DC30DB /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1EC2E31AB8000DC30DB /* AUParamInfo.cpp */; };
8BF8E2752E31AB8100DC30DB /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1ED2E31AB8000DC30DB /* CASharedLibrary.cpp */; };
8BF8E2762E31AB8100DC30DB /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1EE2E31AB8000DC30DB /* CAAUMIDIMap.cpp */; };
8BF8E2772E31AB8100DC30DB /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1EF2E31AB8000DC30DB /* CALogMacros.h */; };
8BF8E2782E31AB8100DC30DB /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1F02E31AB8000DC30DB /* CACFMessagePort.cpp */; };
8BF8E2792E31AB8100DC30DB /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F12E31AB8000DC30DB /* CARingBuffer.h */; };
8BF8E27A2E31AB8100DC30DB /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1F22E31AB8000DC30DB /* AUOutputBL.cpp */; };
8BF8E27B2E31AB8100DC30DB /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F32E31AB8000DC30DB /* CABufferList.h */; };
8BF8E27C2E31AB8100DC30DB /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F42E31AB8000DC30DB /* CASharedLibrary.h */; };
8BF8E27D2E31AB8100DC30DB /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F52E31AB8000DC30DB /* CACFData.h */; };
8BF8E27E2E31AB8100DC30DB /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1F62E31AB8000DC30DB /* CAStreamRangedDescription.cpp */; };
8BF8E27F2E31AB8100DC30DB /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1F72E31AB8000DC30DB /* CAPThread.cpp */; };
8BF8E2802E31AB8100DC30DB /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F82E31AB8000DC30DB /* CAAutoDisposer.h */; };
8BF8E2812E31AB8100DC30DB /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1F92E31AB8000DC30DB /* CACFPreferences.h */; };
8BF8E2822E31AB8100DC30DB /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1FA2E31AB8000DC30DB /* CAVectorUnit.cpp */; };
8BF8E2832E31AB8100DC30DB /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1FB2E31AB8000DC30DB /* CAComponentDescription.h */; };
8BF8E2842E31AB8100DC30DB /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1FC2E31AB8000DC30DB /* CADebugMacros.h */; };
8BF8E2852E31AB8100DC30DB /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E1FD2E31AB8000DC30DB /* AUOutputBL.h */; };
8BF8E2862E31AB8100DC30DB /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1FE2E31AB8000DC30DB /* CADebugPrintf.cpp */; };
8BF8E2872E31AB8100DC30DB /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E1FF2E31AB8000DC30DB /* CARingBuffer.cpp */; };
8BF8E2882E31AB8100DC30DB /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2002E31AB8000DC30DB /* CACFPlugIn.h */; };
8BF8E2892E31AB8100DC30DB /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2012E31AB8000DC30DB /* CASettingsStorage.cpp */; };
8BF8E28A2E31AB8100DC30DB /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2022E31AB8000DC30DB /* CAMixMap.h */; };
8BF8E28B2E31AB8100DC30DB /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2032E31AB8000DC30DB /* CACFDistributedNotification.h */; };
8BF8E28C2E31AB8100DC30DB /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2042E31AB8000DC30DB /* CAFilePathUtils.h */; };
8BF8E28D2E31AB8100DC30DB /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2052E31AB8000DC30DB /* CATink.h */; };
8BF8E28E2E31AB8100DC30DB /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2062E31AB8000DC30DB /* CAStreamBasicDescription.cpp */; };
8BF8E28F2E31AB8100DC30DB /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2072E31AB8000DC30DB /* CAAudioChannelLayout.h */; };
8BF8E2902E31AB8100DC30DB /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2082E31AB8000DC30DB /* CAProcess.cpp */; };
8BF8E2912E31AB8100DC30DB /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2092E31AB8000DC30DB /* CAHostTimeBase.cpp */; };
8BF8E2922E31AB8100DC30DB /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E20A2E31AB8000DC30DB /* CAPersistence.cpp */; };
8BF8E2932E31AB8100DC30DB /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E20B2E31AB8000DC30DB /* CAAudioBufferList.cpp */; };
8BF8E2942E31AB8100DC30DB /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E20C2E31AB8000DC30DB /* CAAudioTimeStamp.cpp */; };
8BF8E2952E31AB8100DC30DB /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E20D2E31AB8000DC30DB /* CAVectorUnit.h */; };
8BF8E2962E31AB8100DC30DB /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E20E2E31AB8000DC30DB /* CAByteOrder.h */; };
8BF8E2972E31AB8100DC30DB /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E20F2E31AB8000DC30DB /* CACFArray.h */; };
8BF8E2982E31AB8100DC30DB /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2102E31AB8000DC30DB /* CAAtomicStack.h */; };
8BF8E2992E31AB8100DC30DB /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2112E31AB8000DC30DB /* CAReferenceCounted.h */; };
8BF8E29A2E31AB8100DC30DB /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2122E31AB8000DC30DB /* CACFMachPort.cpp */; };
8BF8E29B2E31AB8100DC30DB /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2132E31AB8000DC30DB /* CABufferList.cpp */; };
8BF8E29C2E31AB8100DC30DB /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2142E31AB8000DC30DB /* CAMutex.cpp */; };
8BF8E29D2E31AB8100DC30DB /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2152E31AB8000DC30DB /* CADebugger.cpp */; };
8BF8E29E2E31AB8100DC30DB /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2162E31AB8000DC30DB /* CABundleLocker.cpp */; };
8BF8E29F2E31AB8100DC30DB /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2172E31AB8000DC30DB /* CAAudioFileFormats.cpp */; };
8BF8E2A02E31AB8100DC30DB /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2182E31AB8000DC30DB /* CAMath.h */; };
8BF8E2A12E31AB8100DC30DB /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2192E31AB8000DC30DB /* CACFArray.cpp */; };
8BF8E2A22E31AB8100DC30DB /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E21A2E31AB8000DC30DB /* CACFMessagePort.h */; };
8BF8E2A32E31AB8100DC30DB /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E21B2E31AB8000DC30DB /* CAAudioValueRange.cpp */; };
8BF8E2A42E31AB8100DC30DB /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E21C2E31AB8000DC30DB /* CAAudioUnit.cpp */; };
8BF8E2A52E31AB8100DC30DB /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2202E31AB8000DC30DB /* AUViewLocalizedStringKeys.h */; };
8BF8E2A62E31AB8100DC30DB /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2222E31AB8000DC30DB /* ComponentBase.cpp */; };
8BF8E2A72E31AB8100DC30DB /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2232E31AB8000DC30DB /* AUScopeElement.cpp */; };
8BF8E2A82E31AB8100DC30DB /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2242E31AB8000DC30DB /* ComponentBase.h */; };
8BF8E2A92E31AB8100DC30DB /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2252E31AB8000DC30DB /* AUBase.cpp */; };
8BF8E2AA2E31AB8100DC30DB /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2262E31AB8000DC30DB /* AUInputElement.h */; };
8BF8E2AB2E31AB8100DC30DB /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2272E31AB8000DC30DB /* AUBase.h */; };
8BF8E2AC2E31AB8100DC30DB /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2282E31AB8000DC30DB /* AUPlugInDispatch.h */; };
8BF8E2AD2E31AB8100DC30DB /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2292E31AB8000DC30DB /* AUDispatch.h */; };
8BF8E2AE2E31AB8100DC30DB /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E22A2E31AB8000DC30DB /* AUOutputElement.cpp */; };
8BF8E2B02E31AB8100DC30DB /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E22C2E31AB8000DC30DB /* AUPlugInDispatch.cpp */; };
8BF8E2B12E31AB8100DC30DB /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E22D2E31AB8000DC30DB /* AUOutputElement.h */; };
8BF8E2B22E31AB8100DC30DB /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E22E2E31AB8000DC30DB /* AUDispatch.cpp */; };
8BF8E2B32E31AB8100DC30DB /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E22F2E31AB8000DC30DB /* AUScopeElement.h */; };
8BF8E2B42E31AB8100DC30DB /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2302E31AB8000DC30DB /* AUInputElement.cpp */; };
8BF8E2B52E31AB8100DC30DB /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2322E31AB8000DC30DB /* AUEffectBase.cpp */; };
8BF8E2B62E31AB8100DC30DB /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2332E31AB8000DC30DB /* AUEffectBase.h */; };
8BF8E2B72E31AB8100DC30DB /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2352E31AB8000DC30DB /* AUTimestampGenerator.h */; };
8BF8E2B82E31AB8100DC30DB /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2362E31AB8000DC30DB /* AUBaseHelper.cpp */; };
8BF8E2B92E31AB8100DC30DB /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2372E31AB8000DC30DB /* AUSilentTimeout.h */; };
8BF8E2BA2E31AB8100DC30DB /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2382E31AB8000DC30DB /* AUInputFormatConverter.h */; };
8BF8E2BB2E31AB8100DC30DB /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2392E31AB8000DC30DB /* AUTimestampGenerator.cpp */; };
8BF8E2BC2E31AB8100DC30DB /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E23A2E31AB8000DC30DB /* AUBuffer.cpp */; };
8BF8E2BD2E31AB8100DC30DB /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E23B2E31AB8000DC30DB /* AUMIDIDefs.h */; };
8BF8E2BE2E31AB8100DC30DB /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E23C2E31AB8000DC30DB /* AUBuffer.h */; };
8BF8E2BF2E31AB8100DC30DB /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E23D2E31AB8000DC30DB /* 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 /* ChimeyGuitar2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChimeyGuitar2.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ChimeyGuitar2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ChimeyGuitar2.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ChimeyGuitar2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ChimeyGuitar2.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyGuitar2Version.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 /* ChimeyGuitar2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChimeyGuitar2.h; sourceTree = "<group>"; };
8BF8E1B62E31AB8000DC30DB /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
8BF8E1B72E31AB8000DC30DB /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
8BF8E1B82E31AB8000DC30DB /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
8BF8E1B92E31AB8000DC30DB /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
8BF8E1BA2E31AB8000DC30DB /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
8BF8E1BB2E31AB8000DC30DB /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
8BF8E1BC2E31AB8000DC30DB /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
8BF8E1BD2E31AB8000DC30DB /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
8BF8E1BE2E31AB8000DC30DB /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BF8E1BF2E31AB8000DC30DB /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
8BF8E1C02E31AB8000DC30DB /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
8BF8E1C12E31AB8000DC30DB /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
8BF8E1C22E31AB8000DC30DB /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
8BF8E1C32E31AB8000DC30DB /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
8BF8E1C42E31AB8000DC30DB /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
8BF8E1C52E31AB8000DC30DB /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8BF8E1C62E31AB8000DC30DB /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
8BF8E1C72E31AB8000DC30DB /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
8BF8E1C82E31AB8000DC30DB /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
8BF8E1C92E31AB8000DC30DB /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
8BF8E1CA2E31AB8000DC30DB /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
8BF8E1CB2E31AB8000DC30DB /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
8BF8E1CC2E31AB8000DC30DB /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BF8E1CD2E31AB8000DC30DB /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
8BF8E1CE2E31AB8000DC30DB /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
8BF8E1CF2E31AB8000DC30DB /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
8BF8E1D02E31AB8000DC30DB /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8BF8E1D12E31AB8000DC30DB /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
8BF8E1D22E31AB8000DC30DB /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
8BF8E1D32E31AB8000DC30DB /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
8BF8E1D42E31AB8000DC30DB /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
8BF8E1D52E31AB8000DC30DB /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
8BF8E1D62E31AB8000DC30DB /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
8BF8E1D72E31AB8000DC30DB /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
8BF8E1D82E31AB8000DC30DB /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
8BF8E1D92E31AB8000DC30DB /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
8BF8E1DA2E31AB8000DC30DB /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
8BF8E1DB2E31AB8000DC30DB /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
8BF8E1DC2E31AB8000DC30DB /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
8BF8E1DD2E31AB8000DC30DB /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BF8E1DE2E31AB8000DC30DB /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
8BF8E1DF2E31AB8000DC30DB /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
8BF8E1E02E31AB8000DC30DB /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
8BF8E1E12E31AB8000DC30DB /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
8BF8E1E22E31AB8000DC30DB /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
8BF8E1E32E31AB8000DC30DB /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
8BF8E1E42E31AB8000DC30DB /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
8BF8E1E52E31AB8000DC30DB /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
8BF8E1E62E31AB8000DC30DB /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
8BF8E1E72E31AB8000DC30DB /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
8BF8E1E82E31AB8000DC30DB /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
8BF8E1E92E31AB8000DC30DB /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BF8E1EA2E31AB8000DC30DB /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
8BF8E1EB2E31AB8000DC30DB /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
8BF8E1EC2E31AB8000DC30DB /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
8BF8E1ED2E31AB8000DC30DB /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
8BF8E1EE2E31AB8000DC30DB /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
8BF8E1EF2E31AB8000DC30DB /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
8BF8E1F02E31AB8000DC30DB /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
8BF8E1F12E31AB8000DC30DB /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
8BF8E1F22E31AB8000DC30DB /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
8BF8E1F32E31AB8000DC30DB /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
8BF8E1F42E31AB8000DC30DB /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
8BF8E1F52E31AB8000DC30DB /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
8BF8E1F62E31AB8000DC30DB /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
8BF8E1F72E31AB8000DC30DB /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
8BF8E1F82E31AB8000DC30DB /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
8BF8E1F92E31AB8000DC30DB /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
8BF8E1FA2E31AB8000DC30DB /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
8BF8E1FB2E31AB8000DC30DB /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
8BF8E1FC2E31AB8000DC30DB /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
8BF8E1FD2E31AB8000DC30DB /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
8BF8E1FE2E31AB8000DC30DB /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
8BF8E1FF2E31AB8000DC30DB /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
8BF8E2002E31AB8000DC30DB /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
8BF8E2012E31AB8000DC30DB /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
8BF8E2022E31AB8000DC30DB /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
8BF8E2032E31AB8000DC30DB /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
8BF8E2042E31AB8000DC30DB /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
8BF8E2052E31AB8000DC30DB /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
8BF8E2062E31AB8000DC30DB /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BF8E2072E31AB8000DC30DB /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BF8E2082E31AB8000DC30DB /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
8BF8E2092E31AB8000DC30DB /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
8BF8E20A2E31AB8000DC30DB /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
8BF8E20B2E31AB8000DC30DB /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
8BF8E20C2E31AB8000DC30DB /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
8BF8E20D2E31AB8000DC30DB /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
8BF8E20E2E31AB8000DC30DB /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
8BF8E20F2E31AB8000DC30DB /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
8BF8E2102E31AB8000DC30DB /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
8BF8E2112E31AB8000DC30DB /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
8BF8E2122E31AB8000DC30DB /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
8BF8E2132E31AB8000DC30DB /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
8BF8E2142E31AB8000DC30DB /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BF8E2152E31AB8000DC30DB /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
8BF8E2162E31AB8000DC30DB /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
8BF8E2172E31AB8000DC30DB /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
8BF8E2182E31AB8000DC30DB /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
8BF8E2192E31AB8000DC30DB /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
8BF8E21A2E31AB8000DC30DB /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
8BF8E21B2E31AB8000DC30DB /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
8BF8E21C2E31AB8000DC30DB /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
8BF8E2202E31AB8000DC30DB /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8BF8E2222E31AB8000DC30DB /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BF8E2232E31AB8000DC30DB /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BF8E2242E31AB8000DC30DB /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BF8E2252E31AB8000DC30DB /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BF8E2262E31AB8000DC30DB /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BF8E2272E31AB8000DC30DB /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BF8E2282E31AB8000DC30DB /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
8BF8E2292E31AB8000DC30DB /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BF8E22A2E31AB8000DC30DB /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BF8E22B2E31AB8000DC30DB /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BF8E22C2E31AB8000DC30DB /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
8BF8E22D2E31AB8000DC30DB /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BF8E22E2E31AB8000DC30DB /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BF8E22F2E31AB8000DC30DB /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BF8E2302E31AB8000DC30DB /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BF8E2322E31AB8000DC30DB /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BF8E2332E31AB8000DC30DB /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BF8E2352E31AB8000DC30DB /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BF8E2362E31AB8000DC30DB /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
8BF8E2372E31AB8000DC30DB /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BF8E2382E31AB8000DC30DB /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BF8E2392E31AB8000DC30DB /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
8BF8E23A2E31AB8000DC30DB /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BF8E23B2E31AB8000DC30DB /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
8BF8E23C2E31AB8000DC30DB /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BF8E23D2E31AB8000DC30DB /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
8BF8E2C02E31ABF900DC30DB /* 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 /* ChimeyGuitar2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChimeyGuitar2.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 /* ChimeyGuitar2 */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ChimeyGuitar2;
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 = (
8BF8E1B42E31AB8000DC30DB /* CA_SDK */,
8BA05A56072072A900365D66 /* AU Source */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ChimeyGuitar2.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ChimeyGuitar2.h */,
8BA05A660720730100365D66 /* ChimeyGuitar2.cpp */,
8BA05A670720730100365D66 /* ChimeyGuitar2.exp */,
8BA05A680720730100365D66 /* ChimeyGuitar2.r */,
8BA05A690720730100365D66 /* ChimeyGuitar2Version.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
8BF8E1B42E31AB8000DC30DB /* CA_SDK */ = {
isa = PBXGroup;
children = (
8BF8E1B52E31AB8000DC30DB /* PublicUtility */,
8BF8E21D2E31AB8000DC30DB /* AudioUnits */,
);
name = CA_SDK;
path = ../../../../CA_SDK;
sourceTree = "<group>";
};
8BF8E1B52E31AB8000DC30DB /* PublicUtility */ = {
isa = PBXGroup;
children = (
8BF8E1B62E31AB8000DC30DB /* CAExtAudioFile.h */,
8BF8E1B72E31AB8000DC30DB /* CACFMachPort.h */,
8BF8E1B82E31AB8000DC30DB /* CABool.h */,
8BF8E1B92E31AB8000DC30DB /* CAComponent.cpp */,
8BF8E1BA2E31AB8000DC30DB /* CADebugger.h */,
8BF8E1BB2E31AB8000DC30DB /* CACFNumber.cpp */,
8BF8E1BC2E31AB8000DC30DB /* CAGuard.h */,
8BF8E1BD2E31AB8000DC30DB /* CAAtomic.h */,
8BF8E1BE2E31AB8000DC30DB /* CAStreamBasicDescription.h */,
8BF8E1BF2E31AB8000DC30DB /* CACFObject.h */,
8BF8E1C02E31AB8000DC30DB /* CAStreamRangedDescription.h */,
8BF8E1C12E31AB8000DC30DB /* CATokenMap.h */,
8BF8E1C22E31AB8000DC30DB /* CAComponent.h */,
8BF8E1C32E31AB8000DC30DB /* CAAudioBufferList.h */,
8BF8E1C42E31AB8000DC30DB /* CAAudioUnit.h */,
8BF8E1C52E31AB8000DC30DB /* CAAUParameter.h */,
8BF8E1C62E31AB8000DC30DB /* CAException.h */,
8BF8E1C72E31AB8000DC30DB /* CAAUProcessor.cpp */,
8BF8E1C82E31AB8000DC30DB /* CAAUProcessor.h */,
8BF8E1C92E31AB8000DC30DB /* CAProcess.h */,
8BF8E1CA2E31AB8000DC30DB /* CACFDictionary.h */,
8BF8E1CB2E31AB8000DC30DB /* CAPThread.h */,
8BF8E1CC2E31AB8000DC30DB /* CAAUParameter.cpp */,
8BF8E1CD2E31AB8000DC30DB /* CAAudioTimeStamp.h */,
8BF8E1CE2E31AB8000DC30DB /* CAFilePathUtils.cpp */,
8BF8E1CF2E31AB8000DC30DB /* CAAudioValueRange.h */,
8BF8E1D02E31AB8000DC30DB /* CAVectorUnitTypes.h */,
8BF8E1D12E31AB8000DC30DB /* CAAudioChannelLayoutObject.cpp */,
8BF8E1D22E31AB8000DC30DB /* CAGuard.cpp */,
8BF8E1D32E31AB8000DC30DB /* CACFNumber.h */,
8BF8E1D42E31AB8000DC30DB /* CACFDistributedNotification.cpp */,
8BF8E1D52E31AB8000DC30DB /* CACFString.h */,
8BF8E1D62E31AB8000DC30DB /* CAAUMIDIMapManager.cpp */,
8BF8E1D72E31AB8000DC30DB /* CAComponentDescription.cpp */,
8BF8E1D82E31AB8000DC30DB /* CAHostTimeBase.h */,
8BF8E1D92E31AB8000DC30DB /* CADebugMacros.cpp */,
8BF8E1DA2E31AB8000DC30DB /* CAAudioFileFormats.h */,
8BF8E1DB2E31AB8000DC30DB /* CAAUMIDIMapManager.h */,
8BF8E1DC2E31AB8000DC30DB /* CACFDictionary.cpp */,
8BF8E1DD2E31AB8000DC30DB /* CAMutex.h */,
8BF8E1DE2E31AB8000DC30DB /* CACFString.cpp */,
8BF8E1DF2E31AB8000DC30DB /* CASettingsStorage.h */,
8BF8E1E02E31AB8000DC30DB /* CADebugPrintf.h */,
8BF8E1E12E31AB8000DC30DB /* CAXException.cpp */,
8BF8E1E22E31AB8000DC30DB /* CAAUMIDIMap.h */,
8BF8E1E32E31AB8000DC30DB /* AUParamInfo.h */,
8BF8E1E42E31AB8000DC30DB /* CABitOperations.h */,
8BF8E1E52E31AB8000DC30DB /* CACFPreferences.cpp */,
8BF8E1E62E31AB8000DC30DB /* CABundleLocker.h */,
8BF8E1E72E31AB8000DC30DB /* CAPropertyAddress.h */,
8BF8E1E82E31AB8000DC30DB /* CAXException.h */,
8BF8E1E92E31AB8000DC30DB /* CAAudioChannelLayout.cpp */,
8BF8E1EA2E31AB8000DC30DB /* CAThreadSafeList.h */,
8BF8E1EB2E31AB8000DC30DB /* CAAudioUnitOutputCapturer.h */,
8BF8E1EC2E31AB8000DC30DB /* AUParamInfo.cpp */,
8BF8E1ED2E31AB8000DC30DB /* CASharedLibrary.cpp */,
8BF8E1EE2E31AB8000DC30DB /* CAAUMIDIMap.cpp */,
8BF8E1EF2E31AB8000DC30DB /* CALogMacros.h */,
8BF8E1F02E31AB8000DC30DB /* CACFMessagePort.cpp */,
8BF8E1F12E31AB8000DC30DB /* CARingBuffer.h */,
8BF8E1F22E31AB8000DC30DB /* AUOutputBL.cpp */,
8BF8E1F32E31AB8000DC30DB /* CABufferList.h */,
8BF8E1F42E31AB8000DC30DB /* CASharedLibrary.h */,
8BF8E1F52E31AB8000DC30DB /* CACFData.h */,
8BF8E1F62E31AB8000DC30DB /* CAStreamRangedDescription.cpp */,
8BF8E1F72E31AB8000DC30DB /* CAPThread.cpp */,
8BF8E1F82E31AB8000DC30DB /* CAAutoDisposer.h */,
8BF8E1F92E31AB8000DC30DB /* CACFPreferences.h */,
8BF8E1FA2E31AB8000DC30DB /* CAVectorUnit.cpp */,
8BF8E1FB2E31AB8000DC30DB /* CAComponentDescription.h */,
8BF8E1FC2E31AB8000DC30DB /* CADebugMacros.h */,
8BF8E1FD2E31AB8000DC30DB /* AUOutputBL.h */,
8BF8E1FE2E31AB8000DC30DB /* CADebugPrintf.cpp */,
8BF8E1FF2E31AB8000DC30DB /* CARingBuffer.cpp */,
8BF8E2002E31AB8000DC30DB /* CACFPlugIn.h */,
8BF8E2012E31AB8000DC30DB /* CASettingsStorage.cpp */,
8BF8E2022E31AB8000DC30DB /* CAMixMap.h */,
8BF8E2032E31AB8000DC30DB /* CACFDistributedNotification.h */,
8BF8E2042E31AB8000DC30DB /* CAFilePathUtils.h */,
8BF8E2052E31AB8000DC30DB /* CATink.h */,
8BF8E2062E31AB8000DC30DB /* CAStreamBasicDescription.cpp */,
8BF8E2072E31AB8000DC30DB /* CAAudioChannelLayout.h */,
8BF8E2082E31AB8000DC30DB /* CAProcess.cpp */,
8BF8E2092E31AB8000DC30DB /* CAHostTimeBase.cpp */,
8BF8E20A2E31AB8000DC30DB /* CAPersistence.cpp */,
8BF8E20B2E31AB8000DC30DB /* CAAudioBufferList.cpp */,
8BF8E20C2E31AB8000DC30DB /* CAAudioTimeStamp.cpp */,
8BF8E20D2E31AB8000DC30DB /* CAVectorUnit.h */,
8BF8E20E2E31AB8000DC30DB /* CAByteOrder.h */,
8BF8E20F2E31AB8000DC30DB /* CACFArray.h */,
8BF8E2102E31AB8000DC30DB /* CAAtomicStack.h */,
8BF8E2112E31AB8000DC30DB /* CAReferenceCounted.h */,
8BF8E2122E31AB8000DC30DB /* CACFMachPort.cpp */,
8BF8E2132E31AB8000DC30DB /* CABufferList.cpp */,
8BF8E2142E31AB8000DC30DB /* CAMutex.cpp */,
8BF8E2152E31AB8000DC30DB /* CADebugger.cpp */,
8BF8E2162E31AB8000DC30DB /* CABundleLocker.cpp */,
8BF8E2172E31AB8000DC30DB /* CAAudioFileFormats.cpp */,
8BF8E2182E31AB8000DC30DB /* CAMath.h */,
8BF8E2192E31AB8000DC30DB /* CACFArray.cpp */,
8BF8E21A2E31AB8000DC30DB /* CACFMessagePort.h */,
8BF8E21B2E31AB8000DC30DB /* CAAudioValueRange.cpp */,
8BF8E21C2E31AB8000DC30DB /* CAAudioUnit.cpp */,
);
path = PublicUtility;
sourceTree = "<group>";
};
8BF8E21D2E31AB8000DC30DB /* AudioUnits */ = {
isa = PBXGroup;
children = (
8BF8E21E2E31AB8000DC30DB /* AUPublic */,
);
path = AudioUnits;
sourceTree = "<group>";
};
8BF8E21E2E31AB8000DC30DB /* AUPublic */ = {
isa = PBXGroup;
children = (
8BF8E21F2E31AB8000DC30DB /* AUViewBase */,
8BF8E2212E31AB8000DC30DB /* AUBase */,
8BF8E2312E31AB8000DC30DB /* OtherBases */,
8BF8E2342E31AB8000DC30DB /* Utility */,
);
path = AUPublic;
sourceTree = "<group>";
};
8BF8E21F2E31AB8000DC30DB /* AUViewBase */ = {
isa = PBXGroup;
children = (
8BF8E2202E31AB8000DC30DB /* AUViewLocalizedStringKeys.h */,
);
path = AUViewBase;
sourceTree = "<group>";
};
8BF8E2212E31AB8000DC30DB /* AUBase */ = {
isa = PBXGroup;
children = (
8BF8E2222E31AB8000DC30DB /* ComponentBase.cpp */,
8BF8E2232E31AB8000DC30DB /* AUScopeElement.cpp */,
8BF8E2242E31AB8000DC30DB /* ComponentBase.h */,
8BF8E2252E31AB8000DC30DB /* AUBase.cpp */,
8BF8E2262E31AB8000DC30DB /* AUInputElement.h */,
8BF8E2272E31AB8000DC30DB /* AUBase.h */,
8BF8E2282E31AB8000DC30DB /* AUPlugInDispatch.h */,
8BF8E2292E31AB8000DC30DB /* AUDispatch.h */,
8BF8E22A2E31AB8000DC30DB /* AUOutputElement.cpp */,
8BF8E22B2E31AB8000DC30DB /* AUResources.r */,
8BF8E22C2E31AB8000DC30DB /* AUPlugInDispatch.cpp */,
8BF8E22D2E31AB8000DC30DB /* AUOutputElement.h */,
8BF8E22E2E31AB8000DC30DB /* AUDispatch.cpp */,
8BF8E22F2E31AB8000DC30DB /* AUScopeElement.h */,
8BF8E2302E31AB8000DC30DB /* AUInputElement.cpp */,
);
path = AUBase;
sourceTree = "<group>";
};
8BF8E2312E31AB8000DC30DB /* OtherBases */ = {
isa = PBXGroup;
children = (
8BF8E2322E31AB8000DC30DB /* AUEffectBase.cpp */,
8BF8E2332E31AB8000DC30DB /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BF8E2342E31AB8000DC30DB /* Utility */ = {
isa = PBXGroup;
children = (
8BF8E2352E31AB8000DC30DB /* AUTimestampGenerator.h */,
8BF8E2362E31AB8000DC30DB /* AUBaseHelper.cpp */,
8BF8E2372E31AB8000DC30DB /* AUSilentTimeout.h */,
8BF8E2382E31AB8000DC30DB /* AUInputFormatConverter.h */,
8BF8E2392E31AB8000DC30DB /* AUTimestampGenerator.cpp */,
8BF8E23A2E31AB8000DC30DB /* AUBuffer.cpp */,
8BF8E23B2E31AB8000DC30DB /* AUMIDIDefs.h */,
8BF8E23C2E31AB8000DC30DB /* AUBuffer.h */,
8BF8E23D2E31AB8000DC30DB /* AUBaseHelper.h */,
);
path = Utility;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BF8E26E2E31AB8100DC30DB /* CABundleLocker.h in Headers */,
8BF8E28F2E31AB8100DC30DB /* CAAudioChannelLayout.h in Headers */,
8BF8E2852E31AB8100DC30DB /* AUOutputBL.h in Headers */,
8BF8E2602E31AB8100DC30DB /* CAHostTimeBase.h in Headers */,
8BF8E2A82E31AB8100DC30DB /* ComponentBase.h in Headers */,
8BF8E2982E31AB8100DC30DB /* CAAtomicStack.h in Headers */,
8BF8E2552E31AB8100DC30DB /* CAAudioTimeStamp.h in Headers */,
8BF8E2722E31AB8100DC30DB /* CAThreadSafeList.h in Headers */,
8BF8E24D2E31AB8100DC30DB /* CAAUParameter.h in Headers */,
8BF8E2BF2E31AB8100DC30DB /* AUBaseHelper.h in Headers */,
8BF8E2B72E31AB8100DC30DB /* AUTimestampGenerator.h in Headers */,
8BF8E2682E31AB8100DC30DB /* CADebugPrintf.h in Headers */,
8BF8E2A22E31AB8100DC30DB /* CACFMessagePort.h in Headers */,
8BF8E2502E31AB8100DC30DB /* CAAUProcessor.h in Headers */,
8BF8E24C2E31AB8100DC30DB /* CAAudioUnit.h in Headers */,
8BF8E2A52E31AB8100DC30DB /* AUViewLocalizedStringKeys.h in Headers */,
8BF8E28B2E31AB8100DC30DB /* CACFDistributedNotification.h in Headers */,
8BF8E24A2E31AB8100DC30DB /* CAComponent.h in Headers */,
8BF8E2582E31AB8100DC30DB /* CAVectorUnitTypes.h in Headers */,
8BA05A6E0720730100365D66 /* ChimeyGuitar2Version.h in Headers */,
8BF8E28C2E31AB8100DC30DB /* CAFilePathUtils.h in Headers */,
8BF8E24E2E31AB8100DC30DB /* CAException.h in Headers */,
8BF8E2452E31AB8100DC30DB /* CAAtomic.h in Headers */,
8BF8E2442E31AB8100DC30DB /* CAGuard.h in Headers */,
8BF8E2AA2E31AB8100DC30DB /* AUInputElement.h in Headers */,
8BF8E2812E31AB8100DC30DB /* CACFPreferences.h in Headers */,
8BF8E2962E31AB8100DC30DB /* CAByteOrder.h in Headers */,
8BF8E2792E31AB8100DC30DB /* CARingBuffer.h in Headers */,
8BF8E2402E31AB8100DC30DB /* CABool.h in Headers */,
8BF8E2652E31AB8100DC30DB /* CAMutex.h in Headers */,
8BF8E2AB2E31AB8100DC30DB /* AUBase.h in Headers */,
8BC6025C073B072D006C4272 /* ChimeyGuitar2.h in Headers */,
8BF8E25D2E31AB8100DC30DB /* CACFString.h in Headers */,
8BF8E27C2E31AB8100DC30DB /* CASharedLibrary.h in Headers */,
8BF8E2492E31AB8100DC30DB /* CATokenMap.h in Headers */,
8BF8E23E2E31AB8100DC30DB /* CAExtAudioFile.h in Headers */,
8BF8E2532E31AB8100DC30DB /* CAPThread.h in Headers */,
8BF8E26F2E31AB8100DC30DB /* CAPropertyAddress.h in Headers */,
8BF8E2992E31AB8100DC30DB /* CAReferenceCounted.h in Headers */,
8BF8E2BE2E31AB8100DC30DB /* AUBuffer.h in Headers */,
8BF8E2A02E31AB8100DC30DB /* CAMath.h in Headers */,
8BF8E2802E31AB8100DC30DB /* CAAutoDisposer.h in Headers */,
8BF8E2472E31AB8100DC30DB /* CACFObject.h in Headers */,
8BF8E2672E31AB8100DC30DB /* CASettingsStorage.h in Headers */,
8BF8E2702E31AB8100DC30DB /* CAXException.h in Headers */,
8BF8E28D2E31AB8100DC30DB /* CATink.h in Headers */,
8BF8E2BA2E31AB8100DC30DB /* AUInputFormatConverter.h in Headers */,
8BF8E2952E31AB8100DC30DB /* CAVectorUnit.h in Headers */,
8BF8E2512E31AB8100DC30DB /* CAProcess.h in Headers */,
8BF8E2572E31AB8100DC30DB /* CAAudioValueRange.h in Headers */,
8BF8E26C2E31AB8100DC30DB /* CABitOperations.h in Headers */,
8BF8E2622E31AB8100DC30DB /* CAAudioFileFormats.h in Headers */,
8BF8E25B2E31AB8100DC30DB /* CACFNumber.h in Headers */,
8BF8E2732E31AB8100DC30DB /* CAAudioUnitOutputCapturer.h in Headers */,
8BF8E2842E31AB8100DC30DB /* CADebugMacros.h in Headers */,
8BF8E2BD2E31AB8100DC30DB /* AUMIDIDefs.h in Headers */,
8BF8E27D2E31AB8100DC30DB /* CACFData.h in Headers */,
8BF8E2462E31AB8100DC30DB /* CAStreamBasicDescription.h in Headers */,
8BF8E2AC2E31AB8100DC30DB /* AUPlugInDispatch.h in Headers */,
8BF8E2482E31AB8100DC30DB /* CAStreamRangedDescription.h in Headers */,
8BF8E2882E31AB8100DC30DB /* CACFPlugIn.h in Headers */,
8BF8E24B2E31AB8100DC30DB /* CAAudioBufferList.h in Headers */,
8BF8E2632E31AB8100DC30DB /* CAAUMIDIMapManager.h in Headers */,
8BF8E2B62E31AB8100DC30DB /* AUEffectBase.h in Headers */,
8BF8E2522E31AB8100DC30DB /* CACFDictionary.h in Headers */,
8BF8E2B32E31AB8100DC30DB /* AUScopeElement.h in Headers */,
8BF8E2832E31AB8100DC30DB /* CAComponentDescription.h in Headers */,
8BF8E2B92E31AB8100DC30DB /* AUSilentTimeout.h in Headers */,
8BF8E27B2E31AB8100DC30DB /* CABufferList.h in Headers */,
8BF8E2AD2E31AB8100DC30DB /* AUDispatch.h in Headers */,
8BF8E2B12E31AB8100DC30DB /* AUOutputElement.h in Headers */,
8BF8E2772E31AB8100DC30DB /* CALogMacros.h in Headers */,
8BF8E26B2E31AB8100DC30DB /* AUParamInfo.h in Headers */,
8BF8E28A2E31AB8100DC30DB /* CAMixMap.h in Headers */,
8BF8E2972E31AB8100DC30DB /* CACFArray.h in Headers */,
8BF8E23F2E31AB8100DC30DB /* CACFMachPort.h in Headers */,
8BF8E26A2E31AB8100DC30DB /* CAAUMIDIMap.h in Headers */,
8BF8E2422E31AB8100DC30DB /* CADebugger.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ChimeyGuitar2" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ChimeyGuitar2;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ChimeyGuitar2;
productReference = 8D01CCD20486CAD60068D4B7 /* ChimeyGuitar2.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 "ChimeyGuitar2" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
Base,
ja,
en,
fr,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* ChimeyGuitar2 */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ChimeyGuitar2 */,
);
};
/* 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 = (
8BF8E27A2E31AB8100DC30DB /* AUOutputBL.cpp in Sources */,
8BF8E29F2E31AB8100DC30DB /* CAAudioFileFormats.cpp in Sources */,
8BF8E2912E31AB8100DC30DB /* CAHostTimeBase.cpp in Sources */,
8BF8E2692E31AB8100DC30DB /* CAXException.cpp in Sources */,
8BF8E2932E31AB8100DC30DB /* CAAudioBufferList.cpp in Sources */,
8BF8E2562E31AB8100DC30DB /* CAFilePathUtils.cpp in Sources */,
8BF8E2542E31AB8100DC30DB /* CAAUParameter.cpp in Sources */,
8BF8E2762E31AB8100DC30DB /* CAAUMIDIMap.cpp in Sources */,
8BF8E2A32E31AB8100DC30DB /* CAAudioValueRange.cpp in Sources */,
8BF8E2B22E31AB8100DC30DB /* AUDispatch.cpp in Sources */,
8BF8E26D2E31AB8100DC30DB /* CACFPreferences.cpp in Sources */,
8BF8E2B02E31AB8100DC30DB /* AUPlugInDispatch.cpp in Sources */,
8BF8E24F2E31AB8100DC30DB /* CAAUProcessor.cpp in Sources */,
8BF8E2642E31AB8100DC30DB /* CACFDictionary.cpp in Sources */,
8BF8E2B82E31AB8100DC30DB /* AUBaseHelper.cpp in Sources */,
8BF8E29D2E31AB8100DC30DB /* CADebugger.cpp in Sources */,
8BF8E2712E31AB8100DC30DB /* CAAudioChannelLayout.cpp in Sources */,
8BF8E2742E31AB8100DC30DB /* AUParamInfo.cpp in Sources */,
8BF8E2922E31AB8100DC30DB /* CAPersistence.cpp in Sources */,
8BF8E2862E31AB8100DC30DB /* CADebugPrintf.cpp in Sources */,
8BF8E2BB2E31AB8100DC30DB /* AUTimestampGenerator.cpp in Sources */,
8BF8E28E2E31AB8100DC30DB /* CAStreamBasicDescription.cpp in Sources */,
8BF8E25E2E31AB8100DC30DB /* CAAUMIDIMapManager.cpp in Sources */,
8BF8E2892E31AB8100DC30DB /* CASettingsStorage.cpp in Sources */,
8BF8E2AE2E31AB8100DC30DB /* AUOutputElement.cpp in Sources */,
8BF8E25A2E31AB8100DC30DB /* CAGuard.cpp in Sources */,
8BA05A6B0720730100365D66 /* ChimeyGuitar2.cpp in Sources */,
8BF8E29C2E31AB8100DC30DB /* CAMutex.cpp in Sources */,
8BF8E2B52E31AB8100DC30DB /* AUEffectBase.cpp in Sources */,
8BF8E29A2E31AB8100DC30DB /* CACFMachPort.cpp in Sources */,
8BF8E2A92E31AB8100DC30DB /* AUBase.cpp in Sources */,
8BF8E2752E31AB8100DC30DB /* CASharedLibrary.cpp in Sources */,
8BF8E25C2E31AB8100DC30DB /* CACFDistributedNotification.cpp in Sources */,
8BF8E25F2E31AB8100DC30DB /* CAComponentDescription.cpp in Sources */,
8BF8E2662E31AB8100DC30DB /* CACFString.cpp in Sources */,
8BF8E2A62E31AB8100DC30DB /* ComponentBase.cpp in Sources */,
8BF8E2872E31AB8100DC30DB /* CARingBuffer.cpp in Sources */,
8BF8E2A72E31AB8100DC30DB /* AUScopeElement.cpp in Sources */,
8BF8E2A42E31AB8100DC30DB /* CAAudioUnit.cpp in Sources */,
8BF8E2A12E31AB8100DC30DB /* CACFArray.cpp in Sources */,
8BF8E29E2E31AB8100DC30DB /* CABundleLocker.cpp in Sources */,
8BF8E2902E31AB8100DC30DB /* CAProcess.cpp in Sources */,
8BF8E27E2E31AB8100DC30DB /* CAStreamRangedDescription.cpp in Sources */,
8BF8E27F2E31AB8100DC30DB /* CAPThread.cpp in Sources */,
8BF8E2412E31AB8100DC30DB /* CAComponent.cpp in Sources */,
8BF8E2592E31AB8100DC30DB /* CAAudioChannelLayoutObject.cpp in Sources */,
8BF8E2942E31AB8100DC30DB /* CAAudioTimeStamp.cpp in Sources */,
8BF8E29B2E31AB8100DC30DB /* CABufferList.cpp in Sources */,
8BF8E2782E31AB8100DC30DB /* CACFMessagePort.cpp in Sources */,
8BF8E2822E31AB8100DC30DB /* CAVectorUnit.cpp in Sources */,
8BF8E2B42E31AB8100DC30DB /* AUInputElement.cpp in Sources */,
8BF8E2BC2E31AB8100DC30DB /* AUBuffer.cpp in Sources */,
8BF8E2612E31AB8100DC30DB /* CADebugMacros.cpp in Sources */,
8BF8E2432E31AB8100DC30DB /* CACFNumber.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
8BF8E2C02E31ABF900DC30DB /* 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 = ChimeyGuitar2.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 = ChimeyGuitar2;
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 = ChimeyGuitar2.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 = ChimeyGuitar2;
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 "ChimeyGuitar2" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ChimeyGuitar2" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA248089833B7007656EC /* Debug */,
3E4BA249089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View file

@ -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>

View file

@ -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 = "ChimeyGuitar2.component"
BlueprintName = "ChimeyGuitar2"
ReferencedContainer = "container:ChimeyGuitar2.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 = "ChimeyGuitar2.component"
BlueprintName = "ChimeyGuitar2"
ReferencedContainer = "container:ChimeyGuitar2.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View file

@ -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>ChimeyGuitar2.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>

View file

@ -0,0 +1,58 @@
/*
* File: ChimeyGuitar2Version.h
*
* Version: 1.0
*
* Created: 6/20/25
*
* Copyright: Copyright © 2025 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 __ChimeyGuitar2Version_h__
#define __ChimeyGuitar2Version_h__
#ifdef DEBUG
#define kChimeyGuitar2Version 0xFFFFFFFF
#else
#define kChimeyGuitar2Version 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ChimeyGuitar2_COMP_MANF 'Dthr'
#define ChimeyGuitar2_COMP_SUBTYPE 'cgts'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#endif

View 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>cgts</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>

Binary file not shown.

View 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>

View file

@ -273,9 +273,6 @@ ComponentResult kAlienSpaceship::Reset(AudioUnitScope inScope, AudioUnitElement
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) {
bez[x] = 0.0;
bezF[x] = 0.0;
@ -314,7 +311,16 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
double derezFreq = pow(GetParameter( kParam_C ),3.0)+0.01;
if (derezFreq > 1.0) derezFreq = 1.0;
double earlyLoudness = GetParameter( kParam_D );
int adjPredelay = predelay*GetParameter( kParam_E )*derez;
int start = (int)(GetParameter( kParam_E ) * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = GetParameter( kParam_F );
while (nSampleFrames-- > 0) {
@ -331,15 +337,7 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -351,19 +349,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -372,19 +370,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -393,19 +391,19 @@ OSStatus kAlienSpaceship::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -65,7 +65,7 @@ static CFStringRef kParameterAName = CFSTR("Regen");
static CFStringRef kParameterBName = CFSTR("Derez");
static CFStringRef kParameterCName = CFSTR("Filter");
static CFStringRef kParameterDName = CFSTR("EarlyRf");
static CFStringRef kParameterEName = CFSTR("Predlay");
static CFStringRef kParameterEName = CFSTR("Positin");
static CFStringRef kParameterFName = CFSTR("Dry/Wet");
enum {
@ -79,8 +79,6 @@ enum {
kNumberOfParameters=6
};
const int predelay = 15000;
const int d3A = 2639; const int d3B = 4367; const int d3C = 4370;
const int d3D = 2549; const int d3E = 2706; const int d3F = 3376;
const int d3G = 2029; const int d3H = 2261; const int d3I = 2712;
@ -88,6 +86,8 @@ const int d3G = 2029; const int d3H = 2261; const int d3I = 2712;
const int d6A = 1498; const int d6B = 82; const int d6C = 631; const int d6D = 762; const int d6E = 1241; const int d6F = 79; const int d6G = 821; const int d6H = 1315; const int d6I = 2261; const int d6J = 2029; const int d6K = 108; const int d6L = 2712; const int d6M = 305; const int d6N = 671; const int d6O = 13; const int d6P = 913; const int d6Q = 1999; const int d6R = 600; const int d6S = 826; const int d6T = 3376; const int d6U = 969; const int d6V = 2639; const int d6W = 915; const int d6X = 1173; const int d6Y = 1345; const int d6ZA = 4370; const int d6ZB = 4367; const int d6ZC = 2549; const int d6ZD = 227; const int d6ZE = 696; const int d6ZF = 1332; const int d6ZG = 1503; const int d6ZH = 627; const int d6ZI = 322; const int d6ZJ = 451; const int d6ZK = 2706; //18 to 377 ms, 4660 seat arena
#define SIXBYSIX true //4660-GEBBDI-HHDXFK6 kAlienSpaceship
const int early[] = {13, 79, 82, 108, 227, 305, 322, 451, 600, 627, 631, 671, 696, 762, 821, 826, 913, 915, 969, 1173, 1241, 1315, 1332, 1345, 1498, 1503, 1999, 2029, 2261, 2549, 2639, 2706, 2712, 3376, 4367, 4370};
#pragma mark ____kAlienSpaceship
class kAlienSpaceship : public AUEffectBase
{
@ -236,11 +236,7 @@ private:
double f6AL,f6BL,f6CL,f6DL,f6EL,f6FL;
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -272,10 +272,7 @@ ComponentResult kGuitarHall2::Reset(AudioUnitScope inScope, AudioUnitElement in
f6AL = f6BL = f6CL = f6DL = f6EL = f6FL = 0.0;
f6FR = f6LR = f6RR = f6XR = f6ZER = f6ZKR = 0.0;
avg6L = avg6R = 0.0;
for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;}
countZ = 1;
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
bez[bez_cycle] = 1.0;
@ -310,7 +307,16 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
if (derez < 0.0005) derez = 0.0005; if (derez > 1.0) derez = 1.0;
double freq = GetParameter( kParam_C )+0.02;
double earlyLoudness = GetParameter( kParam_D );
int adjPredelay = predelay*GetParameter( kParam_E )*derez;
int start = (int)(GetParameter( kParam_E ) * 27.0);
int ld3G = early[start];
int ld3H = early[start+1];
int ld3D = early[start+2];
int ld3A = early[start+3];
int ld3E = early[start+4];
int ld3I = early[start+5];
int ld3F = early[start+6];
int ld3B = early[start+7];
int ld3C = early[start+8];
double wet = GetParameter( kParam_F );
while (nSampleFrames-- > 0) {
@ -327,15 +333,7 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
bez[bez_cycle] = 0.0;
//predelay
aZL[countZ] = bez[bez_SampL];
aZR[countZ] = bez[bez_SampR];
countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0;
bez[bez_SampL] = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
bez[bez_SampR] = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)];
//end predelay
inputSampleL = bez[bez_SampL];
inputSampleR = bez[bez_SampR];
@ -347,19 +345,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3FR[c3FR] = inputSampleR;// + (f3FR * reg3n);
a3IR[c3IR] = inputSampleR;// + (f3IR * reg3n);
c3AL++; if (c3AL < 0 || c3AL > d3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > d3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > d3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > d3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > d3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > d3I) c3IR = 0;
c3AL++; if (c3AL < 0 || c3AL > ld3A) c3AL = 0;
c3BL++; if (c3BL < 0 || c3BL > ld3B) c3BL = 0;
c3CL++; if (c3CL < 0 || c3CL > ld3C) c3CL = 0;
c3CR++; if (c3CR < 0 || c3CR > ld3C) c3CR = 0;
c3FR++; if (c3FR < 0 || c3FR > ld3F) c3FR = 0;
c3IR++; if (c3IR < 0 || c3IR > ld3I) c3IR = 0;
double o3AL = a3AL[c3AL-((c3AL > d3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > d3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > d3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > d3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > d3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > d3I)?c3IR+1:0)];
double o3AL = a3AL[c3AL-((c3AL > ld3A)?c3AL+1:0)];
double o3BL = a3BL[c3BL-((c3BL > ld3B)?c3BL+1:0)];
double o3CL = a3CL[c3CL-((c3CL > ld3C)?c3CL+1:0)];
double o3CR = a3CR[c3CR-((c3CR > ld3C)?c3CR+1:0)];
double o3FR = a3FR[c3FR-((c3FR > ld3F)?c3FR+1:0)];
double o3IR = a3IR[c3IR-((c3IR > ld3I)?c3IR+1:0)];
a3DL[c3DL] = (((o3BL + o3CL) * -2.0) + o3AL);
a3EL[c3EL] = (((o3AL + o3CL) * -2.0) + o3BL);
@ -368,19 +366,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3ER[c3ER] = (((o3CR + o3IR) * -2.0) + o3FR);
a3HR[c3HR] = (((o3CR + o3FR) * -2.0) + o3IR);
c3DL++; if (c3DL < 0 || c3DL > d3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > d3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > d3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > d3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > d3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > d3H) c3HR = 0;
c3DL++; if (c3DL < 0 || c3DL > ld3D) c3DL = 0;
c3EL++; if (c3EL < 0 || c3EL > ld3E) c3EL = 0;
c3FL++; if (c3FL < 0 || c3FL > ld3F) c3FL = 0;
c3BR++; if (c3BR < 0 || c3BR > ld3B) c3BR = 0;
c3ER++; if (c3ER < 0 || c3ER > ld3E) c3ER = 0;
c3HR++; if (c3HR < 0 || c3HR > ld3H) c3HR = 0;
double o3DL = a3DL[c3DL-((c3DL > d3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > d3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > d3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > d3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > d3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > d3H)?c3HR+1:0)];
double o3DL = a3DL[c3DL-((c3DL > ld3D)?c3DL+1:0)];
double o3EL = a3EL[c3EL-((c3EL > ld3E)?c3EL+1:0)];
double o3FL = a3FL[c3FL-((c3FL > ld3F)?c3FL+1:0)];
double o3BR = a3BR[c3BR-((c3BR > ld3B)?c3BR+1:0)];
double o3ER = a3ER[c3ER-((c3ER > ld3E)?c3ER+1:0)];
double o3HR = a3HR[c3HR-((c3HR > ld3H)?c3HR+1:0)];
a3GL[c3GL] = (((o3EL + o3FL) * -2.0) + o3DL);
a3HL[c3HL] = (((o3DL + o3FL) * -2.0) + o3EL);
@ -389,19 +387,19 @@ OSStatus kGuitarHall2::ProcessBufferLists(AudioUnitRenderActionFlags & ioAction
a3DR[c3DR] = (((o3BR + o3HR) * -2.0) + o3ER);
a3GR[c3GR] = (((o3BR + o3ER) * -2.0) + o3HR);
c3GL++; if (c3GL < 0 || c3GL > d3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > d3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > d3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > d3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > d3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > d3G) c3GR = 0;
c3GL++; if (c3GL < 0 || c3GL > ld3G) c3GL = 0;
c3HL++; if (c3HL < 0 || c3HL > ld3H) c3HL = 0;
c3IL++; if (c3IL < 0 || c3IL > ld3I) c3IL = 0;
c3AR++; if (c3AR < 0 || c3AR > ld3A) c3AR = 0;
c3DR++; if (c3DR < 0 || c3DR > ld3D) c3DR = 0;
c3GR++; if (c3GR < 0 || c3GR > ld3G) c3GR = 0;
double o3GL = a3GL[c3GL-((c3GL > d3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > d3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > d3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > d3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > d3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > d3G)?c3GR+1:0)];
double o3GL = a3GL[c3GL-((c3GL > ld3G)?c3GL+1:0)];
double o3HL = a3HL[c3HL-((c3HL > ld3H)?c3HL+1:0)];
double o3IL = a3IL[c3IL-((c3IL > ld3I)?c3IL+1:0)];
double o3AR = a3AR[c3AR-((c3AR > ld3A)?c3AR+1:0)];
double o3DR = a3DR[c3DR-((c3DR > ld3D)?c3DR+1:0)];
double o3GR = a3GR[c3GR-((c3GR > ld3G)?c3GR+1:0)];
double inputSampleL = (o3GL + o3HL + o3IL)*0.03125;
double inputSampleR = (o3AR + o3DR + o3GR)*0.03125;

View file

@ -65,7 +65,7 @@ static CFStringRef kParameterAName = CFSTR("Regen");
static CFStringRef kParameterBName = CFSTR("Derez");
static CFStringRef kParameterCName = CFSTR("Filter");
static CFStringRef kParameterDName = CFSTR("EarlyRf");
static CFStringRef kParameterEName = CFSTR("Predlay");
static CFStringRef kParameterEName = CFSTR("Positin");
static CFStringRef kParameterFName = CFSTR("Dry/Wet");
enum {
@ -79,8 +79,6 @@ enum {
kNumberOfParameters=6
};
const int predelay = 15000;
const int d3A = 1015; const int d3B = 1288; const int d3C = 1396;
const int d3D = 784; const int d3E = 1188; const int d3F = 1258;
const int d3G = 575; const int d3H = 771; const int d3I = 1257;
@ -88,6 +86,8 @@ const int d3G = 575; const int d3H = 771; const int d3I = 1257;
const int d6A = 121; const int d6B = 1396; const int d6C = 784; const int d6D = 184; const int d6E = 132; const int d6F = 434; const int d6G = 91; const int d6H = 144; const int d6I = 155; const int d6J = 771; const int d6K = 122; const int d6L = 1288; const int d6M = 191; const int d6N = 224; const int d6O = 108; const int d6P = 35; const int d6Q = 1257; const int d6R = 575; const int d6S = 504; const int d6T = 264; const int d6U = 198; const int d6V = 14; const int d6W = 246; const int d6X = 81; const int d6Y = 17; const int d6ZA = 71; const int d6ZB = 1015; const int d6ZC = 1258; const int d6ZD = 24; const int d6ZE = 7; const int d6ZF = 255; const int d6ZG = 72; const int d6ZH = 68; const int d6ZI = 117; const int d6ZJ = 1188; const int d6ZK = 339; //6 to 156 ms, 784 seat theater
#define SIXBYSIX true //784-EFCCFE-JLBY6 kGuitarHall2
const int early[] = {7, 14, 17, 24, 35, 68, 71, 72, 81, 91, 108, 117, 121, 122, 132, 144, 155, 184, 191, 198, 224, 246, 255, 264, 339, 434, 504, 575, 771, 784, 1015, 1188, 1257, 1258, 1288, 1396};
#pragma mark ____kGuitarHall2
class kGuitarHall2 : public AUEffectBase
{
@ -236,11 +236,7 @@ public:
double f6AL,f6BL,f6CL,f6DL,f6EL,f6FL;
double f6FR,f6LR,f6RR,f6XR,f6ZER,f6ZKR;
double avg6L,avg6R;
double aZL[predelay+5];
double aZR[predelay+5];
int countZ;
enum {
bez_AL,
bez_AR,

View file

@ -0,0 +1,126 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */;
codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
364,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
324,
60,
20,
48,
43,
43,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXTargetDataSource_PrimaryAttribute,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 774984499;
PBXWorkspaceStateSaveDate = 774984499;
};
perUserProjectItems = {
8B42CBE32E315A3E001C0B57 /* PBXBookmark */ = 8B42CBE32E315A3E001C0B57 /* PBXBookmark */;
8B42CBE42E315A3E001C0B57 /* PBXTextBookmark */ = 8B42CBE42E315A3E001C0B57 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
};
};
2407DEB6089929BA00EB68BF /* ChimeyDeluxe.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {966, 3906}}";
sepNavSelRange = "{518, 0}";
sepNavVisRange = "{239, 866}";
sepNavWindowFrame = "{{670, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* ChimeyDeluxe.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {561, 1998}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 221}";
sepNavWindowFrame = "{{545, 47}, {895, 831}}";
};
};
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
sepNavSelRange = "{10616, 0}";
sepNavVisRange = "{9653, 2414}";
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
};
};
24D8286F09A914000093AEF8 /* ChimeyDeluxeProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {930, 5580}}";
sepNavSelRange = "{9113, 0}";
sepNavVisRange = "{6205, 1462}";
sepNavWindowFrame = "{{225, 47}, {895, 831}}";
};
};
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8B42CBE32E315A3E001C0B57 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 245463B80991757100464AD3 /* ChimeyDeluxe.h */;
};
8B42CBE42E315A3E001C0B57 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* ChimeyDeluxe.h */;
name = "ChimeyDeluxe.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 221;
vrLoc = 0;
};
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,462 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
2407DEB9089929BA00EB68BF /* ChimeyDeluxe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* ChimeyDeluxe.cpp */; };
245463B90991757100464AD3 /* ChimeyDeluxe.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* ChimeyDeluxe.h */; };
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
24D8287009A914000093AEF8 /* ChimeyDeluxeProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ChimeyDeluxeProc.cpp */; };
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
8BF8E2D32E31AC3A00DC30DB /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2C72E31AC3A00DC30DB /* vstfxstore.h */; };
8BF8E2D42E31AC3A00DC30DB /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2C82E31AC3A00DC30DB /* aeffect.h */; };
8BF8E2D52E31AC3A00DC30DB /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2C92E31AC3A00DC30DB /* aeffectx.h */; };
8BF8E2D62E31AC3A00DC30DB /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2CD2E31AC3A00DC30DB /* audioeffectx.h */; };
8BF8E2D72E31AC3A00DC30DB /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2CE2E31AC3A00DC30DB /* audioeffect.cpp */; };
8BF8E2D82E31AC3A00DC30DB /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2CF2E31AC3A00DC30DB /* audioeffectx.cpp */; };
8BF8E2D92E31AC3A00DC30DB /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2D02E31AC3A00DC30DB /* aeffeditor.h */; };
8BF8E2DA2E31AC3A00DC30DB /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF8E2D12E31AC3A00DC30DB /* vstplugmain.cpp */; };
8BF8E2DB2E31AC3A00DC30DB /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF8E2D22E31AC3A00DC30DB /* audioeffect.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2407DE920899296600EB68BF /* ChimeyDeluxe.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChimeyDeluxe.vst; sourceTree = BUILT_PRODUCTS_DIR; };
2407DEB6089929BA00EB68BF /* ChimeyDeluxe.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ChimeyDeluxe.cpp; path = source/ChimeyDeluxe.cpp; sourceTree = "<group>"; };
245463B80991757100464AD3 /* ChimeyDeluxe.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ChimeyDeluxe.h; path = source/ChimeyDeluxe.h; sourceTree = "<group>"; };
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
24D8286F09A914000093AEF8 /* ChimeyDeluxeProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChimeyDeluxeProc.cpp; path = source/ChimeyDeluxeProc.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; };
8BF8E2C72E31AC3A00DC30DB /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8BF8E2C82E31AC3A00DC30DB /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8BF8E2C92E31AC3A00DC30DB /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8BF8E2CD2E31AC3A00DC30DB /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8BF8E2CE2E31AC3A00DC30DB /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8BF8E2CF2E31AC3A00DC30DB /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8BF8E2D02E31AC3A00DC30DB /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8BF8E2D12E31AC3A00DC30DB /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8BF8E2D22E31AC3A00DC30DB /* 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 = (
8BF8E2C42E31AC3A00DC30DB /* vstsdk2.4 */,
2407DEB6089929BA00EB68BF /* ChimeyDeluxe.cpp */,
24D8286F09A914000093AEF8 /* ChimeyDeluxeProc.cpp */,
245463B80991757100464AD3 /* ChimeyDeluxe.h */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
2407DE920899296600EB68BF /* ChimeyDeluxe.vst */,
);
name = Products;
sourceTree = "<group>";
};
8BF8E2C42E31AC3A00DC30DB /* vstsdk2.4 */ = {
isa = PBXGroup;
children = (
8BF8E2C52E31AC3A00DC30DB /* pluginterfaces */,
8BF8E2CA2E31AC3A00DC30DB /* public.sdk */,
);
name = vstsdk2.4;
path = ../../../../vstsdk2.4;
sourceTree = "<group>";
};
8BF8E2C52E31AC3A00DC30DB /* pluginterfaces */ = {
isa = PBXGroup;
children = (
8BF8E2C62E31AC3A00DC30DB /* vst2.x */,
);
path = pluginterfaces;
sourceTree = "<group>";
};
8BF8E2C62E31AC3A00DC30DB /* vst2.x */ = {
isa = PBXGroup;
children = (
8BF8E2C72E31AC3A00DC30DB /* vstfxstore.h */,
8BF8E2C82E31AC3A00DC30DB /* aeffect.h */,
8BF8E2C92E31AC3A00DC30DB /* aeffectx.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
8BF8E2CA2E31AC3A00DC30DB /* public.sdk */ = {
isa = PBXGroup;
children = (
8BF8E2CB2E31AC3A00DC30DB /* source */,
);
path = public.sdk;
sourceTree = "<group>";
};
8BF8E2CB2E31AC3A00DC30DB /* source */ = {
isa = PBXGroup;
children = (
8BF8E2CC2E31AC3A00DC30DB /* vst2.x */,
);
path = source;
sourceTree = "<group>";
};
8BF8E2CC2E31AC3A00DC30DB /* vst2.x */ = {
isa = PBXGroup;
children = (
8BF8E2CD2E31AC3A00DC30DB /* audioeffectx.h */,
8BF8E2CE2E31AC3A00DC30DB /* audioeffect.cpp */,
8BF8E2CF2E31AC3A00DC30DB /* audioeffectx.cpp */,
8BF8E2D02E31AC3A00DC30DB /* aeffeditor.h */,
8BF8E2D12E31AC3A00DC30DB /* vstplugmain.cpp */,
8BF8E2D22E31AC3A00DC30DB /* audioeffect.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BF8E2D92E31AC3A00DC30DB /* aeffeditor.h in Headers */,
245463B90991757100464AD3 /* ChimeyDeluxe.h in Headers */,
8BF8E2DB2E31AC3A00DC30DB /* audioeffect.h in Headers */,
8BF8E2D42E31AC3A00DC30DB /* aeffect.h in Headers */,
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
8BF8E2D62E31AC3A00DC30DB /* audioeffectx.h in Headers */,
8BF8E2D32E31AC3A00DC30DB /* vstfxstore.h in Headers */,
8BF8E2D52E31AC3A00DC30DB /* aeffectx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */ = {
isa = PBXNativeTarget;
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ChimeyDeluxe" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
);
buildRules = (
);
dependencies = (
);
name = ChimeyDeluxe;
productInstallPath = "$(HOME)/Library/Bundles";
productName = "FM-Chopper";
productReference = 2407DE920899296600EB68BF /* ChimeyDeluxe.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 "ChimeyDeluxe" */;
compatibilityVersion = "Xcode 2.4";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
Base,
fr,
en,
ja,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ChimeyDeluxe */,
);
};
/* 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 = (
8BF8E2D82E31AC3A00DC30DB /* audioeffectx.cpp in Sources */,
2407DEB9089929BA00EB68BF /* ChimeyDeluxe.cpp in Sources */,
8BF8E2D72E31AC3A00DC30DB /* audioeffect.cpp in Sources */,
8BF8E2DA2E31AC3A00DC30DB /* vstplugmain.cpp in Sources */,
24D8287009A914000093AEF8 /* ChimeyDeluxeProc.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.ChimeyDeluxe;
PRODUCT_NAME = ChimeyDeluxe;
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.ChimeyDeluxe;
PRODUCT_NAME = ChimeyDeluxe;
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 "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BEAAEE08919AE700E695F9 /* Debug */,
24BEAAEF08919AE700E695F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ChimeyDeluxe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BEAAF208919AE700E695F9 /* Debug */,
24BEAAF308919AE700E695F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Sample.xcodeproj">
</FileRef>
</Workspace>

View file

@ -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>

File diff suppressed because it is too large Load diff

View 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 = "";
};
}

View file

@ -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 = "ChimeyDeluxe"
ReferencedContainer = "container:ChimeyDeluxe.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 = "ChimeyDeluxe"
ReferencedContainer = "container:ChimeyDeluxe.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View file

@ -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>ChimeyDeluxe.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>

View file

@ -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>

View file

@ -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 = "&#171;PROJECTNAME&#187;.vst"
BlueprintName = "&#171;PROJECTNAME&#187;"
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>

View 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>ChimeyDeluxe</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>

Some files were not shown because too many files have changed in this diff Show more