ConsoleMC Initial

This commit is contained in:
Christopher Johnson 2023-10-15 15:00:00 -04:00
parent a6e10e7fd9
commit c6a220ed39
165 changed files with 44054 additions and 1 deletions

View file

@ -15,7 +15,7 @@ Bass: OrbitKick, Hermepass, BassKit, DubCenter, DubSub, Floor, Infrasonic, Fatho
Biquads: BiquadPlus, Biquad, BiquadDouble, BiquadOneHalf, BiquadTriple, Biquad2
Brightness: PlatinumSlew, DeBess, GoldenSlew, SlewSonic, Acceleration2, DeEss, Smooth, EverySlew, Slew3, Slew2, Slew, Air2, Air, PurestAir, Acceleration, DeHiss, Hypersonic, HypersonX, Ultrasonic, UltrasonicLite, UltrasonicMed, UltrasonX
Brightness: PlatinumSlew, DeBess, GoldenSlew, Sinew, SlewSonic, Acceleration2, DeEss, Smooth, EverySlew, Slew3, Slew2, Slew, Air2, Air, PurestAir, Acceleration, DeHiss, Hypersonic, HypersonX, Ultrasonic, UltrasonicLite, UltrasonicMed, UltrasonX
Clipping: ClipOnly2, ClipSoftly, OneCornerClip, ADClip7, AQuickVoiceClip, ClipOnly
@ -3380,6 +3380,18 @@ But in sticking out, the subliminals it will generate are VERY different from wh
But isnt it fun sometimes to not care about that and just try out something wild to see what it does? Silhouette finds its use in that space. I hope you like it.
############ Sinew combines sines and slew clipping for a tape bias effect!
Looks like I'm working on three major fronts at the moment, and here's a key advance on at least one of them :)
Sinew is the answer to the question, 'what if slew clipping, but it was more restrictive the closer you got to what would be regular clipping?'
I realize the answer is typically going to be 'slew what now?' but Airwindows fans are long aware of the strange pleasures of slew clipping. What you don't know is, the real answer to that question is 'then you get something that acts like analog tape's inability to capture super loud high frequencies'… but without the actual tape saturation!
This might have all kinds of uses: I know it's going to find its way into a ToTape update. For now, you can have the raw version, the one where (like other Slew-oriented plugins) you can set it to extreme values and screw up the sound in interesting ways. Sinew might be just the thing for making heavy guitars louder, or adding guts to drums, but you can try it on whatever you like.
It'll hang on to brightness for quite a long time, until suddenly it's really stepping on the sound. What's happening there is, you can't hear it doing more subtle work, so you only hear it when it's turned up too far. Listen to the character of things and you might hear it kicking in without apparently cutting back brightness at all! This is the farthest thing from a simple filter. Good luck experimenting with Sinew!
############ SingleEndedTriode is unusual analog modeling effects.
Everybody knows that analog modeling means distortion. (well… noise and distortion. And EQ, and overprocessing… but mostly distortion.)

View file

@ -95,6 +95,8 @@ add_airwindows_plugin(Console8LiteChannel)
add_airwindows_plugin(Console8SubHype)
add_airwindows_plugin(Console8SubIn)
add_airwindows_plugin(Console8SubOut)
add_airwindows_plugin(ConsoleMCBuss)
add_airwindows_plugin(ConsoleMCChannel)
add_airwindows_plugin(Creature)
add_airwindows_plugin(CrickBass)
add_airwindows_plugin(CrunchyGrooveWear)

View file

@ -0,0 +1,121 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#include "ConsoleMCBuss.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ConsoleMCBuss(audioMaster);}
ConsoleMCBuss::ConsoleMCBuss(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 1.0;
for (int x = 0; x < gslew_total; x++) gslew[x] = 0.0;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
_canDo.insert("x2in2out");
setNumInputs(kNumInputs);
setNumOutputs(kNumOutputs);
setUniqueID(kUniqueId);
canProcessReplacing(); // supports output replacing
canDoubleReplacing(); // supports double precision processing
programsAreChunks(true);
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
}
ConsoleMCBuss::~ConsoleMCBuss() {}
VstInt32 ConsoleMCBuss::getVendorVersion () {return 1000;}
void ConsoleMCBuss::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void ConsoleMCBuss::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 ConsoleMCBuss::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 ConsoleMCBuss::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
/* 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 ConsoleMCBuss::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float ConsoleMCBuss::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; 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 ConsoleMCBuss::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "Master", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void ConsoleMCBuss::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void ConsoleMCBuss::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 ConsoleMCBuss::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool ConsoleMCBuss::getEffectName(char* name) {
vst_strncpy(name, "ConsoleMCBuss", kVstMaxProductStrLen); return true;
}
VstPlugCategory ConsoleMCBuss::getPlugCategory() {return kPlugCategEffect;}
bool ConsoleMCBuss::getProductString(char* text) {
vst_strncpy (text, "airwindows ConsoleMCBuss", kVstMaxProductStrLen); return true;
}
bool ConsoleMCBuss::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,130 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#define __ConsoleMCBuss_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kNumParameters = 1
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'cmcb'; //Change this to what the AU identity is!
class ConsoleMCBuss :
public AudioEffectX
{
public:
ConsoleMCBuss(audioMasterCallback audioMaster);
~ConsoleMCBuss();
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;
enum {
prevSampL1,
prevSampR1,
invSampL1,
invSampR1,
threshold1,
prevSampL2,
prevSampR2,
invSampL2,
invSampR2,
threshold2,
prevSampL3,
prevSampR3,
invSampL3,
invSampR3,
threshold3,
prevSampL4,
prevSampR4,
invSampL4,
invSampR4,
threshold4,
prevSampL5,
prevSampR5,
invSampL5,
invSampR5,
threshold5,
prevSampL6,
prevSampR6,
invSampL6,
invSampR6,
threshold6,
prevSampL7,
prevSampR7,
invSampL7,
invSampR7,
threshold7,
prevSampL8,
prevSampR8,
invSampL8,
invSampR8,
threshold8,
prevSampL9,
prevSampR9,
invSampL9,
invSampR9,
threshold9,
prevSampL10,
prevSampR10,
invSampL10,
invSampR10,
threshold10,
gslew_total
}; //fixed frequency pear filter for ultrasonics, stereo
double gslew[gslew_total]; //probably worth just using a number here
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
};
#endif

View file

@ -0,0 +1,320 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#include "ConsoleMCBuss.h"
#endif
void ConsoleMCBuss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(A); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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 ConsoleMCBuss::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(A); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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,172 @@
/* ========================================
* ConsoleMCChannel - ConsoleMCChannel.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCChannel_H
#include "ConsoleMCChannel.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ConsoleMCChannel(audioMaster);}
ConsoleMCChannel::ConsoleMCChannel(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.5;
B = 0.25;
C = 0.0;
D = 0.5;
E = 0.5;
F = 0.5;
avgAL = avgAR = avgBL = avgBR = avgCL = avgCR = 0.0;
for (int x = 0; x < 17; x++) pearA[x] = 0.0;
for (int x = 0; x < 21; x++) pearB[x] = 0.0;
for(int count = 0; count < 2004; count++) {mpkL[count] = 0.0; mpkR[count] = 0.0;}
for(int count = 0; count < 65; count++) {f[count] = 0.0;}
prevfreqMPeak = -1;
prevamountMPeak = -1;
mpc = 1;
subAL = subAR = subBL = subBR = 0.0;
bassA = bassB = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
_canDo.insert("x2in2out");
setNumInputs(kNumInputs);
setNumOutputs(kNumOutputs);
setUniqueID(kUniqueId);
canProcessReplacing(); // supports output replacing
canDoubleReplacing(); // supports double precision processing
programsAreChunks(true);
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
}
ConsoleMCChannel::~ConsoleMCChannel() {}
VstInt32 ConsoleMCChannel::getVendorVersion () {return 1000;}
void ConsoleMCChannel::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void ConsoleMCChannel::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 ConsoleMCChannel::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;
/* 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 ConsoleMCChannel::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]);
/* 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 ConsoleMCChannel::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;
default: throw; // unknown parameter, shouldn't happen!
}
}
float ConsoleMCChannel::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;
default: break; // unknown parameter, shouldn't happen!
} return 0.0; //we only need to update the relevant name, this is simple to manage
}
void ConsoleMCChannel::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "Treble", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "MidFreq", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "MidPeak", kVstMaxParamStrLen); break;
case kParamD: vst_strncpy (text, "Bass", kVstMaxParamStrLen); break;
case kParamE: vst_strncpy (text, "Pan", kVstMaxParamStrLen); break;
case kParamF: vst_strncpy (text, "Fader", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void ConsoleMCChannel::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;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void ConsoleMCChannel::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;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 ConsoleMCChannel::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool ConsoleMCChannel::getEffectName(char* name) {
vst_strncpy(name, "ConsoleMCChannel", kVstMaxProductStrLen); return true;
}
VstPlugCategory ConsoleMCChannel::getPlugCategory() {return kPlugCategEffect;}
bool ConsoleMCChannel::getProductString(char* text) {
vst_strncpy (text, "airwindows ConsoleMCChannel", kVstMaxProductStrLen); return true;
}
bool ConsoleMCChannel::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,96 @@
/* ========================================
* ConsoleMCChannel - ConsoleMCChannel.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCChannel_H
#define __ConsoleMCChannel_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,
kNumParameters = 6
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'cmcc'; //Change this to what the AU identity is!
class ConsoleMCChannel :
public AudioEffectX
{
public:
ConsoleMCChannel(audioMasterCallback audioMaster);
~ConsoleMCChannel();
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;
double avgAL;
double avgAR;
double avgBL;
double avgBR;
double avgCL;
double avgCR;
double subAL;
double subBL;
double subAR;
double subBR;
double pearA[18];
double pearB[22];
double mpkL[2005];
double mpkR[2005];
double f[66];
double prevfreqMPeak;
double prevamountMPeak;
int mpc;
double bassA;
double bassB;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
float B;
float C;
float D;
float E;
float F;
};
#endif

View file

@ -0,0 +1,674 @@
/* ========================================
* ConsoleMCChannel - ConsoleMCChannel.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCChannel_H
#include "ConsoleMCChannel.h"
#endif
void ConsoleMCChannel::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate(); //will be over 1.0848 when over 48k
int cycleEnd = floor(overallscale);
if (cycleEnd < 1) cycleEnd = 1;
if (cycleEnd > 3) cycleEnd = 3;
double fatTreble = (A*6.0)-3.0;
bassA = bassB;
bassB = (D*6.0)-3.0;
//these should stack to go up to -3.0 to 3.0
if (fatTreble < 0.0) fatTreble /= 3.0;
if (bassB < 0.0) bassB /= 3.0;
//and then become -1.0 to 3.0;
//there will be successive sin/cos stages w. dry/wet in these
double freqTreble = 0.853;
double freqMid = 0.026912;
switch (cycleEnd)
{
case 1: //base sample rate, no change
break;
case 2: //96k tier
freqTreble = 0.4265;
freqMid = 0.013456;
break;
case 3: //192k tier
freqTreble = 0.21325;
freqMid = 0.006728;
break;
}
//begin ResEQ2 Mid Boost
double freqMPeak = pow(B+0.16,3);
double amountMPeak = pow(C,2);
int maxMPeak = (amountMPeak*63.0)+1;
if ((freqMPeak != prevfreqMPeak)||(amountMPeak != prevamountMPeak)) {
for (int x = 0; x < maxMPeak; x++) {
if (((double)x*freqMPeak) < M_PI_4) f[x] = sin(((double)x*freqMPeak)*4.0)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
else f[x] = cos((double)x*freqMPeak)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
}
prevfreqMPeak = freqMPeak; prevamountMPeak = amountMPeak;
}//end ResEQ2 Mid Boost
int bitshiftL = 0;
int bitshiftR = 0;
double panControl = (E*2.0)-1.0; //-1.0 to 1.0
double panAttenuation = (1.0-fabs(panControl));
int panBits = 20; //start centered
if (panAttenuation > 0.0) panBits = floor(1.0 / panAttenuation);
if (panControl > 0.25) bitshiftL += panBits;
if (panControl < -0.25) bitshiftR += panBits;
if (bitshiftL < 0) bitshiftL = 0; if (bitshiftL > 17) bitshiftL = 17;
if (bitshiftR < 0) bitshiftR = 0; if (bitshiftR > 17) bitshiftR = 17;
double gainL = 1.0;
double gainR = 1.0;
switch (bitshiftL)
{
case 17: gainL = 0.0; break;
case 16: gainL = 0.0000152587890625; break;
case 15: gainL = 0.000030517578125; break;
case 14: gainL = 0.00006103515625; break;
case 13: gainL = 0.0001220703125; break;
case 12: gainL = 0.000244140625; break;
case 11: gainL = 0.00048828125; break;
case 10: gainL = 0.0009765625; break;
case 9: gainL = 0.001953125; break;
case 8: gainL = 0.00390625; break;
case 7: gainL = 0.0078125; break;
case 6: gainL = 0.015625; break;
case 5: gainL = 0.03125; break;
case 4: gainL = 0.0625; break;
case 3: gainL = 0.125; break;
case 2: gainL = 0.25; break;
case 1: gainL = 0.5; break;
case 0: break;
}
switch (bitshiftR)
{
case 17: gainR = 0.0; break;
case 16: gainR = 0.0000152587890625; break;
case 15: gainR = 0.000030517578125; break;
case 14: gainR = 0.00006103515625; break;
case 13: gainR = 0.0001220703125; break;
case 12: gainR = 0.000244140625; break;
case 11: gainR = 0.00048828125; break;
case 10: gainR = 0.0009765625; break;
case 9: gainR = 0.001953125; break;
case 8: gainR = 0.00390625; break;
case 7: gainR = 0.0078125; break;
case 6: gainR = 0.015625; break;
case 5: gainR = 0.03125; break;
case 4: gainR = 0.0625; break;
case 3: gainR = 0.125; break;
case 2: gainR = 0.25; break;
case 1: gainR = 0.5; break;
case 0: break;
}
gainA = gainB;
gainB = F*2.0; //smoothed master fader from Z2 filters
//BitShiftGain pre gain trim goes here
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
double bass = (bassA*temp)+(bassB*(1.0-temp));
inputSampleL *= gain;
inputSampleR *= gain;
//for MCI consoles, the fader is before the EQ, which overdrives easily.
//so we put the main fader here.
//begin Pear filter stages
double bassL = inputSampleL;
double bassR = inputSampleR;
double slew = ((bassL - pearA[0]) + pearA[1])*freqTreble*0.5;
pearA[0] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[0] + pearA[1]));
pearA[1] = slew; slew = ((bassR - pearA[2]) + pearA[3])*freqTreble*0.5;
pearA[2] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[2] + pearA[3]));
pearA[3] = slew; slew = ((bassL - pearA[4]) + pearA[5])*freqTreble*0.5;
pearA[4] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[4] + pearA[5]));
pearA[5] = slew; slew = ((bassR - pearA[6]) + pearA[7])*freqTreble*0.5;
pearA[6] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[6] + pearA[7]));
pearA[7] = slew; slew = ((bassL - pearA[8]) + pearA[9])*freqTreble*0.5;
pearA[8] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[8] + pearA[9]));
pearA[9] = slew; slew = ((bassR - pearA[10]) + pearA[11])*freqTreble*0.5;
pearA[10] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[10] + pearA[11]));
pearA[11] = slew; slew = ((bassL - pearA[12]) + pearA[13])*freqTreble*0.5;
pearA[12] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[12] + pearA[13]));
pearA[13] = slew; slew = ((bassR - pearA[14]) + pearA[15])*freqTreble*0.5;
pearA[14] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[14] + pearA[15]));
pearA[15] = slew;
//unrolled mid/treble crossover (called bass to use fewer variables)
double trebleL = inputSampleL - bassL; inputSampleL = bassL;
double trebleR = inputSampleR - bassR; inputSampleR = bassR;
//at this point 'bass' is actually still mid and bass
slew = ((bassL - pearB[0]) + pearB[1])*freqMid*0.5;
pearB[0] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[0] + pearB[1]));
pearB[1] = slew; slew = ((bassR - pearB[2]) + pearB[3])*freqMid*0.5;
pearB[2] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[2] + pearB[3]));
pearB[3] = slew; slew = ((bassL - pearB[4]) + pearB[5])*freqMid*0.5;
pearB[4] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[4] + pearB[5]));
pearB[5] = slew; slew = ((bassR - pearB[6]) + pearB[7])*freqMid*0.5;
pearB[6] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[6] + pearB[7]));
pearB[7] = slew; slew = ((bassL - pearB[8]) + pearB[9])*freqMid*0.5;
pearB[8] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[8] + pearB[9]));
pearB[9] = slew; slew = ((bassR - pearB[10]) + pearB[11])*freqMid*0.5;
pearB[10] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[10] + pearB[11]));
pearB[11] = slew; slew = ((bassL - pearB[12]) + pearB[13])*freqMid*0.5;
pearB[12] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[12] + pearB[13]));
pearB[13] = slew; slew = ((bassR - pearB[14]) + pearB[15])*freqMid*0.5;
pearB[14] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[14] + pearB[15]));
pearB[15] = slew; slew = ((bassL - pearB[16]) + pearB[17])*freqMid*0.5;
pearB[16] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[16] + pearB[17]));
pearB[17] = slew; slew = ((bassR - pearB[18]) + pearB[19])*freqMid*0.5;
pearB[18] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[18] + pearB[19]));
pearB[19] = slew;
double midL = inputSampleL - bassL;
double midR = inputSampleR - bassR;
//we now have three bands out of two pear filters
double w = 0.0; //filter into bands, apply the sin/cos to each band
double avg = 0.0; //for the treble band, we're applying mild filtering
if (overallscale > 1.1) {
avg = (trebleL+avgAL)*0.5; avgAL = trebleL; trebleL = avg;
avg = (trebleR+avgAR)*0.5; avgAR = trebleR; trebleR = avg;
if (overallscale > 2.1) {
avg = (trebleL+avgBL)*0.5; avgBL = trebleL; trebleL = avg;
avg = (trebleR+avgBR)*0.5; avgBR = trebleR; trebleR = avg;
}
}
if (fatTreble > 0.0) {
w = fatTreble; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 1.0) {
w = fatTreble-1.0; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 2.0) {
w = fatTreble-2.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
} //sine stages for EQ or compression
}
}
if (fatTreble < 0.0) {
if (trebleL > 1.0) trebleL = 1.0; if (trebleL < -1.0) trebleL = -1.0;
if (trebleR > 1.0) trebleR = 1.0; if (trebleR < -1.0) trebleR = -1.0;
w = -fatTreble; if (w > 1.0) w = 1.0;
if (trebleL > 0) trebleL = (trebleL*(1.0-w))+((1.0-cos(trebleL))*sin(w));
else trebleL = (trebleL*(1.0-w))+((-1.0+cos(-trebleL))*sin(w));
if (trebleR > 0) trebleR = (trebleR*(1.0-w))+((1.0-cos(trebleR))*sin(w));
else trebleR = (trebleR*(1.0-w))+((-1.0+cos(-trebleR))*sin(w));
} //cosine stages for EQ or expansion
if (overallscale > 1.1) {
avg = (trebleL+avgCL)*0.5; avgCL = trebleL; trebleL = avg;
avg = (trebleR+avgCR)*0.5; avgCR = trebleR; trebleR = avg;
}
//begin ResEQ2 Mid Boost
mpc++; if (mpc < 1 || mpc > 2001) mpc = 1;
mpkL[mpc] = midL;
mpkR[mpc] = midR;
double midMPeakL = 0.0;
double midMPeakR = 0.0;
for (int x = 0; x < maxMPeak; x++) {
int y = x*cycleEnd;
switch (cycleEnd)
{
case 1:
midMPeakL += (mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]);
midMPeakR += (mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]); break;
case 2:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); break;
case 3:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); break;
case 4:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); //break
}
}
midL = (midMPeakL*amountMPeak)+((1.5-amountMPeak>1.0)?midL:midL*(1.5-amountMPeak));
midR = (midMPeakR*amountMPeak)+((1.5-amountMPeak>1.0)?midR:midR*(1.5-amountMPeak));
//end ResEQ2 Mid Boost
if (bassL > 1.0) bassL = 1.0; if (bassL < -1.0) bassL = -1.0;
if (bassR > 1.0) bassR = 1.0; if (bassR < -1.0) bassR = -1.0;
if (bass > 0.0) {
w = bass; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.6);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.6);
if (bass > 1.0) {
w = bass-1.0; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.4);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.4);
if (bass > 2.0) {
w = bass-2.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.2);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.2);
} //sine stages for EQ or compression
}
}
if (bass < 0.0) {
w = -bass; if (w > 1.0) w = 1.0;
if (bassL > 0) bassL = (bassL*(1.0-w))+((1.0-cos(bassL))*sin(w));
else bassL = (bassL*(1.0-w))+((-1.0+cos(-bassL))*sin(w));
if (bassR > 0) bassR = (bassR*(1.0-w))+((1.0-cos(bassR))*sin(w));
else bassR = (bassR*(1.0-w))+((-1.0+cos(-bassR))*sin(w));
} //cosine stages for EQ or expansion
//the sin() is further restricting output when fully attenuated
//begin SubTight section
double subSampleL = bassL * 0.0046999;
double subSampleR = bassR * 0.0046999;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
bassL = bassL - (subSampleL*16.0);
bassR = bassR - (subSampleR*16.0);
//end SubTight section
inputSampleL = (bassL + midL + trebleL)*gainL;
inputSampleR = (bassR + midR + trebleR)*gainR;
//applies BitShiftPan pan section
//begin sin() style Channel processing
if (inputSampleL > 1.57079633) inputSampleL = 1.57079633;
if (inputSampleL < -1.57079633) inputSampleL = -1.57079633;
if (inputSampleR > 1.57079633) inputSampleR = 1.57079633;
if (inputSampleR < -1.57079633) inputSampleR = -1.57079633;
inputSampleL = sin(inputSampleL);
inputSampleR = sin(inputSampleR);
//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 ConsoleMCChannel::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate(); //will be over 1.0848 when over 48k
int cycleEnd = floor(overallscale);
if (cycleEnd < 1) cycleEnd = 1;
if (cycleEnd > 3) cycleEnd = 3;
double fatTreble = (A*6.0)-3.0;
bassA = bassB;
bassB = (D*6.0)-3.0;
//these should stack to go up to -3.0 to 3.0
if (fatTreble < 0.0) fatTreble /= 3.0;
if (bassB < 0.0) bassB /= 3.0;
//and then become -1.0 to 3.0;
//there will be successive sin/cos stages w. dry/wet in these
double freqTreble = 0.853;
double freqMid = 0.026912;
switch (cycleEnd)
{
case 1: //base sample rate, no change
break;
case 2: //96k tier
freqTreble = 0.4265;
freqMid = 0.013456;
break;
case 3: //192k tier
freqTreble = 0.21325;
freqMid = 0.006728;
break;
}
//begin ResEQ2 Mid Boost
double freqMPeak = pow(B+0.16,3);
double amountMPeak = pow(C,2);
int maxMPeak = (amountMPeak*63.0)+1;
if ((freqMPeak != prevfreqMPeak)||(amountMPeak != prevamountMPeak)) {
for (int x = 0; x < maxMPeak; x++) {
if (((double)x*freqMPeak) < M_PI_4) f[x] = sin(((double)x*freqMPeak)*4.0)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
else f[x] = cos((double)x*freqMPeak)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
}
prevfreqMPeak = freqMPeak; prevamountMPeak = amountMPeak;
}//end ResEQ2 Mid Boost
int bitshiftL = 0;
int bitshiftR = 0;
double panControl = (E*2.0)-1.0; //-1.0 to 1.0
double panAttenuation = (1.0-fabs(panControl));
int panBits = 20; //start centered
if (panAttenuation > 0.0) panBits = floor(1.0 / panAttenuation);
if (panControl > 0.25) bitshiftL += panBits;
if (panControl < -0.25) bitshiftR += panBits;
if (bitshiftL < 0) bitshiftL = 0; if (bitshiftL > 17) bitshiftL = 17;
if (bitshiftR < 0) bitshiftR = 0; if (bitshiftR > 17) bitshiftR = 17;
double gainL = 1.0;
double gainR = 1.0;
switch (bitshiftL)
{
case 17: gainL = 0.0; break;
case 16: gainL = 0.0000152587890625; break;
case 15: gainL = 0.000030517578125; break;
case 14: gainL = 0.00006103515625; break;
case 13: gainL = 0.0001220703125; break;
case 12: gainL = 0.000244140625; break;
case 11: gainL = 0.00048828125; break;
case 10: gainL = 0.0009765625; break;
case 9: gainL = 0.001953125; break;
case 8: gainL = 0.00390625; break;
case 7: gainL = 0.0078125; break;
case 6: gainL = 0.015625; break;
case 5: gainL = 0.03125; break;
case 4: gainL = 0.0625; break;
case 3: gainL = 0.125; break;
case 2: gainL = 0.25; break;
case 1: gainL = 0.5; break;
case 0: break;
}
switch (bitshiftR)
{
case 17: gainR = 0.0; break;
case 16: gainR = 0.0000152587890625; break;
case 15: gainR = 0.000030517578125; break;
case 14: gainR = 0.00006103515625; break;
case 13: gainR = 0.0001220703125; break;
case 12: gainR = 0.000244140625; break;
case 11: gainR = 0.00048828125; break;
case 10: gainR = 0.0009765625; break;
case 9: gainR = 0.001953125; break;
case 8: gainR = 0.00390625; break;
case 7: gainR = 0.0078125; break;
case 6: gainR = 0.015625; break;
case 5: gainR = 0.03125; break;
case 4: gainR = 0.0625; break;
case 3: gainR = 0.125; break;
case 2: gainR = 0.25; break;
case 1: gainR = 0.5; break;
case 0: break;
}
gainA = gainB;
gainB = F*2.0; //smoothed master fader from Z2 filters
//BitShiftGain pre gain trim goes here
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
double bass = (bassA*temp)+(bassB*(1.0-temp));
inputSampleL *= gain;
inputSampleR *= gain;
//for MCI consoles, the fader is before the EQ, which overdrives easily.
//so we put the main fader here.
//begin Pear filter stages
double bassL = inputSampleL;
double bassR = inputSampleR;
double slew = ((bassL - pearA[0]) + pearA[1])*freqTreble*0.5;
pearA[0] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[0] + pearA[1]));
pearA[1] = slew; slew = ((bassR - pearA[2]) + pearA[3])*freqTreble*0.5;
pearA[2] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[2] + pearA[3]));
pearA[3] = slew; slew = ((bassL - pearA[4]) + pearA[5])*freqTreble*0.5;
pearA[4] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[4] + pearA[5]));
pearA[5] = slew; slew = ((bassR - pearA[6]) + pearA[7])*freqTreble*0.5;
pearA[6] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[6] + pearA[7]));
pearA[7] = slew; slew = ((bassL - pearA[8]) + pearA[9])*freqTreble*0.5;
pearA[8] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[8] + pearA[9]));
pearA[9] = slew; slew = ((bassR - pearA[10]) + pearA[11])*freqTreble*0.5;
pearA[10] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[10] + pearA[11]));
pearA[11] = slew; slew = ((bassL - pearA[12]) + pearA[13])*freqTreble*0.5;
pearA[12] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[12] + pearA[13]));
pearA[13] = slew; slew = ((bassR - pearA[14]) + pearA[15])*freqTreble*0.5;
pearA[14] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[14] + pearA[15]));
pearA[15] = slew;
//unrolled mid/treble crossover (called bass to use fewer variables)
double trebleL = inputSampleL - bassL; inputSampleL = bassL;
double trebleR = inputSampleR - bassR; inputSampleR = bassR;
//at this point 'bass' is actually still mid and bass
slew = ((bassL - pearB[0]) + pearB[1])*freqMid*0.5;
pearB[0] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[0] + pearB[1]));
pearB[1] = slew; slew = ((bassR - pearB[2]) + pearB[3])*freqMid*0.5;
pearB[2] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[2] + pearB[3]));
pearB[3] = slew; slew = ((bassL - pearB[4]) + pearB[5])*freqMid*0.5;
pearB[4] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[4] + pearB[5]));
pearB[5] = slew; slew = ((bassR - pearB[6]) + pearB[7])*freqMid*0.5;
pearB[6] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[6] + pearB[7]));
pearB[7] = slew; slew = ((bassL - pearB[8]) + pearB[9])*freqMid*0.5;
pearB[8] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[8] + pearB[9]));
pearB[9] = slew; slew = ((bassR - pearB[10]) + pearB[11])*freqMid*0.5;
pearB[10] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[10] + pearB[11]));
pearB[11] = slew; slew = ((bassL - pearB[12]) + pearB[13])*freqMid*0.5;
pearB[12] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[12] + pearB[13]));
pearB[13] = slew; slew = ((bassR - pearB[14]) + pearB[15])*freqMid*0.5;
pearB[14] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[14] + pearB[15]));
pearB[15] = slew; slew = ((bassL - pearB[16]) + pearB[17])*freqMid*0.5;
pearB[16] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[16] + pearB[17]));
pearB[17] = slew; slew = ((bassR - pearB[18]) + pearB[19])*freqMid*0.5;
pearB[18] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[18] + pearB[19]));
pearB[19] = slew;
double midL = inputSampleL - bassL;
double midR = inputSampleR - bassR;
//we now have three bands out of two pear filters
double w = 0.0; //filter into bands, apply the sin/cos to each band
double avg = 0.0; //for the treble band, we're applying mild filtering
if (overallscale > 1.1) {
avg = (trebleL+avgAL)*0.5; avgAL = trebleL; trebleL = avg;
avg = (trebleR+avgAR)*0.5; avgAR = trebleR; trebleR = avg;
if (overallscale > 2.1) {
avg = (trebleL+avgBL)*0.5; avgBL = trebleL; trebleL = avg;
avg = (trebleR+avgBR)*0.5; avgBR = trebleR; trebleR = avg;
}
}
if (fatTreble > 0.0) {
w = fatTreble; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 1.0) {
w = fatTreble-1.0; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 2.0) {
w = fatTreble-2.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
} //sine stages for EQ or compression
}
}
if (fatTreble < 0.0) {
if (trebleL > 1.0) trebleL = 1.0; if (trebleL < -1.0) trebleL = -1.0;
if (trebleR > 1.0) trebleR = 1.0; if (trebleR < -1.0) trebleR = -1.0;
w = -fatTreble; if (w > 1.0) w = 1.0;
if (trebleL > 0) trebleL = (trebleL*(1.0-w))+((1.0-cos(trebleL))*sin(w));
else trebleL = (trebleL*(1.0-w))+((-1.0+cos(-trebleL))*sin(w));
if (trebleR > 0) trebleR = (trebleR*(1.0-w))+((1.0-cos(trebleR))*sin(w));
else trebleR = (trebleR*(1.0-w))+((-1.0+cos(-trebleR))*sin(w));
} //cosine stages for EQ or expansion
if (overallscale > 1.1) {
avg = (trebleL+avgCL)*0.5; avgCL = trebleL; trebleL = avg;
avg = (trebleR+avgCR)*0.5; avgCR = trebleR; trebleR = avg;
}
//begin ResEQ2 Mid Boost
mpc++; if (mpc < 1 || mpc > 2001) mpc = 1;
mpkL[mpc] = midL;
mpkR[mpc] = midR;
double midMPeakL = 0.0;
double midMPeakR = 0.0;
for (int x = 0; x < maxMPeak; x++) {
int y = x*cycleEnd;
switch (cycleEnd)
{
case 1:
midMPeakL += (mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]);
midMPeakR += (mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]); break;
case 2:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); break;
case 3:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); break;
case 4:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); //break
}
}
midL = (midMPeakL*amountMPeak)+((1.5-amountMPeak>1.0)?midL:midL*(1.5-amountMPeak));
midR = (midMPeakR*amountMPeak)+((1.5-amountMPeak>1.0)?midR:midR*(1.5-amountMPeak));
//end ResEQ2 Mid Boost
if (bassL > 1.0) bassL = 1.0; if (bassL < -1.0) bassL = -1.0;
if (bassR > 1.0) bassR = 1.0; if (bassR < -1.0) bassR = -1.0;
if (bass > 0.0) {
w = bass; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.6);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.6);
if (bass > 1.0) {
w = bass-1.0; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.4);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.4);
if (bass > 2.0) {
w = bass-2.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.2);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.2);
} //sine stages for EQ or compression
}
}
if (bass < 0.0) {
w = -bass; if (w > 1.0) w = 1.0;
if (bassL > 0) bassL = (bassL*(1.0-w))+((1.0-cos(bassL))*sin(w));
else bassL = (bassL*(1.0-w))+((-1.0+cos(-bassL))*sin(w));
if (bassR > 0) bassR = (bassR*(1.0-w))+((1.0-cos(bassR))*sin(w));
else bassR = (bassR*(1.0-w))+((-1.0+cos(-bassR))*sin(w));
} //cosine stages for EQ or expansion
//the sin() is further restricting output when fully attenuated
//begin SubTight section
double subSampleL = bassL * 0.0046999;
double subSampleR = bassR * 0.0046999;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
bassL = bassL - (subSampleL*16.0);
bassR = bassR - (subSampleR*16.0);
//end SubTight section
inputSampleL = (bassL + midL + trebleL)*gainL;
inputSampleR = (bassR + midR + trebleR)*gainR;
//applies BitShiftPan pan section
//begin sin() style Channel processing
if (inputSampleL > 1.57079633) inputSampleL = 1.57079633;
if (inputSampleL < -1.57079633) inputSampleL = -1.57079633;
if (inputSampleR > 1.57079633) inputSampleR = 1.57079633;
if (inputSampleR < -1.57079633) inputSampleR = -1.57079633;
inputSampleL = sin(inputSampleL);
inputSampleR = sin(inputSampleR);
//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,345 @@
/*
* File: ConsoleMCBuss.cpp
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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.
*
*/
/*=============================================================================
ConsoleMCBuss.cpp
=============================================================================*/
#include "ConsoleMCBuss.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMPONENT_ENTRY(ConsoleMCBuss)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ConsoleMCBuss
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ConsoleMCBuss::ConsoleMCBuss(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo )
{
ComponentResult result = noErr;
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
| kAudioUnitParameterFlag_IsReadable;
if (inScope == kAudioUnitScope_Global) {
switch(inParameterID)
{
case kParam_One:
AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// state that plugin supports only stereo-in/stereo-out processing
UInt32 ConsoleMCBuss::SupportedNumChannels(const AUChannelInfo ** outInfo)
{
if (outInfo != NULL)
{
static AUChannelInfo info;
info.inChannels = 2;
info.outChannels = 2;
*outInfo = &info;
}
return 1;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ConsoleMCBuss::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ConsoleMCBussEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ConsoleMCBussKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
for (int x = 0; x < gslew_total; x++) gslew[x] = 0.0;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ProcessBufferLists
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OSStatus ConsoleMCBuss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer,
AudioBufferList & outBuffer,
UInt32 inFramesToProcess)
{
Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData);
Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData);
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(GetParameter( kParam_One )); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
while (nSampleFrames-- > 0) {
double inputSampleL = *inputL;
double inputSampleR = *inputR;
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
double temp = (double)nSampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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
*outputL = inputSampleL;
*outputR = inputSampleR;
//direct stereo out
inputL += 1;
inputR += 1;
outputL += 1;
outputR += 1;
}
return noErr;
}

View file

@ -0,0 +1 @@
_ConsoleMCBussEntry

View file

@ -0,0 +1,185 @@
/*
* File: ConsoleMCBuss.h
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCBussVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ConsoleMCBuss_h__
#define __ConsoleMCBuss_h__
#pragma mark ____ConsoleMCBuss Parameters
// parameters
static const float kDefaultValue_ParamOne = 1.0;
static CFStringRef kParameterOneName = CFSTR("Master");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
//Add your parameters here...
kNumberOfParameters=1
};
#pragma mark ____ConsoleMCBuss
class ConsoleMCBuss : public AUEffectBase
{
public:
ConsoleMCBuss(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ConsoleMCBuss () { delete mDebugDispatcher; }
#endif
virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement);
virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer, AudioBufferList & outBuffer,
UInt32 inFramesToProcess);
virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo);
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 kConsoleMCBussVersion; }
private:
enum {
prevSampL1,
prevSampR1,
invSampL1,
invSampR1,
threshold1,
prevSampL2,
prevSampR2,
invSampL2,
invSampR2,
threshold2,
prevSampL3,
prevSampR3,
invSampL3,
invSampR3,
threshold3,
prevSampL4,
prevSampR4,
invSampL4,
invSampR4,
threshold4,
prevSampL5,
prevSampR5,
invSampL5,
invSampR5,
threshold5,
prevSampL6,
prevSampR6,
invSampL6,
invSampR6,
threshold6,
prevSampL7,
prevSampR7,
invSampL7,
invSampR7,
threshold7,
prevSampL8,
prevSampR8,
invSampL8,
invSampR8,
threshold8,
prevSampL9,
prevSampR9,
invSampL9,
invSampR9,
threshold9,
prevSampL10,
prevSampR10,
invSampL10,
invSampR10,
threshold10,
gslew_total
}; //fixed frequency pear filter for ultrasonics, stereo
double gslew[gslew_total]; //probably worth just using a number here
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ConsoleMCBuss.r
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCBussVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ConsoleMCBuss 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ConsoleMCBuss~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ConsoleMCBuss
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ConsoleMCBuss_COMP_SUBTYPE
#define COMP_MANUF ConsoleMCBuss_COMP_MANF
#define VERSION kConsoleMCBussVersion
#define NAME "Airwindows: ConsoleMCBuss"
#define DESCRIPTION "ConsoleMCBuss AU"
#define ENTRY_POINT "ConsoleMCBussEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,155 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* 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,
188,
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 = 718748917;
PBXWorkspaceStateSaveDate = 718748917;
};
perUserProjectItems = {
8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */ = 8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */;
8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */;
8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */;
8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1659, 6228}}";
sepNavSelRange = "{10341, 4034}";
sepNavVisRange = "{13504, 1509}";
sepNavWindowFrame = "{{558, 38}, {859, 840}}";
};
};
8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{2934, 0}";
sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{482, 3}, {1086, 835}}";
};
};
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 1336}";
};
};
8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */;
name = "ConsoleMCBuss.h: 197";
rLen = 0;
rLoc = 5890;
rType = 0;
vrLen = 0;
vrLoc = 6030;
};
8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */;
name = "ConsoleMCBuss.cpp: 223";
rLen = 0;
rLoc = 9628;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */;
name = "ConsoleMCBussVersion.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */;
name = "ConsoleMCBussVersion.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1146, 3330}}";
sepNavSelRange = "{5443, 0}";
sepNavVisRange = "{2694, 1136}";
sepNavWindowFrame = "{{294, 38}, {1146, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */ = {
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 /* ConsoleMCBuss.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ConsoleMCBuss.r */; };
8BA05A6B0720730100365D66 /* ConsoleMCBuss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */; };
8BA05A6E0720730100365D66 /* ConsoleMCBussVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.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 /* ConsoleMCBuss.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ConsoleMCBuss.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 /* ConsoleMCBuss.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleMCBuss.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ConsoleMCBuss.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ConsoleMCBuss.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ConsoleMCBuss.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ConsoleMCBuss.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCBussVersion.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 /* ConsoleMCBuss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCBuss.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ConsoleMCBuss.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCBuss.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 /* ConsoleMCBuss */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ConsoleMCBuss;
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 /* ConsoleMCBuss.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */,
8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */,
8BA05A670720730100365D66 /* ConsoleMCBuss.exp */,
8BA05A680720730100365D66 /* ConsoleMCBuss.r */,
8BA05A690720730100365D66 /* ConsoleMCBussVersion.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 /* ConsoleMCBussVersion.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 /* ConsoleMCBuss.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 /* ConsoleMCBuss */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ConsoleMCBuss" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCBuss;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ConsoleMCBuss;
productReference = 8D01CCD20486CAD60068D4B7 /* ConsoleMCBuss.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 "ConsoleMCBuss" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 089C166AFE841209C02AAC07 /* ConsoleMCBuss */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */,
);
};
/* 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 /* ConsoleMCBuss.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6B0720730100365D66 /* ConsoleMCBuss.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 = ConsoleMCBuss.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 = ConsoleMCBuss;
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
x86_64,
);
EXPORTED_SYMBOLS_FILE = ConsoleMCBuss.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 = ConsoleMCBuss;
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 "ConsoleMCBuss" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ConsoleMCBuss" */ = {
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: ConsoleMCBussVersion.h
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 __ConsoleMCBussVersion_h__
#define __ConsoleMCBussVersion_h__
#ifdef DEBUG
#define kConsoleMCBussVersion 0xFFFFFFFF
#else
#define kConsoleMCBussVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ConsoleMCBuss_COMP_MANF 'Dthr'
#define ConsoleMCBuss_COMP_SUBTYPE 'cmcb'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#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>Dthr</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
//
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
//
#include <CoreServices/CoreServices.h>

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,570 @@
/*
* File: ConsoleMCChannel.cpp
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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.
*
*/
/*=============================================================================
ConsoleMCChannel.cpp
=============================================================================*/
#include "ConsoleMCChannel.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMPONENT_ENTRY(ConsoleMCChannel)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ConsoleMCChannel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ConsoleMCChannel::ConsoleMCChannel(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
SetParameter(kParam_Two, kDefaultValue_ParamTwo );
SetParameter(kParam_Three, kDefaultValue_ParamThree );
SetParameter(kParam_Four, kDefaultValue_ParamFour );
SetParameter(kParam_Five, kDefaultValue_ParamFive );
SetParameter(kParam_Six, kDefaultValue_ParamSix );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo )
{
ComponentResult result = noErr;
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
| kAudioUnitParameterFlag_IsReadable;
if (inScope == kAudioUnitScope_Global) {
switch(inParameterID)
{
case kParam_One:
AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
case kParam_Two:
AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
break;
case kParam_Three:
AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamThree;
break;
case kParam_Four:
AUBase::FillInParameterName (outParameterInfo, kParameterFourName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamFour;
break;
case kParam_Five:
AUBase::FillInParameterName (outParameterInfo, kParameterFiveName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamFive;
break;
case kParam_Six:
AUBase::FillInParameterName (outParameterInfo, kParameterSixName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamSix;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// state that plugin supports only stereo-in/stereo-out processing
UInt32 ConsoleMCChannel::SupportedNumChannels(const AUChannelInfo ** outInfo)
{
if (outInfo != NULL)
{
static AUChannelInfo info;
info.inChannels = 2;
info.outChannels = 2;
*outInfo = &info;
}
return 1;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ConsoleMCChannel::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ConsoleMCChannelEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ConsoleMCChannelKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
avgAL = avgAR = avgBL = avgBR = avgCL = avgCR = 0.0;
for (int x = 0; x < 17; x++) pearA[x] = 0.0;
for (int x = 0; x < 21; x++) pearB[x] = 0.0;
for(int count = 0; count < 2004; count++) {mpkL[count] = 0.0; mpkR[count] = 0.0;}
for(int count = 0; count < 65; count++) {f[count] = 0.0;}
prevfreqMPeak = -1;
prevamountMPeak = -1;
mpc = 1;
subAL = subAR = subBL = subBR = 0.0;
bassA = bassB = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ProcessBufferLists
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OSStatus ConsoleMCChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer,
AudioBufferList & outBuffer,
UInt32 inFramesToProcess)
{
Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData);
Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData);
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate(); //will be over 1.0848 when over 48k
int cycleEnd = floor(overallscale);
if (cycleEnd < 1) cycleEnd = 1;
if (cycleEnd > 3) cycleEnd = 3;
double fatTreble = (GetParameter( kParam_One )*6.0)-3.0;
bassA = bassB;
bassB = (GetParameter( kParam_Four )*6.0)-3.0;
//these should stack to go up to -3.0 to 3.0
if (fatTreble < 0.0) fatTreble /= 3.0;
if (bassB < 0.0) bassB /= 3.0;
//and then become -1.0 to 3.0;
//there will be successive sin/cos stages w. dry/wet in these
double freqTreble = 0.853;
double freqMid = 0.026912;
switch (cycleEnd)
{
case 1: //base sample rate, no change
break;
case 2: //96k tier
freqTreble = 0.4265;
freqMid = 0.013456;
break;
case 3: //192k tier
freqTreble = 0.21325;
freqMid = 0.006728;
break;
}
//begin ResEQ2 Mid Boost
double freqMPeak = pow(GetParameter( kParam_Two )+0.16,3);
double amountMPeak = pow(GetParameter( kParam_Three ),2);
int maxMPeak = (amountMPeak*63.0)+1;
if ((freqMPeak != prevfreqMPeak)||(amountMPeak != prevamountMPeak)) {
for (int x = 0; x < maxMPeak; x++) {
if (((double)x*freqMPeak) < M_PI_4) f[x] = sin(((double)x*freqMPeak)*4.0)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
else f[x] = cos((double)x*freqMPeak)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
}
prevfreqMPeak = freqMPeak; prevamountMPeak = amountMPeak;
}//end ResEQ2 Mid Boost
int bitshiftL = 0;
int bitshiftR = 0;
double panControl = (GetParameter( kParam_Five )*2.0)-1.0; //-1.0 to 1.0
double panAttenuation = (1.0-fabs(panControl));
int panBits = 20; //start centered
if (panAttenuation > 0.0) panBits = floor(1.0 / panAttenuation);
if (panControl > 0.25) bitshiftL += panBits;
if (panControl < -0.25) bitshiftR += panBits;
if (bitshiftL < 0) bitshiftL = 0; if (bitshiftL > 17) bitshiftL = 17;
if (bitshiftR < 0) bitshiftR = 0; if (bitshiftR > 17) bitshiftR = 17;
double gainL = 1.0;
double gainR = 1.0;
switch (bitshiftL)
{
case 17: gainL = 0.0; break;
case 16: gainL = 0.0000152587890625; break;
case 15: gainL = 0.000030517578125; break;
case 14: gainL = 0.00006103515625; break;
case 13: gainL = 0.0001220703125; break;
case 12: gainL = 0.000244140625; break;
case 11: gainL = 0.00048828125; break;
case 10: gainL = 0.0009765625; break;
case 9: gainL = 0.001953125; break;
case 8: gainL = 0.00390625; break;
case 7: gainL = 0.0078125; break;
case 6: gainL = 0.015625; break;
case 5: gainL = 0.03125; break;
case 4: gainL = 0.0625; break;
case 3: gainL = 0.125; break;
case 2: gainL = 0.25; break;
case 1: gainL = 0.5; break;
case 0: break;
}
switch (bitshiftR)
{
case 17: gainR = 0.0; break;
case 16: gainR = 0.0000152587890625; break;
case 15: gainR = 0.000030517578125; break;
case 14: gainR = 0.00006103515625; break;
case 13: gainR = 0.0001220703125; break;
case 12: gainR = 0.000244140625; break;
case 11: gainR = 0.00048828125; break;
case 10: gainR = 0.0009765625; break;
case 9: gainR = 0.001953125; break;
case 8: gainR = 0.00390625; break;
case 7: gainR = 0.0078125; break;
case 6: gainR = 0.015625; break;
case 5: gainR = 0.03125; break;
case 4: gainR = 0.0625; break;
case 3: gainR = 0.125; break;
case 2: gainR = 0.25; break;
case 1: gainR = 0.5; break;
case 0: break;
}
gainA = gainB;
gainB = GetParameter( kParam_Six )*2.0; //smoothed master fader from Z2 filters
//BitShiftGain pre gain trim goes here
while (nSampleFrames-- > 0) {
double inputSampleL = *inputL;
double inputSampleR = *inputR;
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
double temp = (double)nSampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
double bass = (bassA*temp)+(bassB*(1.0-temp));
inputSampleL *= gain;
inputSampleR *= gain;
//for MCI consoles, the fader is before the EQ, which overdrives easily.
//so we put the main fader here.
//begin Pear filter stages
double bassL = inputSampleL;
double bassR = inputSampleR;
double slew = ((bassL - pearA[0]) + pearA[1])*freqTreble*0.5;
pearA[0] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[0] + pearA[1]));
pearA[1] = slew; slew = ((bassR - pearA[2]) + pearA[3])*freqTreble*0.5;
pearA[2] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[2] + pearA[3]));
pearA[3] = slew; slew = ((bassL - pearA[4]) + pearA[5])*freqTreble*0.5;
pearA[4] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[4] + pearA[5]));
pearA[5] = slew; slew = ((bassR - pearA[6]) + pearA[7])*freqTreble*0.5;
pearA[6] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[6] + pearA[7]));
pearA[7] = slew; slew = ((bassL - pearA[8]) + pearA[9])*freqTreble*0.5;
pearA[8] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[8] + pearA[9]));
pearA[9] = slew; slew = ((bassR - pearA[10]) + pearA[11])*freqTreble*0.5;
pearA[10] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[10] + pearA[11]));
pearA[11] = slew; slew = ((bassL - pearA[12]) + pearA[13])*freqTreble*0.5;
pearA[12] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[12] + pearA[13]));
pearA[13] = slew; slew = ((bassR - pearA[14]) + pearA[15])*freqTreble*0.5;
pearA[14] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[14] + pearA[15]));
pearA[15] = slew;
//unrolled mid/treble crossover (called bass to use fewer variables)
double trebleL = inputSampleL - bassL; inputSampleL = bassL;
double trebleR = inputSampleR - bassR; inputSampleR = bassR;
//at this point 'bass' is actually still mid and bass
slew = ((bassL - pearB[0]) + pearB[1])*freqMid*0.5;
pearB[0] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[0] + pearB[1]));
pearB[1] = slew; slew = ((bassR - pearB[2]) + pearB[3])*freqMid*0.5;
pearB[2] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[2] + pearB[3]));
pearB[3] = slew; slew = ((bassL - pearB[4]) + pearB[5])*freqMid*0.5;
pearB[4] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[4] + pearB[5]));
pearB[5] = slew; slew = ((bassR - pearB[6]) + pearB[7])*freqMid*0.5;
pearB[6] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[6] + pearB[7]));
pearB[7] = slew; slew = ((bassL - pearB[8]) + pearB[9])*freqMid*0.5;
pearB[8] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[8] + pearB[9]));
pearB[9] = slew; slew = ((bassR - pearB[10]) + pearB[11])*freqMid*0.5;
pearB[10] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[10] + pearB[11]));
pearB[11] = slew; slew = ((bassL - pearB[12]) + pearB[13])*freqMid*0.5;
pearB[12] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[12] + pearB[13]));
pearB[13] = slew; slew = ((bassR - pearB[14]) + pearB[15])*freqMid*0.5;
pearB[14] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[14] + pearB[15]));
pearB[15] = slew; slew = ((bassL - pearB[16]) + pearB[17])*freqMid*0.5;
pearB[16] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[16] + pearB[17]));
pearB[17] = slew; slew = ((bassR - pearB[18]) + pearB[19])*freqMid*0.5;
pearB[18] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[18] + pearB[19]));
pearB[19] = slew;
double midL = inputSampleL - bassL;
double midR = inputSampleR - bassR;
//we now have three bands out of two pear filters
double w = 0.0; //filter into bands, apply the sin/cos to each band
double avg = 0.0; //for the treble band, we're applying mild filtering
if (overallscale > 1.1) {
avg = (trebleL+avgAL)*0.5; avgAL = trebleL; trebleL = avg;
avg = (trebleR+avgAR)*0.5; avgAR = trebleR; trebleR = avg;
if (overallscale > 2.1) {
avg = (trebleL+avgBL)*0.5; avgBL = trebleL; trebleL = avg;
avg = (trebleR+avgBR)*0.5; avgBR = trebleR; trebleR = avg;
}
}
if (fatTreble > 0.0) {
w = fatTreble; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 1.0) {
w = fatTreble-1.0; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 2.0) {
w = fatTreble-2.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
} //sine stages for EQ or compression
}
}
if (fatTreble < 0.0) {
if (trebleL > 1.0) trebleL = 1.0; if (trebleL < -1.0) trebleL = -1.0;
if (trebleR > 1.0) trebleR = 1.0; if (trebleR < -1.0) trebleR = -1.0;
w = -fatTreble; if (w > 1.0) w = 1.0;
if (trebleL > 0) trebleL = (trebleL*(1.0-w))+((1.0-cos(trebleL))*sin(w));
else trebleL = (trebleL*(1.0-w))+((-1.0+cos(-trebleL))*sin(w));
if (trebleR > 0) trebleR = (trebleR*(1.0-w))+((1.0-cos(trebleR))*sin(w));
else trebleR = (trebleR*(1.0-w))+((-1.0+cos(-trebleR))*sin(w));
} //cosine stages for EQ or expansion
if (overallscale > 1.1) {
avg = (trebleL+avgCL)*0.5; avgCL = trebleL; trebleL = avg;
avg = (trebleR+avgCR)*0.5; avgCR = trebleR; trebleR = avg;
}
//begin ResEQ2 Mid Boost
mpc++; if (mpc < 1 || mpc > 2001) mpc = 1;
mpkL[mpc] = midL;
mpkR[mpc] = midR;
double midMPeakL = 0.0;
double midMPeakR = 0.0;
for (int x = 0; x < maxMPeak; x++) {
int y = x*cycleEnd;
switch (cycleEnd)
{
case 1:
midMPeakL += (mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]);
midMPeakR += (mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]); break;
case 2:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); break;
case 3:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); break;
case 4:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); //break
}
}
midL = (midMPeakL*amountMPeak)+((1.5-amountMPeak>1.0)?midL:midL*(1.5-amountMPeak));
midR = (midMPeakR*amountMPeak)+((1.5-amountMPeak>1.0)?midR:midR*(1.5-amountMPeak));
//end ResEQ2 Mid Boost
if (bassL > 1.0) bassL = 1.0; if (bassL < -1.0) bassL = -1.0;
if (bassR > 1.0) bassR = 1.0; if (bassR < -1.0) bassR = -1.0;
if (bass > 0.0) {
w = bass; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.6);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.6);
if (bass > 1.0) {
w = bass-1.0; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.4);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.4);
if (bass > 2.0) {
w = bass-2.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.2);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.2);
} //sine stages for EQ or compression
}
}
if (bass < 0.0) {
w = -bass; if (w > 1.0) w = 1.0;
if (bassL > 0) bassL = (bassL*(1.0-w))+((1.0-cos(bassL))*sin(w));
else bassL = (bassL*(1.0-w))+((-1.0+cos(-bassL))*sin(w));
if (bassR > 0) bassR = (bassR*(1.0-w))+((1.0-cos(bassR))*sin(w));
else bassR = (bassR*(1.0-w))+((-1.0+cos(-bassR))*sin(w));
} //cosine stages for EQ or expansion
//the sin() is further restricting output when fully attenuated
//begin SubTight section
double subSampleL = bassL * 0.0046999;
double subSampleR = bassR * 0.0046999;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
bassL = bassL - (subSampleL*16.0);
bassR = bassR - (subSampleR*16.0);
//end SubTight section
inputSampleL = (bassL + midL + trebleL)*gainL;
inputSampleR = (bassR + midR + trebleR)*gainR;
//applies BitShiftPan pan section
//begin sin() style Channel processing
if (inputSampleL > 1.57079633) inputSampleL = 1.57079633;
if (inputSampleL < -1.57079633) inputSampleL = -1.57079633;
if (inputSampleR > 1.57079633) inputSampleR = 1.57079633;
if (inputSampleR < -1.57079633) inputSampleR = -1.57079633;
inputSampleL = sin(inputSampleL);
inputSampleR = sin(inputSampleR);
//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
*outputL = inputSampleL;
*outputR = inputSampleR;
//direct stereo out
inputL += 1;
inputR += 1;
outputL += 1;
outputR += 1;
}
return noErr;
}

View file

@ -0,0 +1 @@
_ConsoleMCChannelEntry

View file

@ -0,0 +1,157 @@
/*
* File: ConsoleMCChannel.h
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCChannelVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ConsoleMCChannel_h__
#define __ConsoleMCChannel_h__
#pragma mark ____ConsoleMCChannel Parameters
// parameters
static const float kDefaultValue_ParamOne = 0.5;
static const float kDefaultValue_ParamTwo = 0.25;
static const float kDefaultValue_ParamThree = 0.0;
static const float kDefaultValue_ParamFour = 0.5;
static const float kDefaultValue_ParamFive = 0.5;
static const float kDefaultValue_ParamSix = 0.5;
static CFStringRef kParameterOneName = CFSTR("Treble");
static CFStringRef kParameterTwoName = CFSTR("MidFreq");
static CFStringRef kParameterThreeName = CFSTR("MidPeak");
static CFStringRef kParameterFourName = CFSTR("Bass");
static CFStringRef kParameterFiveName = CFSTR("Pan");
static CFStringRef kParameterSixName = CFSTR("Fader");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
kParam_Two =1,
kParam_Three =2,
kParam_Four =3,
kParam_Five =4,
kParam_Six =5,
//Add your parameters here...
kNumberOfParameters=6
};
#pragma mark ____ConsoleMCChannel
class ConsoleMCChannel : public AUEffectBase
{
public:
ConsoleMCChannel(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ConsoleMCChannel () { delete mDebugDispatcher; }
#endif
virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement);
virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer, AudioBufferList & outBuffer,
UInt32 inFramesToProcess);
virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo);
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 kConsoleMCChannelVersion; }
private:
double avgAL;
double avgAR;
double avgBL;
double avgBR;
double avgCL;
double avgCR;
double subAL;
double subBL;
double subAR;
double subBR;
double pearA[18];
double pearB[22];
double mpkL[2005];
double mpkR[2005];
double f[66];
double prevfreqMPeak;
double prevamountMPeak;
int mpc;
double bassA;
double bassB;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ConsoleMCChannel.r
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCChannelVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ConsoleMCChannel 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ConsoleMCChannel~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ConsoleMCChannel
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ConsoleMCChannel_COMP_SUBTYPE
#define COMP_MANUF ConsoleMCChannel_COMP_MANF
#define VERSION kConsoleMCChannelVersion
#define NAME "Airwindows: ConsoleMCChannel"
#define DESCRIPTION "ConsoleMCChannel AU"
#define ENTRY_POINT "ConsoleMCChannelEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,155 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
311,
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,
188,
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 = 718749763;
PBXWorkspaceStateSaveDate = 718749763;
};
perUserProjectItems = {
8B966B8F2AC8D5390063C683 /* PBXTextBookmark */ = 8B966B8F2AC8D5390063C683 /* PBXTextBookmark */;
8BC5EA902AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA902AD744470007A2D0 /* PBXTextBookmark */;
8BC5EA912AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA912AD744470007A2D0 /* PBXTextBookmark */;
8BC5EA922AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA922AD744470007A2D0 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B966B8F2AC8D5390063C683 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */;
name = "ConsoleMCChannelVersion.h: 54";
rLen = 0;
rLoc = 2955;
rType = 0;
vrLen = 142;
vrLoc = 2867;
};
8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1344, 10404}}";
sepNavSelRange = "{15121, 9865}";
sepNavVisRange = "{24297, 1327}";
sepNavWindowFrame = "{{564, 38}, {876, 840}}";
};
};
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{2955, 0}";
sepNavVisRange = "{974, 2044}";
sepNavWindowFrame = "{{15, 38}, {1086, 835}}";
};
};
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 1336}";
};
};
8BC5EA902AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */;
name = "ConsoleMCChannel.cpp: 261";
rLen = 0;
rLoc = 11955;
rType = 0;
vrLen = 25;
vrLoc = 51;
};
8BC5EA912AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */;
name = "ConsoleMCChannel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 34;
vrLoc = 0;
};
8BC5EA922AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */;
name = "ConsoleMCChannel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 34;
vrLoc = 0;
};
8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1146, 3114}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 34}";
sepNavWindowFrame = "{{763, 43}, {1086, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */ = {
activeExec = 0;
};
}

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 /* ConsoleMCChannel.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ConsoleMCChannel.r */; };
8BA05A6B0720730100365D66 /* ConsoleMCChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */; };
8BA05A6E0720730100365D66 /* ConsoleMCChannelVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ConsoleMCChannelVersion.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 /* ConsoleMCChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.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 /* ConsoleMCChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleMCChannel.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ConsoleMCChannel.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ConsoleMCChannel.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ConsoleMCChannel.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ConsoleMCChannel.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCChannelVersion.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 /* ConsoleMCChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCChannel.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ConsoleMCChannel.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCChannel.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 /* ConsoleMCChannel */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ConsoleMCChannel;
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 /* ConsoleMCChannel.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */,
8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */,
8BA05A670720730100365D66 /* ConsoleMCChannel.exp */,
8BA05A680720730100365D66 /* ConsoleMCChannel.r */,
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.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 /* ConsoleMCChannelVersion.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 /* ConsoleMCChannel.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 /* ConsoleMCChannel */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ConsoleMCChannel" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCChannel;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ConsoleMCChannel;
productReference = 8D01CCD20486CAD60068D4B7 /* ConsoleMCChannel.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 "ConsoleMCChannel" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 089C166AFE841209C02AAC07 /* ConsoleMCChannel */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */,
);
};
/* 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 /* ConsoleMCChannel.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6B0720730100365D66 /* ConsoleMCChannel.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 = ConsoleMCChannel.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 = ConsoleMCChannel;
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
x86_64,
);
EXPORTED_SYMBOLS_FILE = ConsoleMCChannel.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 = ConsoleMCChannel;
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 "ConsoleMCChannel" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ConsoleMCChannel" */ = {
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: ConsoleMCChannelVersion.h
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 __ConsoleMCChannelVersion_h__
#define __ConsoleMCChannelVersion_h__
#ifdef DEBUG
#define kConsoleMCChannelVersion 0xFFFFFFFF
#else
#define kConsoleMCChannelVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ConsoleMCChannel_COMP_MANF 'Dthr'
#define ConsoleMCChannel_COMP_SUBTYPE 'cmcc'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#endif

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>Dthr</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
//
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
//
#include <CoreServices/CoreServices.h>

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,345 @@
/*
* File: ConsoleMCBuss.cpp
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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.
*
*/
/*=============================================================================
ConsoleMCBuss.cpp
=============================================================================*/
#include "ConsoleMCBuss.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AUDIOCOMPONENT_ENTRY(AUBaseFactory, ConsoleMCBuss)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ConsoleMCBuss
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ConsoleMCBuss::ConsoleMCBuss(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo )
{
ComponentResult result = noErr;
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
| kAudioUnitParameterFlag_IsReadable;
if (inScope == kAudioUnitScope_Global) {
switch(inParameterID)
{
case kParam_One:
AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// state that plugin supports only stereo-in/stereo-out processing
UInt32 ConsoleMCBuss::SupportedNumChannels(const AUChannelInfo ** outInfo)
{
if (outInfo != NULL)
{
static AUChannelInfo info;
info.inChannels = 2;
info.outChannels = 2;
*outInfo = &info;
}
return 1;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ConsoleMCBuss::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ConsoleMCBussEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ConsoleMCBussKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCBuss::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
for (int x = 0; x < gslew_total; x++) gslew[x] = 0.0;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCBuss::ProcessBufferLists
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OSStatus ConsoleMCBuss::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer,
AudioBufferList & outBuffer,
UInt32 inFramesToProcess)
{
Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData);
Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData);
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(GetParameter( kParam_One )); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
while (nSampleFrames-- > 0) {
double inputSampleL = *inputL;
double inputSampleR = *inputR;
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
double temp = (double)nSampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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
*outputL = inputSampleL;
*outputR = inputSampleR;
//direct stereo out
inputL += 1;
inputR += 1;
outputL += 1;
outputR += 1;
}
return noErr;
}

View file

@ -0,0 +1,2 @@
_ConsoleMCBussEntry
_ConsoleMCBussFactory

View file

@ -0,0 +1,185 @@
/*
* File: ConsoleMCBuss.h
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCBussVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ConsoleMCBuss_h__
#define __ConsoleMCBuss_h__
#pragma mark ____ConsoleMCBuss Parameters
// parameters
static const float kDefaultValue_ParamOne = 1.0;
static CFStringRef kParameterOneName = CFSTR("Master");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
//Add your parameters here...
kNumberOfParameters=1
};
#pragma mark ____ConsoleMCBuss
class ConsoleMCBuss : public AUEffectBase
{
public:
ConsoleMCBuss(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ConsoleMCBuss () { delete mDebugDispatcher; }
#endif
virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement);
virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer, AudioBufferList & outBuffer,
UInt32 inFramesToProcess);
virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo);
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 kConsoleMCBussVersion; }
private:
enum {
prevSampL1,
prevSampR1,
invSampL1,
invSampR1,
threshold1,
prevSampL2,
prevSampR2,
invSampL2,
invSampR2,
threshold2,
prevSampL3,
prevSampR3,
invSampL3,
invSampR3,
threshold3,
prevSampL4,
prevSampR4,
invSampL4,
invSampR4,
threshold4,
prevSampL5,
prevSampR5,
invSampL5,
invSampR5,
threshold5,
prevSampL6,
prevSampR6,
invSampL6,
invSampR6,
threshold6,
prevSampL7,
prevSampR7,
invSampL7,
invSampR7,
threshold7,
prevSampL8,
prevSampR8,
invSampL8,
invSampR8,
threshold8,
prevSampL9,
prevSampR9,
invSampL9,
invSampR9,
threshold9,
prevSampL10,
prevSampR10,
invSampL10,
invSampR10,
threshold10,
gslew_total
}; //fixed frequency pear filter for ultrasonics, stereo
double gslew[gslew_total]; //probably worth just using a number here
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ConsoleMCBuss.r
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCBussVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ConsoleMCBuss 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ConsoleMCBuss~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ConsoleMCBuss
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ConsoleMCBuss_COMP_SUBTYPE
#define COMP_MANUF ConsoleMCBuss_COMP_MANF
#define VERSION kConsoleMCBussVersion
#define NAME "Airwindows: ConsoleMCBuss"
#define DESCRIPTION "ConsoleMCBuss AU"
#define ENTRY_POINT "ConsoleMCBussEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,155 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* 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,
188,
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 = 718748917;
PBXWorkspaceStateSaveDate = 718748917;
};
perUserProjectItems = {
8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */ = 8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */;
8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */;
8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */;
8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */ = 8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1659, 6228}}";
sepNavSelRange = "{10341, 4034}";
sepNavVisRange = "{13504, 1509}";
sepNavWindowFrame = "{{558, 38}, {859, 840}}";
};
};
8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{2934, 0}";
sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{482, 3}, {1086, 835}}";
};
};
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 1336}";
};
};
8BB909FD2AD4CEAF005AFA8A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */;
name = "ConsoleMCBuss.h: 197";
rLen = 0;
rLoc = 5890;
rType = 0;
vrLen = 0;
vrLoc = 6030;
};
8BC5E9E62AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */;
name = "ConsoleMCBuss.cpp: 223";
rLen = 0;
rLoc = 9628;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC5E9E72AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */;
name = "ConsoleMCBussVersion.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC5E9E82AD73ECE0007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */;
name = "ConsoleMCBussVersion.h: 54";
rLen = 0;
rLoc = 2934;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1146, 3330}}";
sepNavSelRange = "{5443, 0}";
sepNavVisRange = "{2694, 1136}";
sepNavWindowFrame = "{{294, 38}, {1146, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,965 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8B0FD6C52AD8811300ACD69D /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD63D2AD8811300ACD69D /* CAExtAudioFile.h */; };
8B0FD6C62AD8811300ACD69D /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD63E2AD8811300ACD69D /* CACFMachPort.h */; };
8B0FD6C72AD8811300ACD69D /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD63F2AD8811300ACD69D /* CABool.h */; };
8B0FD6C82AD8811300ACD69D /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6402AD8811300ACD69D /* CAComponent.cpp */; };
8B0FD6C92AD8811300ACD69D /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6412AD8811300ACD69D /* CADebugger.h */; };
8B0FD6CA2AD8811300ACD69D /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6422AD8811300ACD69D /* CACFNumber.cpp */; };
8B0FD6CB2AD8811300ACD69D /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6432AD8811300ACD69D /* CAGuard.h */; };
8B0FD6CC2AD8811300ACD69D /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6442AD8811300ACD69D /* CAAtomic.h */; };
8B0FD6CD2AD8811300ACD69D /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6452AD8811300ACD69D /* CAStreamBasicDescription.h */; };
8B0FD6CE2AD8811300ACD69D /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6462AD8811300ACD69D /* CACFObject.h */; };
8B0FD6CF2AD8811300ACD69D /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6472AD8811300ACD69D /* CAStreamRangedDescription.h */; };
8B0FD6D02AD8811300ACD69D /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6482AD8811300ACD69D /* CATokenMap.h */; };
8B0FD6D12AD8811300ACD69D /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6492AD8811300ACD69D /* CAComponent.h */; };
8B0FD6D22AD8811300ACD69D /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD64A2AD8811300ACD69D /* CAAudioBufferList.h */; };
8B0FD6D32AD8811300ACD69D /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD64B2AD8811300ACD69D /* CAAudioUnit.h */; };
8B0FD6D42AD8811300ACD69D /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD64C2AD8811300ACD69D /* CAAUParameter.h */; };
8B0FD6D52AD8811300ACD69D /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD64D2AD8811300ACD69D /* CAException.h */; };
8B0FD6D62AD8811300ACD69D /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD64E2AD8811300ACD69D /* CAAUProcessor.cpp */; };
8B0FD6D72AD8811300ACD69D /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD64F2AD8811300ACD69D /* CAAUProcessor.h */; };
8B0FD6D82AD8811300ACD69D /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6502AD8811300ACD69D /* CAProcess.h */; };
8B0FD6D92AD8811300ACD69D /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6512AD8811300ACD69D /* CACFDictionary.h */; };
8B0FD6DA2AD8811300ACD69D /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6522AD8811300ACD69D /* CAPThread.h */; };
8B0FD6DB2AD8811300ACD69D /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6532AD8811300ACD69D /* CAAUParameter.cpp */; };
8B0FD6DC2AD8811300ACD69D /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6542AD8811300ACD69D /* CAAudioTimeStamp.h */; };
8B0FD6DD2AD8811300ACD69D /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6552AD8811300ACD69D /* CAFilePathUtils.cpp */; };
8B0FD6DE2AD8811300ACD69D /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6562AD8811300ACD69D /* CAAudioValueRange.h */; };
8B0FD6DF2AD8811300ACD69D /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6572AD8811300ACD69D /* CAVectorUnitTypes.h */; };
8B0FD6E02AD8811300ACD69D /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6582AD8811300ACD69D /* CAAudioChannelLayoutObject.cpp */; };
8B0FD6E12AD8811300ACD69D /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6592AD8811300ACD69D /* CAGuard.cpp */; };
8B0FD6E22AD8811300ACD69D /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD65A2AD8811300ACD69D /* CACFNumber.h */; };
8B0FD6E32AD8811300ACD69D /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD65B2AD8811300ACD69D /* CACFDistributedNotification.cpp */; };
8B0FD6E42AD8811300ACD69D /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD65C2AD8811300ACD69D /* CACFString.h */; };
8B0FD6E52AD8811300ACD69D /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD65D2AD8811300ACD69D /* CAAUMIDIMapManager.cpp */; };
8B0FD6E62AD8811300ACD69D /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD65E2AD8811300ACD69D /* CAComponentDescription.cpp */; };
8B0FD6E72AD8811300ACD69D /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD65F2AD8811300ACD69D /* CAHostTimeBase.h */; };
8B0FD6E82AD8811300ACD69D /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6602AD8811300ACD69D /* CADebugMacros.cpp */; };
8B0FD6E92AD8811300ACD69D /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6612AD8811300ACD69D /* CAAudioFileFormats.h */; };
8B0FD6EA2AD8811300ACD69D /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6622AD8811300ACD69D /* CAAUMIDIMapManager.h */; };
8B0FD6EB2AD8811300ACD69D /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6632AD8811300ACD69D /* CACFDictionary.cpp */; };
8B0FD6EC2AD8811300ACD69D /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6642AD8811300ACD69D /* CAMutex.h */; };
8B0FD6ED2AD8811300ACD69D /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6652AD8811300ACD69D /* CACFString.cpp */; };
8B0FD6EE2AD8811300ACD69D /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6662AD8811300ACD69D /* CASettingsStorage.h */; };
8B0FD6EF2AD8811300ACD69D /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6672AD8811300ACD69D /* CADebugPrintf.h */; };
8B0FD6F02AD8811300ACD69D /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6682AD8811300ACD69D /* CAXException.cpp */; };
8B0FD6F12AD8811300ACD69D /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6692AD8811300ACD69D /* CAAUMIDIMap.h */; };
8B0FD6F22AD8811300ACD69D /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD66A2AD8811300ACD69D /* AUParamInfo.h */; };
8B0FD6F32AD8811300ACD69D /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD66B2AD8811300ACD69D /* CABitOperations.h */; };
8B0FD6F42AD8811300ACD69D /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD66C2AD8811300ACD69D /* CACFPreferences.cpp */; };
8B0FD6F52AD8811300ACD69D /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD66D2AD8811300ACD69D /* CABundleLocker.h */; };
8B0FD6F62AD8811300ACD69D /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD66E2AD8811300ACD69D /* CAPropertyAddress.h */; };
8B0FD6F72AD8811300ACD69D /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD66F2AD8811300ACD69D /* CAXException.h */; };
8B0FD6F82AD8811300ACD69D /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6702AD8811300ACD69D /* CAAudioChannelLayout.cpp */; };
8B0FD6F92AD8811300ACD69D /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6712AD8811300ACD69D /* CAThreadSafeList.h */; };
8B0FD6FA2AD8811300ACD69D /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6722AD8811300ACD69D /* CAAudioUnitOutputCapturer.h */; };
8B0FD6FB2AD8811300ACD69D /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6732AD8811300ACD69D /* AUParamInfo.cpp */; };
8B0FD6FC2AD8811300ACD69D /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6742AD8811300ACD69D /* CASharedLibrary.cpp */; };
8B0FD6FD2AD8811300ACD69D /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6752AD8811300ACD69D /* CAAUMIDIMap.cpp */; };
8B0FD6FE2AD8811300ACD69D /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6762AD8811300ACD69D /* CALogMacros.h */; };
8B0FD6FF2AD8811300ACD69D /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6772AD8811300ACD69D /* CACFMessagePort.cpp */; };
8B0FD7002AD8811300ACD69D /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6782AD8811300ACD69D /* CARingBuffer.h */; };
8B0FD7012AD8811300ACD69D /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6792AD8811300ACD69D /* AUOutputBL.cpp */; };
8B0FD7022AD8811300ACD69D /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD67A2AD8811300ACD69D /* CABufferList.h */; };
8B0FD7032AD8811300ACD69D /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD67B2AD8811300ACD69D /* CASharedLibrary.h */; };
8B0FD7042AD8811300ACD69D /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD67C2AD8811300ACD69D /* CACFData.h */; };
8B0FD7052AD8811300ACD69D /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD67D2AD8811300ACD69D /* CAStreamRangedDescription.cpp */; };
8B0FD7062AD8811300ACD69D /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD67E2AD8811300ACD69D /* CAPThread.cpp */; };
8B0FD7072AD8811300ACD69D /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD67F2AD8811300ACD69D /* CAAutoDisposer.h */; };
8B0FD7082AD8811300ACD69D /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6802AD8811300ACD69D /* CACFPreferences.h */; };
8B0FD7092AD8811300ACD69D /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6812AD8811300ACD69D /* CAVectorUnit.cpp */; };
8B0FD70A2AD8811300ACD69D /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6822AD8811300ACD69D /* CAComponentDescription.h */; };
8B0FD70B2AD8811300ACD69D /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6832AD8811300ACD69D /* CADebugMacros.h */; };
8B0FD70C2AD8811300ACD69D /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6842AD8811300ACD69D /* AUOutputBL.h */; };
8B0FD70D2AD8811300ACD69D /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6852AD8811300ACD69D /* CADebugPrintf.cpp */; };
8B0FD70E2AD8811300ACD69D /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6862AD8811300ACD69D /* CARingBuffer.cpp */; };
8B0FD70F2AD8811300ACD69D /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6872AD8811300ACD69D /* CACFPlugIn.h */; };
8B0FD7102AD8811300ACD69D /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6882AD8811300ACD69D /* CASettingsStorage.cpp */; };
8B0FD7112AD8811300ACD69D /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6892AD8811300ACD69D /* CAMixMap.h */; };
8B0FD7122AD8811300ACD69D /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD68A2AD8811300ACD69D /* CACFDistributedNotification.h */; };
8B0FD7132AD8811300ACD69D /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD68B2AD8811300ACD69D /* CAFilePathUtils.h */; };
8B0FD7142AD8811300ACD69D /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD68C2AD8811300ACD69D /* CATink.h */; };
8B0FD7152AD8811300ACD69D /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD68D2AD8811300ACD69D /* CAStreamBasicDescription.cpp */; };
8B0FD7162AD8811300ACD69D /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD68E2AD8811300ACD69D /* CAAudioChannelLayout.h */; };
8B0FD7172AD8811300ACD69D /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD68F2AD8811300ACD69D /* CAProcess.cpp */; };
8B0FD7182AD8811300ACD69D /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6902AD8811300ACD69D /* CAHostTimeBase.cpp */; };
8B0FD7192AD8811300ACD69D /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6912AD8811300ACD69D /* CAPersistence.cpp */; };
8B0FD71A2AD8811300ACD69D /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6922AD8811300ACD69D /* CAAudioBufferList.cpp */; };
8B0FD71B2AD8811300ACD69D /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6932AD8811300ACD69D /* CAAudioTimeStamp.cpp */; };
8B0FD71C2AD8811300ACD69D /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6942AD8811300ACD69D /* CAVectorUnit.h */; };
8B0FD71D2AD8811300ACD69D /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6952AD8811300ACD69D /* CAByteOrder.h */; };
8B0FD71E2AD8811300ACD69D /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6962AD8811300ACD69D /* CACFArray.h */; };
8B0FD71F2AD8811300ACD69D /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6972AD8811300ACD69D /* CAAtomicStack.h */; };
8B0FD7202AD8811300ACD69D /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6982AD8811300ACD69D /* CAReferenceCounted.h */; };
8B0FD7212AD8811300ACD69D /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6992AD8811300ACD69D /* CACFMachPort.cpp */; };
8B0FD7222AD8811300ACD69D /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD69A2AD8811300ACD69D /* CABufferList.cpp */; };
8B0FD7232AD8811300ACD69D /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD69B2AD8811300ACD69D /* CAMutex.cpp */; };
8B0FD7242AD8811300ACD69D /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD69C2AD8811300ACD69D /* CADebugger.cpp */; };
8B0FD7252AD8811300ACD69D /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD69D2AD8811300ACD69D /* CABundleLocker.cpp */; };
8B0FD7262AD8811300ACD69D /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD69E2AD8811300ACD69D /* CAAudioFileFormats.cpp */; };
8B0FD7272AD8811300ACD69D /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD69F2AD8811300ACD69D /* CAMath.h */; };
8B0FD7282AD8811300ACD69D /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6A02AD8811300ACD69D /* CACFArray.cpp */; };
8B0FD7292AD8811300ACD69D /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6A12AD8811300ACD69D /* CACFMessagePort.h */; };
8B0FD72A2AD8811300ACD69D /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6A22AD8811300ACD69D /* CAAudioValueRange.cpp */; };
8B0FD72B2AD8811300ACD69D /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6A32AD8811300ACD69D /* CAAudioUnit.cpp */; };
8B0FD72C2AD8811300ACD69D /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6A72AD8811300ACD69D /* AUViewLocalizedStringKeys.h */; };
8B0FD72D2AD8811300ACD69D /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6A92AD8811300ACD69D /* ComponentBase.cpp */; };
8B0FD72E2AD8811300ACD69D /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6AA2AD8811300ACD69D /* AUScopeElement.cpp */; };
8B0FD72F2AD8811300ACD69D /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6AB2AD8811300ACD69D /* ComponentBase.h */; };
8B0FD7302AD8811300ACD69D /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6AC2AD8811300ACD69D /* AUBase.cpp */; };
8B0FD7312AD8811300ACD69D /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6AD2AD8811300ACD69D /* AUInputElement.h */; };
8B0FD7322AD8811300ACD69D /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6AE2AD8811300ACD69D /* AUBase.h */; };
8B0FD7332AD8811300ACD69D /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6AF2AD8811300ACD69D /* AUPlugInDispatch.h */; };
8B0FD7342AD8811300ACD69D /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6B02AD8811300ACD69D /* AUDispatch.h */; };
8B0FD7352AD8811300ACD69D /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6B12AD8811300ACD69D /* AUOutputElement.cpp */; };
8B0FD7372AD8811300ACD69D /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6B32AD8811300ACD69D /* AUPlugInDispatch.cpp */; };
8B0FD7382AD8811300ACD69D /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6B42AD8811300ACD69D /* AUOutputElement.h */; };
8B0FD7392AD8811300ACD69D /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6B52AD8811300ACD69D /* AUDispatch.cpp */; };
8B0FD73A2AD8811300ACD69D /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6B62AD8811300ACD69D /* AUScopeElement.h */; };
8B0FD73B2AD8811300ACD69D /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6B72AD8811300ACD69D /* AUInputElement.cpp */; };
8B0FD73C2AD8811300ACD69D /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6B92AD8811300ACD69D /* AUEffectBase.cpp */; };
8B0FD73D2AD8811300ACD69D /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6BA2AD8811300ACD69D /* AUEffectBase.h */; };
8B0FD73E2AD8811300ACD69D /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6BC2AD8811300ACD69D /* AUTimestampGenerator.h */; };
8B0FD73F2AD8811300ACD69D /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6BD2AD8811300ACD69D /* AUBaseHelper.cpp */; };
8B0FD7402AD8811300ACD69D /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6BE2AD8811300ACD69D /* AUSilentTimeout.h */; };
8B0FD7412AD8811300ACD69D /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6BF2AD8811300ACD69D /* AUInputFormatConverter.h */; };
8B0FD7422AD8811300ACD69D /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6C02AD8811300ACD69D /* AUTimestampGenerator.cpp */; };
8B0FD7432AD8811300ACD69D /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD6C12AD8811300ACD69D /* AUBuffer.cpp */; };
8B0FD7442AD8811300ACD69D /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6C22AD8811300ACD69D /* AUMIDIDefs.h */; };
8B0FD7452AD8811300ACD69D /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6C32AD8811300ACD69D /* AUBuffer.h */; };
8B0FD7462AD8811300ACD69D /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD6C42AD8811300ACD69D /* AUBaseHelper.h */; };
8BA05A6B0720730100365D66 /* ConsoleMCBuss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */; };
8BA05A6E0720730100365D66 /* ConsoleMCBussVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ConsoleMCBussVersion.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 /* ConsoleMCBuss.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */; };
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
8B0FD63D2AD8811300ACD69D /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
8B0FD63E2AD8811300ACD69D /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
8B0FD63F2AD8811300ACD69D /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
8B0FD6402AD8811300ACD69D /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
8B0FD6412AD8811300ACD69D /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
8B0FD6422AD8811300ACD69D /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
8B0FD6432AD8811300ACD69D /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
8B0FD6442AD8811300ACD69D /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
8B0FD6452AD8811300ACD69D /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8B0FD6462AD8811300ACD69D /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
8B0FD6472AD8811300ACD69D /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
8B0FD6482AD8811300ACD69D /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
8B0FD6492AD8811300ACD69D /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
8B0FD64A2AD8811300ACD69D /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
8B0FD64B2AD8811300ACD69D /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
8B0FD64C2AD8811300ACD69D /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8B0FD64D2AD8811300ACD69D /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
8B0FD64E2AD8811300ACD69D /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
8B0FD64F2AD8811300ACD69D /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
8B0FD6502AD8811300ACD69D /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
8B0FD6512AD8811300ACD69D /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
8B0FD6522AD8811300ACD69D /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
8B0FD6532AD8811300ACD69D /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8B0FD6542AD8811300ACD69D /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
8B0FD6552AD8811300ACD69D /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
8B0FD6562AD8811300ACD69D /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
8B0FD6572AD8811300ACD69D /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8B0FD6582AD8811300ACD69D /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
8B0FD6592AD8811300ACD69D /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
8B0FD65A2AD8811300ACD69D /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
8B0FD65B2AD8811300ACD69D /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
8B0FD65C2AD8811300ACD69D /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
8B0FD65D2AD8811300ACD69D /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
8B0FD65E2AD8811300ACD69D /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
8B0FD65F2AD8811300ACD69D /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
8B0FD6602AD8811300ACD69D /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
8B0FD6612AD8811300ACD69D /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
8B0FD6622AD8811300ACD69D /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
8B0FD6632AD8811300ACD69D /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
8B0FD6642AD8811300ACD69D /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8B0FD6652AD8811300ACD69D /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
8B0FD6662AD8811300ACD69D /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
8B0FD6672AD8811300ACD69D /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
8B0FD6682AD8811300ACD69D /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
8B0FD6692AD8811300ACD69D /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
8B0FD66A2AD8811300ACD69D /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
8B0FD66B2AD8811300ACD69D /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
8B0FD66C2AD8811300ACD69D /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
8B0FD66D2AD8811300ACD69D /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
8B0FD66E2AD8811300ACD69D /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
8B0FD66F2AD8811300ACD69D /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
8B0FD6702AD8811300ACD69D /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8B0FD6712AD8811300ACD69D /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
8B0FD6722AD8811300ACD69D /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
8B0FD6732AD8811300ACD69D /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
8B0FD6742AD8811300ACD69D /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
8B0FD6752AD8811300ACD69D /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
8B0FD6762AD8811300ACD69D /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
8B0FD6772AD8811300ACD69D /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
8B0FD6782AD8811300ACD69D /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
8B0FD6792AD8811300ACD69D /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
8B0FD67A2AD8811300ACD69D /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
8B0FD67B2AD8811300ACD69D /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
8B0FD67C2AD8811300ACD69D /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
8B0FD67D2AD8811300ACD69D /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
8B0FD67E2AD8811300ACD69D /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
8B0FD67F2AD8811300ACD69D /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
8B0FD6802AD8811300ACD69D /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
8B0FD6812AD8811300ACD69D /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
8B0FD6822AD8811300ACD69D /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
8B0FD6832AD8811300ACD69D /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
8B0FD6842AD8811300ACD69D /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
8B0FD6852AD8811300ACD69D /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
8B0FD6862AD8811300ACD69D /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
8B0FD6872AD8811300ACD69D /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
8B0FD6882AD8811300ACD69D /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
8B0FD6892AD8811300ACD69D /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
8B0FD68A2AD8811300ACD69D /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
8B0FD68B2AD8811300ACD69D /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
8B0FD68C2AD8811300ACD69D /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
8B0FD68D2AD8811300ACD69D /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8B0FD68E2AD8811300ACD69D /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8B0FD68F2AD8811300ACD69D /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
8B0FD6902AD8811300ACD69D /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
8B0FD6912AD8811300ACD69D /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
8B0FD6922AD8811300ACD69D /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
8B0FD6932AD8811300ACD69D /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
8B0FD6942AD8811300ACD69D /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
8B0FD6952AD8811300ACD69D /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
8B0FD6962AD8811300ACD69D /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
8B0FD6972AD8811300ACD69D /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
8B0FD6982AD8811300ACD69D /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
8B0FD6992AD8811300ACD69D /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
8B0FD69A2AD8811300ACD69D /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
8B0FD69B2AD8811300ACD69D /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8B0FD69C2AD8811300ACD69D /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
8B0FD69D2AD8811300ACD69D /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
8B0FD69E2AD8811300ACD69D /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
8B0FD69F2AD8811300ACD69D /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
8B0FD6A02AD8811300ACD69D /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
8B0FD6A12AD8811300ACD69D /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
8B0FD6A22AD8811300ACD69D /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
8B0FD6A32AD8811300ACD69D /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
8B0FD6A72AD8811300ACD69D /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8B0FD6A92AD8811300ACD69D /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8B0FD6AA2AD8811300ACD69D /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8B0FD6AB2AD8811300ACD69D /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8B0FD6AC2AD8811300ACD69D /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8B0FD6AD2AD8811300ACD69D /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8B0FD6AE2AD8811300ACD69D /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8B0FD6AF2AD8811300ACD69D /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
8B0FD6B02AD8811300ACD69D /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8B0FD6B12AD8811300ACD69D /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8B0FD6B22AD8811300ACD69D /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8B0FD6B32AD8811300ACD69D /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
8B0FD6B42AD8811300ACD69D /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8B0FD6B52AD8811300ACD69D /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8B0FD6B62AD8811300ACD69D /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8B0FD6B72AD8811300ACD69D /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8B0FD6B92AD8811300ACD69D /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8B0FD6BA2AD8811300ACD69D /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8B0FD6BC2AD8811300ACD69D /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8B0FD6BD2AD8811300ACD69D /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
8B0FD6BE2AD8811300ACD69D /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8B0FD6BF2AD8811300ACD69D /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8B0FD6C02AD8811300ACD69D /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
8B0FD6C12AD8811300ACD69D /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8B0FD6C22AD8811300ACD69D /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
8B0FD6C32AD8811300ACD69D /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8B0FD6C42AD8811300ACD69D /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
8B0FD7472AD881E100ACD69D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleMCBuss.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ConsoleMCBuss.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ConsoleMCBuss.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ConsoleMCBuss.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ConsoleMCBuss.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCBussVersion.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 /* ConsoleMCBuss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCBuss.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ConsoleMCBuss.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCBuss.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 /* ConsoleMCBuss */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ConsoleMCBuss;
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 = (
8B0FD63B2AD8811300ACD69D /* CA_SDK */,
8BA05A56072072A900365D66 /* AU Source */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ConsoleMCBuss.component */,
);
name = Products;
sourceTree = "<group>";
};
8B0FD63B2AD8811300ACD69D /* CA_SDK */ = {
isa = PBXGroup;
children = (
8B0FD63C2AD8811300ACD69D /* PublicUtility */,
8B0FD6A42AD8811300ACD69D /* AudioUnits */,
);
name = CA_SDK;
path = ../../../../CA_SDK;
sourceTree = "<group>";
};
8B0FD63C2AD8811300ACD69D /* PublicUtility */ = {
isa = PBXGroup;
children = (
8B0FD63D2AD8811300ACD69D /* CAExtAudioFile.h */,
8B0FD63E2AD8811300ACD69D /* CACFMachPort.h */,
8B0FD63F2AD8811300ACD69D /* CABool.h */,
8B0FD6402AD8811300ACD69D /* CAComponent.cpp */,
8B0FD6412AD8811300ACD69D /* CADebugger.h */,
8B0FD6422AD8811300ACD69D /* CACFNumber.cpp */,
8B0FD6432AD8811300ACD69D /* CAGuard.h */,
8B0FD6442AD8811300ACD69D /* CAAtomic.h */,
8B0FD6452AD8811300ACD69D /* CAStreamBasicDescription.h */,
8B0FD6462AD8811300ACD69D /* CACFObject.h */,
8B0FD6472AD8811300ACD69D /* CAStreamRangedDescription.h */,
8B0FD6482AD8811300ACD69D /* CATokenMap.h */,
8B0FD6492AD8811300ACD69D /* CAComponent.h */,
8B0FD64A2AD8811300ACD69D /* CAAudioBufferList.h */,
8B0FD64B2AD8811300ACD69D /* CAAudioUnit.h */,
8B0FD64C2AD8811300ACD69D /* CAAUParameter.h */,
8B0FD64D2AD8811300ACD69D /* CAException.h */,
8B0FD64E2AD8811300ACD69D /* CAAUProcessor.cpp */,
8B0FD64F2AD8811300ACD69D /* CAAUProcessor.h */,
8B0FD6502AD8811300ACD69D /* CAProcess.h */,
8B0FD6512AD8811300ACD69D /* CACFDictionary.h */,
8B0FD6522AD8811300ACD69D /* CAPThread.h */,
8B0FD6532AD8811300ACD69D /* CAAUParameter.cpp */,
8B0FD6542AD8811300ACD69D /* CAAudioTimeStamp.h */,
8B0FD6552AD8811300ACD69D /* CAFilePathUtils.cpp */,
8B0FD6562AD8811300ACD69D /* CAAudioValueRange.h */,
8B0FD6572AD8811300ACD69D /* CAVectorUnitTypes.h */,
8B0FD6582AD8811300ACD69D /* CAAudioChannelLayoutObject.cpp */,
8B0FD6592AD8811300ACD69D /* CAGuard.cpp */,
8B0FD65A2AD8811300ACD69D /* CACFNumber.h */,
8B0FD65B2AD8811300ACD69D /* CACFDistributedNotification.cpp */,
8B0FD65C2AD8811300ACD69D /* CACFString.h */,
8B0FD65D2AD8811300ACD69D /* CAAUMIDIMapManager.cpp */,
8B0FD65E2AD8811300ACD69D /* CAComponentDescription.cpp */,
8B0FD65F2AD8811300ACD69D /* CAHostTimeBase.h */,
8B0FD6602AD8811300ACD69D /* CADebugMacros.cpp */,
8B0FD6612AD8811300ACD69D /* CAAudioFileFormats.h */,
8B0FD6622AD8811300ACD69D /* CAAUMIDIMapManager.h */,
8B0FD6632AD8811300ACD69D /* CACFDictionary.cpp */,
8B0FD6642AD8811300ACD69D /* CAMutex.h */,
8B0FD6652AD8811300ACD69D /* CACFString.cpp */,
8B0FD6662AD8811300ACD69D /* CASettingsStorage.h */,
8B0FD6672AD8811300ACD69D /* CADebugPrintf.h */,
8B0FD6682AD8811300ACD69D /* CAXException.cpp */,
8B0FD6692AD8811300ACD69D /* CAAUMIDIMap.h */,
8B0FD66A2AD8811300ACD69D /* AUParamInfo.h */,
8B0FD66B2AD8811300ACD69D /* CABitOperations.h */,
8B0FD66C2AD8811300ACD69D /* CACFPreferences.cpp */,
8B0FD66D2AD8811300ACD69D /* CABundleLocker.h */,
8B0FD66E2AD8811300ACD69D /* CAPropertyAddress.h */,
8B0FD66F2AD8811300ACD69D /* CAXException.h */,
8B0FD6702AD8811300ACD69D /* CAAudioChannelLayout.cpp */,
8B0FD6712AD8811300ACD69D /* CAThreadSafeList.h */,
8B0FD6722AD8811300ACD69D /* CAAudioUnitOutputCapturer.h */,
8B0FD6732AD8811300ACD69D /* AUParamInfo.cpp */,
8B0FD6742AD8811300ACD69D /* CASharedLibrary.cpp */,
8B0FD6752AD8811300ACD69D /* CAAUMIDIMap.cpp */,
8B0FD6762AD8811300ACD69D /* CALogMacros.h */,
8B0FD6772AD8811300ACD69D /* CACFMessagePort.cpp */,
8B0FD6782AD8811300ACD69D /* CARingBuffer.h */,
8B0FD6792AD8811300ACD69D /* AUOutputBL.cpp */,
8B0FD67A2AD8811300ACD69D /* CABufferList.h */,
8B0FD67B2AD8811300ACD69D /* CASharedLibrary.h */,
8B0FD67C2AD8811300ACD69D /* CACFData.h */,
8B0FD67D2AD8811300ACD69D /* CAStreamRangedDescription.cpp */,
8B0FD67E2AD8811300ACD69D /* CAPThread.cpp */,
8B0FD67F2AD8811300ACD69D /* CAAutoDisposer.h */,
8B0FD6802AD8811300ACD69D /* CACFPreferences.h */,
8B0FD6812AD8811300ACD69D /* CAVectorUnit.cpp */,
8B0FD6822AD8811300ACD69D /* CAComponentDescription.h */,
8B0FD6832AD8811300ACD69D /* CADebugMacros.h */,
8B0FD6842AD8811300ACD69D /* AUOutputBL.h */,
8B0FD6852AD8811300ACD69D /* CADebugPrintf.cpp */,
8B0FD6862AD8811300ACD69D /* CARingBuffer.cpp */,
8B0FD6872AD8811300ACD69D /* CACFPlugIn.h */,
8B0FD6882AD8811300ACD69D /* CASettingsStorage.cpp */,
8B0FD6892AD8811300ACD69D /* CAMixMap.h */,
8B0FD68A2AD8811300ACD69D /* CACFDistributedNotification.h */,
8B0FD68B2AD8811300ACD69D /* CAFilePathUtils.h */,
8B0FD68C2AD8811300ACD69D /* CATink.h */,
8B0FD68D2AD8811300ACD69D /* CAStreamBasicDescription.cpp */,
8B0FD68E2AD8811300ACD69D /* CAAudioChannelLayout.h */,
8B0FD68F2AD8811300ACD69D /* CAProcess.cpp */,
8B0FD6902AD8811300ACD69D /* CAHostTimeBase.cpp */,
8B0FD6912AD8811300ACD69D /* CAPersistence.cpp */,
8B0FD6922AD8811300ACD69D /* CAAudioBufferList.cpp */,
8B0FD6932AD8811300ACD69D /* CAAudioTimeStamp.cpp */,
8B0FD6942AD8811300ACD69D /* CAVectorUnit.h */,
8B0FD6952AD8811300ACD69D /* CAByteOrder.h */,
8B0FD6962AD8811300ACD69D /* CACFArray.h */,
8B0FD6972AD8811300ACD69D /* CAAtomicStack.h */,
8B0FD6982AD8811300ACD69D /* CAReferenceCounted.h */,
8B0FD6992AD8811300ACD69D /* CACFMachPort.cpp */,
8B0FD69A2AD8811300ACD69D /* CABufferList.cpp */,
8B0FD69B2AD8811300ACD69D /* CAMutex.cpp */,
8B0FD69C2AD8811300ACD69D /* CADebugger.cpp */,
8B0FD69D2AD8811300ACD69D /* CABundleLocker.cpp */,
8B0FD69E2AD8811300ACD69D /* CAAudioFileFormats.cpp */,
8B0FD69F2AD8811300ACD69D /* CAMath.h */,
8B0FD6A02AD8811300ACD69D /* CACFArray.cpp */,
8B0FD6A12AD8811300ACD69D /* CACFMessagePort.h */,
8B0FD6A22AD8811300ACD69D /* CAAudioValueRange.cpp */,
8B0FD6A32AD8811300ACD69D /* CAAudioUnit.cpp */,
);
path = PublicUtility;
sourceTree = "<group>";
};
8B0FD6A42AD8811300ACD69D /* AudioUnits */ = {
isa = PBXGroup;
children = (
8B0FD6A52AD8811300ACD69D /* AUPublic */,
);
path = AudioUnits;
sourceTree = "<group>";
};
8B0FD6A52AD8811300ACD69D /* AUPublic */ = {
isa = PBXGroup;
children = (
8B0FD6A62AD8811300ACD69D /* AUViewBase */,
8B0FD6A82AD8811300ACD69D /* AUBase */,
8B0FD6B82AD8811300ACD69D /* OtherBases */,
8B0FD6BB2AD8811300ACD69D /* Utility */,
);
path = AUPublic;
sourceTree = "<group>";
};
8B0FD6A62AD8811300ACD69D /* AUViewBase */ = {
isa = PBXGroup;
children = (
8B0FD6A72AD8811300ACD69D /* AUViewLocalizedStringKeys.h */,
);
path = AUViewBase;
sourceTree = "<group>";
};
8B0FD6A82AD8811300ACD69D /* AUBase */ = {
isa = PBXGroup;
children = (
8B0FD6A92AD8811300ACD69D /* ComponentBase.cpp */,
8B0FD6AA2AD8811300ACD69D /* AUScopeElement.cpp */,
8B0FD6AB2AD8811300ACD69D /* ComponentBase.h */,
8B0FD6AC2AD8811300ACD69D /* AUBase.cpp */,
8B0FD6AD2AD8811300ACD69D /* AUInputElement.h */,
8B0FD6AE2AD8811300ACD69D /* AUBase.h */,
8B0FD6AF2AD8811300ACD69D /* AUPlugInDispatch.h */,
8B0FD6B02AD8811300ACD69D /* AUDispatch.h */,
8B0FD6B12AD8811300ACD69D /* AUOutputElement.cpp */,
8B0FD6B22AD8811300ACD69D /* AUResources.r */,
8B0FD6B32AD8811300ACD69D /* AUPlugInDispatch.cpp */,
8B0FD6B42AD8811300ACD69D /* AUOutputElement.h */,
8B0FD6B52AD8811300ACD69D /* AUDispatch.cpp */,
8B0FD6B62AD8811300ACD69D /* AUScopeElement.h */,
8B0FD6B72AD8811300ACD69D /* AUInputElement.cpp */,
);
path = AUBase;
sourceTree = "<group>";
};
8B0FD6B82AD8811300ACD69D /* OtherBases */ = {
isa = PBXGroup;
children = (
8B0FD6B92AD8811300ACD69D /* AUEffectBase.cpp */,
8B0FD6BA2AD8811300ACD69D /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8B0FD6BB2AD8811300ACD69D /* Utility */ = {
isa = PBXGroup;
children = (
8B0FD6BC2AD8811300ACD69D /* AUTimestampGenerator.h */,
8B0FD6BD2AD8811300ACD69D /* AUBaseHelper.cpp */,
8B0FD6BE2AD8811300ACD69D /* AUSilentTimeout.h */,
8B0FD6BF2AD8811300ACD69D /* AUInputFormatConverter.h */,
8B0FD6C02AD8811300ACD69D /* AUTimestampGenerator.cpp */,
8B0FD6C12AD8811300ACD69D /* AUBuffer.cpp */,
8B0FD6C22AD8811300ACD69D /* AUMIDIDefs.h */,
8B0FD6C32AD8811300ACD69D /* AUBuffer.h */,
8B0FD6C42AD8811300ACD69D /* AUBaseHelper.h */,
);
path = Utility;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ConsoleMCBuss.h */,
8BA05A660720730100365D66 /* ConsoleMCBuss.cpp */,
8BA05A670720730100365D66 /* ConsoleMCBuss.exp */,
8BA05A680720730100365D66 /* ConsoleMCBuss.r */,
8BA05A690720730100365D66 /* ConsoleMCBussVersion.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8B0FD6F52AD8811300ACD69D /* CABundleLocker.h in Headers */,
8B0FD7162AD8811300ACD69D /* CAAudioChannelLayout.h in Headers */,
8B0FD70C2AD8811300ACD69D /* AUOutputBL.h in Headers */,
8B0FD6E72AD8811300ACD69D /* CAHostTimeBase.h in Headers */,
8B0FD72F2AD8811300ACD69D /* ComponentBase.h in Headers */,
8B0FD71F2AD8811300ACD69D /* CAAtomicStack.h in Headers */,
8B0FD6DC2AD8811300ACD69D /* CAAudioTimeStamp.h in Headers */,
8B0FD6F92AD8811300ACD69D /* CAThreadSafeList.h in Headers */,
8B0FD6D42AD8811300ACD69D /* CAAUParameter.h in Headers */,
8B0FD7462AD8811300ACD69D /* AUBaseHelper.h in Headers */,
8B0FD73E2AD8811300ACD69D /* AUTimestampGenerator.h in Headers */,
8B0FD6EF2AD8811300ACD69D /* CADebugPrintf.h in Headers */,
8B0FD7292AD8811300ACD69D /* CACFMessagePort.h in Headers */,
8B0FD6D72AD8811300ACD69D /* CAAUProcessor.h in Headers */,
8B0FD6D32AD8811300ACD69D /* CAAudioUnit.h in Headers */,
8B0FD72C2AD8811300ACD69D /* AUViewLocalizedStringKeys.h in Headers */,
8B0FD7122AD8811300ACD69D /* CACFDistributedNotification.h in Headers */,
8B0FD6D12AD8811300ACD69D /* CAComponent.h in Headers */,
8B0FD6DF2AD8811300ACD69D /* CAVectorUnitTypes.h in Headers */,
8BA05A6E0720730100365D66 /* ConsoleMCBussVersion.h in Headers */,
8B0FD7132AD8811300ACD69D /* CAFilePathUtils.h in Headers */,
8B0FD6D52AD8811300ACD69D /* CAException.h in Headers */,
8B0FD6CC2AD8811300ACD69D /* CAAtomic.h in Headers */,
8B0FD6CB2AD8811300ACD69D /* CAGuard.h in Headers */,
8B0FD7312AD8811300ACD69D /* AUInputElement.h in Headers */,
8B0FD7082AD8811300ACD69D /* CACFPreferences.h in Headers */,
8B0FD71D2AD8811300ACD69D /* CAByteOrder.h in Headers */,
8B0FD7002AD8811300ACD69D /* CARingBuffer.h in Headers */,
8B0FD6C72AD8811300ACD69D /* CABool.h in Headers */,
8B0FD6EC2AD8811300ACD69D /* CAMutex.h in Headers */,
8B0FD7322AD8811300ACD69D /* AUBase.h in Headers */,
8BC6025C073B072D006C4272 /* ConsoleMCBuss.h in Headers */,
8B0FD6E42AD8811300ACD69D /* CACFString.h in Headers */,
8B0FD7032AD8811300ACD69D /* CASharedLibrary.h in Headers */,
8B0FD6D02AD8811300ACD69D /* CATokenMap.h in Headers */,
8B0FD6C52AD8811300ACD69D /* CAExtAudioFile.h in Headers */,
8B0FD6DA2AD8811300ACD69D /* CAPThread.h in Headers */,
8B0FD6F62AD8811300ACD69D /* CAPropertyAddress.h in Headers */,
8B0FD7202AD8811300ACD69D /* CAReferenceCounted.h in Headers */,
8B0FD7452AD8811300ACD69D /* AUBuffer.h in Headers */,
8B0FD7272AD8811300ACD69D /* CAMath.h in Headers */,
8B0FD7072AD8811300ACD69D /* CAAutoDisposer.h in Headers */,
8B0FD6CE2AD8811300ACD69D /* CACFObject.h in Headers */,
8B0FD6EE2AD8811300ACD69D /* CASettingsStorage.h in Headers */,
8B0FD6F72AD8811300ACD69D /* CAXException.h in Headers */,
8B0FD7142AD8811300ACD69D /* CATink.h in Headers */,
8B0FD7412AD8811300ACD69D /* AUInputFormatConverter.h in Headers */,
8B0FD71C2AD8811300ACD69D /* CAVectorUnit.h in Headers */,
8B0FD6D82AD8811300ACD69D /* CAProcess.h in Headers */,
8B0FD6DE2AD8811300ACD69D /* CAAudioValueRange.h in Headers */,
8B0FD6F32AD8811300ACD69D /* CABitOperations.h in Headers */,
8B0FD6E92AD8811300ACD69D /* CAAudioFileFormats.h in Headers */,
8B0FD6E22AD8811300ACD69D /* CACFNumber.h in Headers */,
8B0FD6FA2AD8811300ACD69D /* CAAudioUnitOutputCapturer.h in Headers */,
8B0FD70B2AD8811300ACD69D /* CADebugMacros.h in Headers */,
8B0FD7442AD8811300ACD69D /* AUMIDIDefs.h in Headers */,
8B0FD7042AD8811300ACD69D /* CACFData.h in Headers */,
8B0FD6CD2AD8811300ACD69D /* CAStreamBasicDescription.h in Headers */,
8B0FD7332AD8811300ACD69D /* AUPlugInDispatch.h in Headers */,
8B0FD6CF2AD8811300ACD69D /* CAStreamRangedDescription.h in Headers */,
8B0FD70F2AD8811300ACD69D /* CACFPlugIn.h in Headers */,
8B0FD6D22AD8811300ACD69D /* CAAudioBufferList.h in Headers */,
8B0FD6EA2AD8811300ACD69D /* CAAUMIDIMapManager.h in Headers */,
8B0FD73D2AD8811300ACD69D /* AUEffectBase.h in Headers */,
8B0FD6D92AD8811300ACD69D /* CACFDictionary.h in Headers */,
8B0FD73A2AD8811300ACD69D /* AUScopeElement.h in Headers */,
8B0FD70A2AD8811300ACD69D /* CAComponentDescription.h in Headers */,
8B0FD7402AD8811300ACD69D /* AUSilentTimeout.h in Headers */,
8B0FD7022AD8811300ACD69D /* CABufferList.h in Headers */,
8B0FD7342AD8811300ACD69D /* AUDispatch.h in Headers */,
8B0FD7382AD8811300ACD69D /* AUOutputElement.h in Headers */,
8B0FD6FE2AD8811300ACD69D /* CALogMacros.h in Headers */,
8B0FD6F22AD8811300ACD69D /* AUParamInfo.h in Headers */,
8B0FD7112AD8811300ACD69D /* CAMixMap.h in Headers */,
8B0FD71E2AD8811300ACD69D /* CACFArray.h in Headers */,
8B0FD6C62AD8811300ACD69D /* CACFMachPort.h in Headers */,
8B0FD6F12AD8811300ACD69D /* CAAUMIDIMap.h in Headers */,
8B0FD6C92AD8811300ACD69D /* CADebugger.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ConsoleMCBuss" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCBuss;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ConsoleMCBuss;
productReference = 8D01CCD20486CAD60068D4B7 /* ConsoleMCBuss.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 "ConsoleMCBuss" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
en,
fr,
Base,
de,
ja,
);
mainGroup = 089C166AFE841209C02AAC07 /* ConsoleMCBuss */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */,
);
};
/* 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 = (
8B0FD7012AD8811300ACD69D /* AUOutputBL.cpp in Sources */,
8B0FD7262AD8811300ACD69D /* CAAudioFileFormats.cpp in Sources */,
8B0FD7182AD8811300ACD69D /* CAHostTimeBase.cpp in Sources */,
8B0FD6F02AD8811300ACD69D /* CAXException.cpp in Sources */,
8B0FD71A2AD8811300ACD69D /* CAAudioBufferList.cpp in Sources */,
8B0FD6DD2AD8811300ACD69D /* CAFilePathUtils.cpp in Sources */,
8B0FD6DB2AD8811300ACD69D /* CAAUParameter.cpp in Sources */,
8B0FD6FD2AD8811300ACD69D /* CAAUMIDIMap.cpp in Sources */,
8B0FD72A2AD8811300ACD69D /* CAAudioValueRange.cpp in Sources */,
8B0FD7392AD8811300ACD69D /* AUDispatch.cpp in Sources */,
8B0FD6F42AD8811300ACD69D /* CACFPreferences.cpp in Sources */,
8B0FD7372AD8811300ACD69D /* AUPlugInDispatch.cpp in Sources */,
8B0FD6D62AD8811300ACD69D /* CAAUProcessor.cpp in Sources */,
8B0FD6EB2AD8811300ACD69D /* CACFDictionary.cpp in Sources */,
8B0FD73F2AD8811300ACD69D /* AUBaseHelper.cpp in Sources */,
8B0FD7242AD8811300ACD69D /* CADebugger.cpp in Sources */,
8B0FD6F82AD8811300ACD69D /* CAAudioChannelLayout.cpp in Sources */,
8B0FD6FB2AD8811300ACD69D /* AUParamInfo.cpp in Sources */,
8B0FD7192AD8811300ACD69D /* CAPersistence.cpp in Sources */,
8B0FD70D2AD8811300ACD69D /* CADebugPrintf.cpp in Sources */,
8B0FD7422AD8811300ACD69D /* AUTimestampGenerator.cpp in Sources */,
8B0FD7152AD8811300ACD69D /* CAStreamBasicDescription.cpp in Sources */,
8B0FD6E52AD8811300ACD69D /* CAAUMIDIMapManager.cpp in Sources */,
8B0FD7102AD8811300ACD69D /* CASettingsStorage.cpp in Sources */,
8B0FD7352AD8811300ACD69D /* AUOutputElement.cpp in Sources */,
8B0FD6E12AD8811300ACD69D /* CAGuard.cpp in Sources */,
8BA05A6B0720730100365D66 /* ConsoleMCBuss.cpp in Sources */,
8B0FD7232AD8811300ACD69D /* CAMutex.cpp in Sources */,
8B0FD73C2AD8811300ACD69D /* AUEffectBase.cpp in Sources */,
8B0FD7212AD8811300ACD69D /* CACFMachPort.cpp in Sources */,
8B0FD7302AD8811300ACD69D /* AUBase.cpp in Sources */,
8B0FD6FC2AD8811300ACD69D /* CASharedLibrary.cpp in Sources */,
8B0FD6E32AD8811300ACD69D /* CACFDistributedNotification.cpp in Sources */,
8B0FD6E62AD8811300ACD69D /* CAComponentDescription.cpp in Sources */,
8B0FD6ED2AD8811300ACD69D /* CACFString.cpp in Sources */,
8B0FD72D2AD8811300ACD69D /* ComponentBase.cpp in Sources */,
8B0FD70E2AD8811300ACD69D /* CARingBuffer.cpp in Sources */,
8B0FD72E2AD8811300ACD69D /* AUScopeElement.cpp in Sources */,
8B0FD72B2AD8811300ACD69D /* CAAudioUnit.cpp in Sources */,
8B0FD7282AD8811300ACD69D /* CACFArray.cpp in Sources */,
8B0FD7252AD8811300ACD69D /* CABundleLocker.cpp in Sources */,
8B0FD7172AD8811300ACD69D /* CAProcess.cpp in Sources */,
8B0FD7052AD8811300ACD69D /* CAStreamRangedDescription.cpp in Sources */,
8B0FD7062AD8811300ACD69D /* CAPThread.cpp in Sources */,
8B0FD6C82AD8811300ACD69D /* CAComponent.cpp in Sources */,
8B0FD6E02AD8811300ACD69D /* CAAudioChannelLayoutObject.cpp in Sources */,
8B0FD71B2AD8811300ACD69D /* CAAudioTimeStamp.cpp in Sources */,
8B0FD7222AD8811300ACD69D /* CABufferList.cpp in Sources */,
8B0FD6FF2AD8811300ACD69D /* CACFMessagePort.cpp in Sources */,
8B0FD7092AD8811300ACD69D /* CAVectorUnit.cpp in Sources */,
8B0FD73B2AD8811300ACD69D /* AUInputElement.cpp in Sources */,
8B0FD7432AD8811300ACD69D /* AUBuffer.cpp in Sources */,
8B0FD6E82AD8811300ACD69D /* CADebugMacros.cpp in Sources */,
8B0FD6CA2AD8811300ACD69D /* CACFNumber.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
8B0FD7472AD881E100ACD69D /* 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 = ConsoleMCBuss.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 = ConsoleMCBuss;
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 = ConsoleMCBuss.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 = ConsoleMCBuss;
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 "ConsoleMCBuss" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ConsoleMCBuss" */ = {
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 = "ConsoleMCBuss.component"
BlueprintName = "ConsoleMCBuss"
ReferencedContainer = "container:ConsoleMCBuss.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 = "ConsoleMCBuss.component"
BlueprintName = "ConsoleMCBuss"
ReferencedContainer = "container:ConsoleMCBuss.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>ConsoleMCBuss.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: ConsoleMCBussVersion.h
*
* Version: 1.0
*
* Created: 9/30/23
*
* Copyright: Copyright © 2023 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 __ConsoleMCBussVersion_h__
#define __ConsoleMCBussVersion_h__
#ifdef DEBUG
#define kConsoleMCBussVersion 0xFFFFFFFF
#else
#define kConsoleMCBussVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ConsoleMCBuss_COMP_MANF 'Dthr'
#define ConsoleMCBuss_COMP_SUBTYPE 'cmcb'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#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>cmcb</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>Dthr</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
//
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
//
#include <CoreServices/CoreServices.h>

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,570 @@
/*
* File: ConsoleMCChannel.cpp
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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.
*
*/
/*=============================================================================
ConsoleMCChannel.cpp
=============================================================================*/
#include "ConsoleMCChannel.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AUDIOCOMPONENT_ENTRY(AUBaseFactory, ConsoleMCChannel)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ConsoleMCChannel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ConsoleMCChannel::ConsoleMCChannel(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
SetParameter(kParam_Two, kDefaultValue_ParamTwo );
SetParameter(kParam_Three, kDefaultValue_ParamThree );
SetParameter(kParam_Four, kDefaultValue_ParamFour );
SetParameter(kParam_Five, kDefaultValue_ParamFive );
SetParameter(kParam_Six, kDefaultValue_ParamSix );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo )
{
ComponentResult result = noErr;
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
| kAudioUnitParameterFlag_IsReadable;
if (inScope == kAudioUnitScope_Global) {
switch(inParameterID)
{
case kParam_One:
AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
case kParam_Two:
AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
break;
case kParam_Three:
AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamThree;
break;
case kParam_Four:
AUBase::FillInParameterName (outParameterInfo, kParameterFourName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamFour;
break;
case kParam_Five:
AUBase::FillInParameterName (outParameterInfo, kParameterFiveName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamFive;
break;
case kParam_Six:
AUBase::FillInParameterName (outParameterInfo, kParameterSixName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 1.0;
outParameterInfo.defaultValue = kDefaultValue_ParamSix;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// state that plugin supports only stereo-in/stereo-out processing
UInt32 ConsoleMCChannel::SupportedNumChannels(const AUChannelInfo ** outInfo)
{
if (outInfo != NULL)
{
static AUChannelInfo info;
info.inChannels = 2;
info.outChannels = 2;
*outInfo = &info;
}
return 1;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// ConsoleMCChannel::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____ConsoleMCChannelEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ConsoleMCChannelKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult ConsoleMCChannel::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
avgAL = avgAR = avgBL = avgBR = avgCL = avgCR = 0.0;
for (int x = 0; x < 17; x++) pearA[x] = 0.0;
for (int x = 0; x < 21; x++) pearB[x] = 0.0;
for(int count = 0; count < 2004; count++) {mpkL[count] = 0.0; mpkR[count] = 0.0;}
for(int count = 0; count < 65; count++) {f[count] = 0.0;}
prevfreqMPeak = -1;
prevamountMPeak = -1;
mpc = 1;
subAL = subAR = subBL = subBR = 0.0;
bassA = bassB = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ConsoleMCChannel::ProcessBufferLists
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OSStatus ConsoleMCChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer,
AudioBufferList & outBuffer,
UInt32 inFramesToProcess)
{
Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData);
Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData);
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate(); //will be over 1.0848 when over 48k
int cycleEnd = floor(overallscale);
if (cycleEnd < 1) cycleEnd = 1;
if (cycleEnd > 3) cycleEnd = 3;
double fatTreble = (GetParameter( kParam_One )*6.0)-3.0;
bassA = bassB;
bassB = (GetParameter( kParam_Four )*6.0)-3.0;
//these should stack to go up to -3.0 to 3.0
if (fatTreble < 0.0) fatTreble /= 3.0;
if (bassB < 0.0) bassB /= 3.0;
//and then become -1.0 to 3.0;
//there will be successive sin/cos stages w. dry/wet in these
double freqTreble = 0.853;
double freqMid = 0.026912;
switch (cycleEnd)
{
case 1: //base sample rate, no change
break;
case 2: //96k tier
freqTreble = 0.4265;
freqMid = 0.013456;
break;
case 3: //192k tier
freqTreble = 0.21325;
freqMid = 0.006728;
break;
}
//begin ResEQ2 Mid Boost
double freqMPeak = pow(GetParameter( kParam_Two )+0.16,3);
double amountMPeak = pow(GetParameter( kParam_Three ),2);
int maxMPeak = (amountMPeak*63.0)+1;
if ((freqMPeak != prevfreqMPeak)||(amountMPeak != prevamountMPeak)) {
for (int x = 0; x < maxMPeak; x++) {
if (((double)x*freqMPeak) < M_PI_4) f[x] = sin(((double)x*freqMPeak)*4.0)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
else f[x] = cos((double)x*freqMPeak)*freqMPeak*sin(((double)(maxMPeak-x)/(double)maxMPeak)*M_PI_2);
}
prevfreqMPeak = freqMPeak; prevamountMPeak = amountMPeak;
}//end ResEQ2 Mid Boost
int bitshiftL = 0;
int bitshiftR = 0;
double panControl = (GetParameter( kParam_Five )*2.0)-1.0; //-1.0 to 1.0
double panAttenuation = (1.0-fabs(panControl));
int panBits = 20; //start centered
if (panAttenuation > 0.0) panBits = floor(1.0 / panAttenuation);
if (panControl > 0.25) bitshiftL += panBits;
if (panControl < -0.25) bitshiftR += panBits;
if (bitshiftL < 0) bitshiftL = 0; if (bitshiftL > 17) bitshiftL = 17;
if (bitshiftR < 0) bitshiftR = 0; if (bitshiftR > 17) bitshiftR = 17;
double gainL = 1.0;
double gainR = 1.0;
switch (bitshiftL)
{
case 17: gainL = 0.0; break;
case 16: gainL = 0.0000152587890625; break;
case 15: gainL = 0.000030517578125; break;
case 14: gainL = 0.00006103515625; break;
case 13: gainL = 0.0001220703125; break;
case 12: gainL = 0.000244140625; break;
case 11: gainL = 0.00048828125; break;
case 10: gainL = 0.0009765625; break;
case 9: gainL = 0.001953125; break;
case 8: gainL = 0.00390625; break;
case 7: gainL = 0.0078125; break;
case 6: gainL = 0.015625; break;
case 5: gainL = 0.03125; break;
case 4: gainL = 0.0625; break;
case 3: gainL = 0.125; break;
case 2: gainL = 0.25; break;
case 1: gainL = 0.5; break;
case 0: break;
}
switch (bitshiftR)
{
case 17: gainR = 0.0; break;
case 16: gainR = 0.0000152587890625; break;
case 15: gainR = 0.000030517578125; break;
case 14: gainR = 0.00006103515625; break;
case 13: gainR = 0.0001220703125; break;
case 12: gainR = 0.000244140625; break;
case 11: gainR = 0.00048828125; break;
case 10: gainR = 0.0009765625; break;
case 9: gainR = 0.001953125; break;
case 8: gainR = 0.00390625; break;
case 7: gainR = 0.0078125; break;
case 6: gainR = 0.015625; break;
case 5: gainR = 0.03125; break;
case 4: gainR = 0.0625; break;
case 3: gainR = 0.125; break;
case 2: gainR = 0.25; break;
case 1: gainR = 0.5; break;
case 0: break;
}
gainA = gainB;
gainB = GetParameter( kParam_Six )*2.0; //smoothed master fader from Z2 filters
//BitShiftGain pre gain trim goes here
while (nSampleFrames-- > 0) {
double inputSampleL = *inputL;
double inputSampleR = *inputR;
if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17;
if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17;
double temp = (double)nSampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
double bass = (bassA*temp)+(bassB*(1.0-temp));
inputSampleL *= gain;
inputSampleR *= gain;
//for MCI consoles, the fader is before the EQ, which overdrives easily.
//so we put the main fader here.
//begin Pear filter stages
double bassL = inputSampleL;
double bassR = inputSampleR;
double slew = ((bassL - pearA[0]) + pearA[1])*freqTreble*0.5;
pearA[0] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[0] + pearA[1]));
pearA[1] = slew; slew = ((bassR - pearA[2]) + pearA[3])*freqTreble*0.5;
pearA[2] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[2] + pearA[3]));
pearA[3] = slew; slew = ((bassL - pearA[4]) + pearA[5])*freqTreble*0.5;
pearA[4] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[4] + pearA[5]));
pearA[5] = slew; slew = ((bassR - pearA[6]) + pearA[7])*freqTreble*0.5;
pearA[6] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[6] + pearA[7]));
pearA[7] = slew; slew = ((bassL - pearA[8]) + pearA[9])*freqTreble*0.5;
pearA[8] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[8] + pearA[9]));
pearA[9] = slew; slew = ((bassR - pearA[10]) + pearA[11])*freqTreble*0.5;
pearA[10] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[10] + pearA[11]));
pearA[11] = slew; slew = ((bassL - pearA[12]) + pearA[13])*freqTreble*0.5;
pearA[12] = bassL = (freqTreble * bassL) + ((1.0-freqTreble) * (pearA[12] + pearA[13]));
pearA[13] = slew; slew = ((bassR - pearA[14]) + pearA[15])*freqTreble*0.5;
pearA[14] = bassR = (freqTreble * bassR) + ((1.0-freqTreble) * (pearA[14] + pearA[15]));
pearA[15] = slew;
//unrolled mid/treble crossover (called bass to use fewer variables)
double trebleL = inputSampleL - bassL; inputSampleL = bassL;
double trebleR = inputSampleR - bassR; inputSampleR = bassR;
//at this point 'bass' is actually still mid and bass
slew = ((bassL - pearB[0]) + pearB[1])*freqMid*0.5;
pearB[0] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[0] + pearB[1]));
pearB[1] = slew; slew = ((bassR - pearB[2]) + pearB[3])*freqMid*0.5;
pearB[2] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[2] + pearB[3]));
pearB[3] = slew; slew = ((bassL - pearB[4]) + pearB[5])*freqMid*0.5;
pearB[4] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[4] + pearB[5]));
pearB[5] = slew; slew = ((bassR - pearB[6]) + pearB[7])*freqMid*0.5;
pearB[6] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[6] + pearB[7]));
pearB[7] = slew; slew = ((bassL - pearB[8]) + pearB[9])*freqMid*0.5;
pearB[8] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[8] + pearB[9]));
pearB[9] = slew; slew = ((bassR - pearB[10]) + pearB[11])*freqMid*0.5;
pearB[10] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[10] + pearB[11]));
pearB[11] = slew; slew = ((bassL - pearB[12]) + pearB[13])*freqMid*0.5;
pearB[12] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[12] + pearB[13]));
pearB[13] = slew; slew = ((bassR - pearB[14]) + pearB[15])*freqMid*0.5;
pearB[14] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[14] + pearB[15]));
pearB[15] = slew; slew = ((bassL - pearB[16]) + pearB[17])*freqMid*0.5;
pearB[16] = bassL = (freqMid * bassL) + ((1.0-freqMid) * (pearB[16] + pearB[17]));
pearB[17] = slew; slew = ((bassR - pearB[18]) + pearB[19])*freqMid*0.5;
pearB[18] = bassR = (freqMid * bassR) + ((1.0-freqMid) * (pearB[18] + pearB[19]));
pearB[19] = slew;
double midL = inputSampleL - bassL;
double midR = inputSampleR - bassR;
//we now have three bands out of two pear filters
double w = 0.0; //filter into bands, apply the sin/cos to each band
double avg = 0.0; //for the treble band, we're applying mild filtering
if (overallscale > 1.1) {
avg = (trebleL+avgAL)*0.5; avgAL = trebleL; trebleL = avg;
avg = (trebleR+avgAR)*0.5; avgAR = trebleR; trebleR = avg;
if (overallscale > 2.1) {
avg = (trebleL+avgBL)*0.5; avgBL = trebleL; trebleL = avg;
avg = (trebleR+avgBR)*0.5; avgBR = trebleR; trebleR = avg;
}
}
if (fatTreble > 0.0) {
w = fatTreble; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 1.0) {
w = fatTreble-1.0; if (w > 1.0) w = 1.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
if (fatTreble > 2.0) {
w = fatTreble-2.0;
trebleL = (trebleL*(1.0-w)) + (sin(trebleL*M_PI_2)*w);
trebleR = (trebleR*(1.0-w)) + (sin(trebleR*M_PI_2)*w);
} //sine stages for EQ or compression
}
}
if (fatTreble < 0.0) {
if (trebleL > 1.0) trebleL = 1.0; if (trebleL < -1.0) trebleL = -1.0;
if (trebleR > 1.0) trebleR = 1.0; if (trebleR < -1.0) trebleR = -1.0;
w = -fatTreble; if (w > 1.0) w = 1.0;
if (trebleL > 0) trebleL = (trebleL*(1.0-w))+((1.0-cos(trebleL))*sin(w));
else trebleL = (trebleL*(1.0-w))+((-1.0+cos(-trebleL))*sin(w));
if (trebleR > 0) trebleR = (trebleR*(1.0-w))+((1.0-cos(trebleR))*sin(w));
else trebleR = (trebleR*(1.0-w))+((-1.0+cos(-trebleR))*sin(w));
} //cosine stages for EQ or expansion
if (overallscale > 1.1) {
avg = (trebleL+avgCL)*0.5; avgCL = trebleL; trebleL = avg;
avg = (trebleR+avgCR)*0.5; avgCR = trebleR; trebleR = avg;
}
//begin ResEQ2 Mid Boost
mpc++; if (mpc < 1 || mpc > 2001) mpc = 1;
mpkL[mpc] = midL;
mpkR[mpc] = midR;
double midMPeakL = 0.0;
double midMPeakR = 0.0;
for (int x = 0; x < maxMPeak; x++) {
int y = x*cycleEnd;
switch (cycleEnd)
{
case 1:
midMPeakL += (mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]);
midMPeakR += (mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x]); break;
case 2:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.5); break;
case 3:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.333); break;
case 4:
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); y--;
midMPeakL += ((mpkL[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25);
midMPeakR += ((mpkR[(mpc-y)+((mpc-y < 1)?2001:0)] * f[x])*0.25); //break
}
}
midL = (midMPeakL*amountMPeak)+((1.5-amountMPeak>1.0)?midL:midL*(1.5-amountMPeak));
midR = (midMPeakR*amountMPeak)+((1.5-amountMPeak>1.0)?midR:midR*(1.5-amountMPeak));
//end ResEQ2 Mid Boost
if (bassL > 1.0) bassL = 1.0; if (bassL < -1.0) bassL = -1.0;
if (bassR > 1.0) bassR = 1.0; if (bassR < -1.0) bassR = -1.0;
if (bass > 0.0) {
w = bass; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.6);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.6);
if (bass > 1.0) {
w = bass-1.0; if (w > 1.0) w = 1.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.4);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.4);
if (bass > 2.0) {
w = bass-2.0;
bassL = (bassL*(1.0-w)) + (sin(bassL*M_PI_2)*w*1.2);
bassR = (bassR*(1.0-w)) + (sin(bassR*M_PI_2)*w*1.2);
} //sine stages for EQ or compression
}
}
if (bass < 0.0) {
w = -bass; if (w > 1.0) w = 1.0;
if (bassL > 0) bassL = (bassL*(1.0-w))+((1.0-cos(bassL))*sin(w));
else bassL = (bassL*(1.0-w))+((-1.0+cos(-bassL))*sin(w));
if (bassR > 0) bassR = (bassR*(1.0-w))+((1.0-cos(bassR))*sin(w));
else bassR = (bassR*(1.0-w))+((-1.0+cos(-bassR))*sin(w));
} //cosine stages for EQ or expansion
//the sin() is further restricting output when fully attenuated
//begin SubTight section
double subSampleL = bassL * 0.0046999;
double subSampleR = bassR * 0.0046999;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
bassL = bassL - (subSampleL*16.0);
bassR = bassR - (subSampleR*16.0);
//end SubTight section
inputSampleL = (bassL + midL + trebleL)*gainL;
inputSampleR = (bassR + midR + trebleR)*gainR;
//applies BitShiftPan pan section
//begin sin() style Channel processing
if (inputSampleL > 1.57079633) inputSampleL = 1.57079633;
if (inputSampleL < -1.57079633) inputSampleL = -1.57079633;
if (inputSampleR > 1.57079633) inputSampleR = 1.57079633;
if (inputSampleR < -1.57079633) inputSampleR = -1.57079633;
inputSampleL = sin(inputSampleL);
inputSampleR = sin(inputSampleR);
//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
*outputL = inputSampleL;
*outputR = inputSampleR;
//direct stereo out
inputL += 1;
inputR += 1;
outputL += 1;
outputR += 1;
}
return noErr;
}

View file

@ -0,0 +1,2 @@
_ConsoleMCChannelEntry
_ConsoleMCChannelFactory

View file

@ -0,0 +1,157 @@
/*
* File: ConsoleMCChannel.h
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCChannelVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __ConsoleMCChannel_h__
#define __ConsoleMCChannel_h__
#pragma mark ____ConsoleMCChannel Parameters
// parameters
static const float kDefaultValue_ParamOne = 0.5;
static const float kDefaultValue_ParamTwo = 0.25;
static const float kDefaultValue_ParamThree = 0.0;
static const float kDefaultValue_ParamFour = 0.5;
static const float kDefaultValue_ParamFive = 0.5;
static const float kDefaultValue_ParamSix = 0.5;
static CFStringRef kParameterOneName = CFSTR("Treble");
static CFStringRef kParameterTwoName = CFSTR("MidFreq");
static CFStringRef kParameterThreeName = CFSTR("MidPeak");
static CFStringRef kParameterFourName = CFSTR("Bass");
static CFStringRef kParameterFiveName = CFSTR("Pan");
static CFStringRef kParameterSixName = CFSTR("Fader");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
kParam_Two =1,
kParam_Three =2,
kParam_Four =3,
kParam_Five =4,
kParam_Six =5,
//Add your parameters here...
kNumberOfParameters=6
};
#pragma mark ____ConsoleMCChannel
class ConsoleMCChannel : public AUEffectBase
{
public:
ConsoleMCChannel(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~ConsoleMCChannel () { delete mDebugDispatcher; }
#endif
virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement);
virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer, AudioBufferList & outBuffer,
UInt32 inFramesToProcess);
virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo);
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 kConsoleMCChannelVersion; }
private:
double avgAL;
double avgAR;
double avgBL;
double avgBR;
double avgCL;
double avgCR;
double subAL;
double subBL;
double subAR;
double subBR;
double pearA[18];
double pearB[22];
double mpkL[2005];
double mpkR[2005];
double f[66];
double prevfreqMPeak;
double prevamountMPeak;
int mpc;
double bassA;
double bassB;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: ConsoleMCChannel.r
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 "ConsoleMCChannelVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_ConsoleMCChannel 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ConsoleMCChannel~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_ConsoleMCChannel
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE ConsoleMCChannel_COMP_SUBTYPE
#define COMP_MANUF ConsoleMCChannel_COMP_MANF
#define VERSION kConsoleMCChannelVersion
#define NAME "Airwindows: ConsoleMCChannel"
#define DESCRIPTION "ConsoleMCChannel AU"
#define ENTRY_POINT "ConsoleMCChannelEntry"
#include "AUResources.r"

View file

@ -0,0 +1,155 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
311,
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,
188,
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 = 718749763;
PBXWorkspaceStateSaveDate = 718749763;
};
perUserProjectItems = {
8B966B8F2AC8D5390063C683 /* PBXTextBookmark */ = 8B966B8F2AC8D5390063C683 /* PBXTextBookmark */;
8BC5EA902AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA902AD744470007A2D0 /* PBXTextBookmark */;
8BC5EA912AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA912AD744470007A2D0 /* PBXTextBookmark */;
8BC5EA922AD744470007A2D0 /* PBXTextBookmark */ = 8BC5EA922AD744470007A2D0 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8B966B8F2AC8D5390063C683 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */;
name = "ConsoleMCChannelVersion.h: 54";
rLen = 0;
rLoc = 2955;
rType = 0;
vrLen = 142;
vrLoc = 2867;
};
8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1344, 10404}}";
sepNavSelRange = "{15121, 9865}";
sepNavVisRange = "{24297, 1327}";
sepNavWindowFrame = "{{564, 38}, {876, 840}}";
};
};
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
sepNavSelRange = "{2955, 0}";
sepNavVisRange = "{974, 2044}";
sepNavWindowFrame = "{{15, 38}, {1086, 835}}";
};
};
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 1336}";
};
};
8BC5EA902AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */;
name = "ConsoleMCChannel.cpp: 261";
rLen = 0;
rLoc = 11955;
rType = 0;
vrLen = 25;
vrLoc = 51;
};
8BC5EA912AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */;
name = "ConsoleMCChannel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 34;
vrLoc = 0;
};
8BC5EA922AD744470007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */;
name = "ConsoleMCChannel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 34;
vrLoc = 0;
};
8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1146, 3114}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 34}";
sepNavWindowFrame = "{{763, 43}, {1086, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,965 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8B0FD7D22AD8825300ACD69D /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD74A2AD8825300ACD69D /* CAExtAudioFile.h */; };
8B0FD7D32AD8825300ACD69D /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD74B2AD8825300ACD69D /* CACFMachPort.h */; };
8B0FD7D42AD8825300ACD69D /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD74C2AD8825300ACD69D /* CABool.h */; };
8B0FD7D52AD8825300ACD69D /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD74D2AD8825300ACD69D /* CAComponent.cpp */; };
8B0FD7D62AD8825300ACD69D /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD74E2AD8825300ACD69D /* CADebugger.h */; };
8B0FD7D72AD8825300ACD69D /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD74F2AD8825300ACD69D /* CACFNumber.cpp */; };
8B0FD7D82AD8825300ACD69D /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7502AD8825300ACD69D /* CAGuard.h */; };
8B0FD7D92AD8825300ACD69D /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7512AD8825300ACD69D /* CAAtomic.h */; };
8B0FD7DA2AD8825300ACD69D /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7522AD8825300ACD69D /* CAStreamBasicDescription.h */; };
8B0FD7DB2AD8825300ACD69D /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7532AD8825300ACD69D /* CACFObject.h */; };
8B0FD7DC2AD8825300ACD69D /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7542AD8825300ACD69D /* CAStreamRangedDescription.h */; };
8B0FD7DD2AD8825300ACD69D /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7552AD8825300ACD69D /* CATokenMap.h */; };
8B0FD7DE2AD8825300ACD69D /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7562AD8825300ACD69D /* CAComponent.h */; };
8B0FD7DF2AD8825300ACD69D /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7572AD8825300ACD69D /* CAAudioBufferList.h */; };
8B0FD7E02AD8825300ACD69D /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7582AD8825300ACD69D /* CAAudioUnit.h */; };
8B0FD7E12AD8825300ACD69D /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7592AD8825300ACD69D /* CAAUParameter.h */; };
8B0FD7E22AD8825300ACD69D /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD75A2AD8825300ACD69D /* CAException.h */; };
8B0FD7E32AD8825300ACD69D /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD75B2AD8825300ACD69D /* CAAUProcessor.cpp */; };
8B0FD7E42AD8825300ACD69D /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD75C2AD8825300ACD69D /* CAAUProcessor.h */; };
8B0FD7E52AD8825300ACD69D /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD75D2AD8825300ACD69D /* CAProcess.h */; };
8B0FD7E62AD8825300ACD69D /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD75E2AD8825300ACD69D /* CACFDictionary.h */; };
8B0FD7E72AD8825300ACD69D /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD75F2AD8825300ACD69D /* CAPThread.h */; };
8B0FD7E82AD8825300ACD69D /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7602AD8825300ACD69D /* CAAUParameter.cpp */; };
8B0FD7E92AD8825300ACD69D /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7612AD8825300ACD69D /* CAAudioTimeStamp.h */; };
8B0FD7EA2AD8825300ACD69D /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7622AD8825300ACD69D /* CAFilePathUtils.cpp */; };
8B0FD7EB2AD8825300ACD69D /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7632AD8825300ACD69D /* CAAudioValueRange.h */; };
8B0FD7EC2AD8825300ACD69D /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7642AD8825300ACD69D /* CAVectorUnitTypes.h */; };
8B0FD7ED2AD8825300ACD69D /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7652AD8825300ACD69D /* CAAudioChannelLayoutObject.cpp */; };
8B0FD7EE2AD8825300ACD69D /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7662AD8825300ACD69D /* CAGuard.cpp */; };
8B0FD7EF2AD8825300ACD69D /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7672AD8825300ACD69D /* CACFNumber.h */; };
8B0FD7F02AD8825300ACD69D /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7682AD8825300ACD69D /* CACFDistributedNotification.cpp */; };
8B0FD7F12AD8825300ACD69D /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7692AD8825300ACD69D /* CACFString.h */; };
8B0FD7F22AD8825300ACD69D /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD76A2AD8825300ACD69D /* CAAUMIDIMapManager.cpp */; };
8B0FD7F32AD8825300ACD69D /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD76B2AD8825300ACD69D /* CAComponentDescription.cpp */; };
8B0FD7F42AD8825300ACD69D /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD76C2AD8825300ACD69D /* CAHostTimeBase.h */; };
8B0FD7F52AD8825300ACD69D /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD76D2AD8825300ACD69D /* CADebugMacros.cpp */; };
8B0FD7F62AD8825300ACD69D /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD76E2AD8825300ACD69D /* CAAudioFileFormats.h */; };
8B0FD7F72AD8825300ACD69D /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD76F2AD8825300ACD69D /* CAAUMIDIMapManager.h */; };
8B0FD7F82AD8825300ACD69D /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7702AD8825300ACD69D /* CACFDictionary.cpp */; };
8B0FD7F92AD8825300ACD69D /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7712AD8825300ACD69D /* CAMutex.h */; };
8B0FD7FA2AD8825300ACD69D /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7722AD8825300ACD69D /* CACFString.cpp */; };
8B0FD7FB2AD8825300ACD69D /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7732AD8825300ACD69D /* CASettingsStorage.h */; };
8B0FD7FC2AD8825300ACD69D /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7742AD8825300ACD69D /* CADebugPrintf.h */; };
8B0FD7FD2AD8825300ACD69D /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7752AD8825300ACD69D /* CAXException.cpp */; };
8B0FD7FE2AD8825300ACD69D /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7762AD8825300ACD69D /* CAAUMIDIMap.h */; };
8B0FD7FF2AD8825300ACD69D /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7772AD8825300ACD69D /* AUParamInfo.h */; };
8B0FD8002AD8825300ACD69D /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7782AD8825300ACD69D /* CABitOperations.h */; };
8B0FD8012AD8825300ACD69D /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7792AD8825300ACD69D /* CACFPreferences.cpp */; };
8B0FD8022AD8825300ACD69D /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD77A2AD8825300ACD69D /* CABundleLocker.h */; };
8B0FD8032AD8825300ACD69D /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD77B2AD8825300ACD69D /* CAPropertyAddress.h */; };
8B0FD8042AD8825300ACD69D /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD77C2AD8825300ACD69D /* CAXException.h */; };
8B0FD8052AD8825300ACD69D /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD77D2AD8825300ACD69D /* CAAudioChannelLayout.cpp */; };
8B0FD8062AD8825300ACD69D /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD77E2AD8825300ACD69D /* CAThreadSafeList.h */; };
8B0FD8072AD8825300ACD69D /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD77F2AD8825300ACD69D /* CAAudioUnitOutputCapturer.h */; };
8B0FD8082AD8825300ACD69D /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7802AD8825300ACD69D /* AUParamInfo.cpp */; };
8B0FD8092AD8825300ACD69D /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7812AD8825300ACD69D /* CASharedLibrary.cpp */; };
8B0FD80A2AD8825300ACD69D /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7822AD8825300ACD69D /* CAAUMIDIMap.cpp */; };
8B0FD80B2AD8825300ACD69D /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7832AD8825300ACD69D /* CALogMacros.h */; };
8B0FD80C2AD8825300ACD69D /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7842AD8825300ACD69D /* CACFMessagePort.cpp */; };
8B0FD80D2AD8825300ACD69D /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7852AD8825300ACD69D /* CARingBuffer.h */; };
8B0FD80E2AD8825300ACD69D /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7862AD8825300ACD69D /* AUOutputBL.cpp */; };
8B0FD80F2AD8825300ACD69D /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7872AD8825300ACD69D /* CABufferList.h */; };
8B0FD8102AD8825300ACD69D /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7882AD8825300ACD69D /* CASharedLibrary.h */; };
8B0FD8112AD8825300ACD69D /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7892AD8825300ACD69D /* CACFData.h */; };
8B0FD8122AD8825300ACD69D /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD78A2AD8825300ACD69D /* CAStreamRangedDescription.cpp */; };
8B0FD8132AD8825300ACD69D /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD78B2AD8825300ACD69D /* CAPThread.cpp */; };
8B0FD8142AD8825300ACD69D /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD78C2AD8825300ACD69D /* CAAutoDisposer.h */; };
8B0FD8152AD8825300ACD69D /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD78D2AD8825300ACD69D /* CACFPreferences.h */; };
8B0FD8162AD8825300ACD69D /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD78E2AD8825300ACD69D /* CAVectorUnit.cpp */; };
8B0FD8172AD8825300ACD69D /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD78F2AD8825300ACD69D /* CAComponentDescription.h */; };
8B0FD8182AD8825300ACD69D /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7902AD8825300ACD69D /* CADebugMacros.h */; };
8B0FD8192AD8825300ACD69D /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7912AD8825300ACD69D /* AUOutputBL.h */; };
8B0FD81A2AD8825300ACD69D /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7922AD8825300ACD69D /* CADebugPrintf.cpp */; };
8B0FD81B2AD8825300ACD69D /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7932AD8825300ACD69D /* CARingBuffer.cpp */; };
8B0FD81C2AD8825300ACD69D /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7942AD8825300ACD69D /* CACFPlugIn.h */; };
8B0FD81D2AD8825300ACD69D /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7952AD8825300ACD69D /* CASettingsStorage.cpp */; };
8B0FD81E2AD8825300ACD69D /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7962AD8825300ACD69D /* CAMixMap.h */; };
8B0FD81F2AD8825300ACD69D /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7972AD8825300ACD69D /* CACFDistributedNotification.h */; };
8B0FD8202AD8825300ACD69D /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7982AD8825300ACD69D /* CAFilePathUtils.h */; };
8B0FD8212AD8825300ACD69D /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7992AD8825300ACD69D /* CATink.h */; };
8B0FD8222AD8825300ACD69D /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD79A2AD8825300ACD69D /* CAStreamBasicDescription.cpp */; };
8B0FD8232AD8825300ACD69D /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD79B2AD8825300ACD69D /* CAAudioChannelLayout.h */; };
8B0FD8242AD8825300ACD69D /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD79C2AD8825300ACD69D /* CAProcess.cpp */; };
8B0FD8252AD8825300ACD69D /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD79D2AD8825300ACD69D /* CAHostTimeBase.cpp */; };
8B0FD8262AD8825300ACD69D /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD79E2AD8825300ACD69D /* CAPersistence.cpp */; };
8B0FD8272AD8825300ACD69D /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD79F2AD8825300ACD69D /* CAAudioBufferList.cpp */; };
8B0FD8282AD8825300ACD69D /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7A02AD8825300ACD69D /* CAAudioTimeStamp.cpp */; };
8B0FD8292AD8825300ACD69D /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7A12AD8825300ACD69D /* CAVectorUnit.h */; };
8B0FD82A2AD8825300ACD69D /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7A22AD8825300ACD69D /* CAByteOrder.h */; };
8B0FD82B2AD8825300ACD69D /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7A32AD8825300ACD69D /* CACFArray.h */; };
8B0FD82C2AD8825300ACD69D /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7A42AD8825300ACD69D /* CAAtomicStack.h */; };
8B0FD82D2AD8825300ACD69D /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7A52AD8825300ACD69D /* CAReferenceCounted.h */; };
8B0FD82E2AD8825300ACD69D /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7A62AD8825300ACD69D /* CACFMachPort.cpp */; };
8B0FD82F2AD8825300ACD69D /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7A72AD8825300ACD69D /* CABufferList.cpp */; };
8B0FD8302AD8825300ACD69D /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7A82AD8825300ACD69D /* CAMutex.cpp */; };
8B0FD8312AD8825300ACD69D /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7A92AD8825300ACD69D /* CADebugger.cpp */; };
8B0FD8322AD8825300ACD69D /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7AA2AD8825300ACD69D /* CABundleLocker.cpp */; };
8B0FD8332AD8825300ACD69D /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7AB2AD8825300ACD69D /* CAAudioFileFormats.cpp */; };
8B0FD8342AD8825300ACD69D /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7AC2AD8825300ACD69D /* CAMath.h */; };
8B0FD8352AD8825300ACD69D /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7AD2AD8825300ACD69D /* CACFArray.cpp */; };
8B0FD8362AD8825300ACD69D /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7AE2AD8825300ACD69D /* CACFMessagePort.h */; };
8B0FD8372AD8825300ACD69D /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7AF2AD8825300ACD69D /* CAAudioValueRange.cpp */; };
8B0FD8382AD8825300ACD69D /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7B02AD8825300ACD69D /* CAAudioUnit.cpp */; };
8B0FD8392AD8825300ACD69D /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7B42AD8825300ACD69D /* AUViewLocalizedStringKeys.h */; };
8B0FD83A2AD8825300ACD69D /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7B62AD8825300ACD69D /* ComponentBase.cpp */; };
8B0FD83B2AD8825300ACD69D /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7B72AD8825300ACD69D /* AUScopeElement.cpp */; };
8B0FD83C2AD8825300ACD69D /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7B82AD8825300ACD69D /* ComponentBase.h */; };
8B0FD83D2AD8825300ACD69D /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7B92AD8825300ACD69D /* AUBase.cpp */; };
8B0FD83E2AD8825300ACD69D /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7BA2AD8825300ACD69D /* AUInputElement.h */; };
8B0FD83F2AD8825300ACD69D /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7BB2AD8825300ACD69D /* AUBase.h */; };
8B0FD8402AD8825300ACD69D /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7BC2AD8825300ACD69D /* AUPlugInDispatch.h */; };
8B0FD8412AD8825300ACD69D /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7BD2AD8825300ACD69D /* AUDispatch.h */; };
8B0FD8422AD8825300ACD69D /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7BE2AD8825300ACD69D /* AUOutputElement.cpp */; };
8B0FD8442AD8825300ACD69D /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7C02AD8825300ACD69D /* AUPlugInDispatch.cpp */; };
8B0FD8452AD8825300ACD69D /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7C12AD8825300ACD69D /* AUOutputElement.h */; };
8B0FD8462AD8825300ACD69D /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7C22AD8825300ACD69D /* AUDispatch.cpp */; };
8B0FD8472AD8825300ACD69D /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7C32AD8825300ACD69D /* AUScopeElement.h */; };
8B0FD8482AD8825300ACD69D /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7C42AD8825300ACD69D /* AUInputElement.cpp */; };
8B0FD8492AD8825300ACD69D /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7C62AD8825300ACD69D /* AUEffectBase.cpp */; };
8B0FD84A2AD8825300ACD69D /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7C72AD8825300ACD69D /* AUEffectBase.h */; };
8B0FD84B2AD8825300ACD69D /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7C92AD8825300ACD69D /* AUTimestampGenerator.h */; };
8B0FD84C2AD8825300ACD69D /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7CA2AD8825300ACD69D /* AUBaseHelper.cpp */; };
8B0FD84D2AD8825300ACD69D /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7CB2AD8825300ACD69D /* AUSilentTimeout.h */; };
8B0FD84E2AD8825300ACD69D /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7CC2AD8825300ACD69D /* AUInputFormatConverter.h */; };
8B0FD84F2AD8825300ACD69D /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7CD2AD8825300ACD69D /* AUTimestampGenerator.cpp */; };
8B0FD8502AD8825300ACD69D /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD7CE2AD8825300ACD69D /* AUBuffer.cpp */; };
8B0FD8512AD8825300ACD69D /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7CF2AD8825300ACD69D /* AUMIDIDefs.h */; };
8B0FD8522AD8825300ACD69D /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7D02AD8825300ACD69D /* AUBuffer.h */; };
8B0FD8532AD8825300ACD69D /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD7D12AD8825300ACD69D /* AUBaseHelper.h */; };
8BA05A6B0720730100365D66 /* ConsoleMCChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */; };
8BA05A6E0720730100365D66 /* ConsoleMCChannelVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ConsoleMCChannelVersion.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 /* ConsoleMCChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */; };
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
8B0FD74A2AD8825300ACD69D /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
8B0FD74B2AD8825300ACD69D /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
8B0FD74C2AD8825300ACD69D /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
8B0FD74D2AD8825300ACD69D /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
8B0FD74E2AD8825300ACD69D /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
8B0FD74F2AD8825300ACD69D /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
8B0FD7502AD8825300ACD69D /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
8B0FD7512AD8825300ACD69D /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
8B0FD7522AD8825300ACD69D /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8B0FD7532AD8825300ACD69D /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
8B0FD7542AD8825300ACD69D /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
8B0FD7552AD8825300ACD69D /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
8B0FD7562AD8825300ACD69D /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
8B0FD7572AD8825300ACD69D /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
8B0FD7582AD8825300ACD69D /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
8B0FD7592AD8825300ACD69D /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8B0FD75A2AD8825300ACD69D /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
8B0FD75B2AD8825300ACD69D /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
8B0FD75C2AD8825300ACD69D /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
8B0FD75D2AD8825300ACD69D /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
8B0FD75E2AD8825300ACD69D /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
8B0FD75F2AD8825300ACD69D /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
8B0FD7602AD8825300ACD69D /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8B0FD7612AD8825300ACD69D /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
8B0FD7622AD8825300ACD69D /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
8B0FD7632AD8825300ACD69D /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
8B0FD7642AD8825300ACD69D /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8B0FD7652AD8825300ACD69D /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
8B0FD7662AD8825300ACD69D /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
8B0FD7672AD8825300ACD69D /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
8B0FD7682AD8825300ACD69D /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
8B0FD7692AD8825300ACD69D /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
8B0FD76A2AD8825300ACD69D /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
8B0FD76B2AD8825300ACD69D /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
8B0FD76C2AD8825300ACD69D /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
8B0FD76D2AD8825300ACD69D /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
8B0FD76E2AD8825300ACD69D /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
8B0FD76F2AD8825300ACD69D /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
8B0FD7702AD8825300ACD69D /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
8B0FD7712AD8825300ACD69D /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8B0FD7722AD8825300ACD69D /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
8B0FD7732AD8825300ACD69D /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
8B0FD7742AD8825300ACD69D /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
8B0FD7752AD8825300ACD69D /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
8B0FD7762AD8825300ACD69D /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
8B0FD7772AD8825300ACD69D /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
8B0FD7782AD8825300ACD69D /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
8B0FD7792AD8825300ACD69D /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
8B0FD77A2AD8825300ACD69D /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
8B0FD77B2AD8825300ACD69D /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
8B0FD77C2AD8825300ACD69D /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
8B0FD77D2AD8825300ACD69D /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8B0FD77E2AD8825300ACD69D /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
8B0FD77F2AD8825300ACD69D /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
8B0FD7802AD8825300ACD69D /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
8B0FD7812AD8825300ACD69D /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
8B0FD7822AD8825300ACD69D /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
8B0FD7832AD8825300ACD69D /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
8B0FD7842AD8825300ACD69D /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
8B0FD7852AD8825300ACD69D /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
8B0FD7862AD8825300ACD69D /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
8B0FD7872AD8825300ACD69D /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
8B0FD7882AD8825300ACD69D /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
8B0FD7892AD8825300ACD69D /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
8B0FD78A2AD8825300ACD69D /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
8B0FD78B2AD8825300ACD69D /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
8B0FD78C2AD8825300ACD69D /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
8B0FD78D2AD8825300ACD69D /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
8B0FD78E2AD8825300ACD69D /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
8B0FD78F2AD8825300ACD69D /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
8B0FD7902AD8825300ACD69D /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
8B0FD7912AD8825300ACD69D /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
8B0FD7922AD8825300ACD69D /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
8B0FD7932AD8825300ACD69D /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
8B0FD7942AD8825300ACD69D /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
8B0FD7952AD8825300ACD69D /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
8B0FD7962AD8825300ACD69D /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
8B0FD7972AD8825300ACD69D /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
8B0FD7982AD8825300ACD69D /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
8B0FD7992AD8825300ACD69D /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
8B0FD79A2AD8825300ACD69D /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8B0FD79B2AD8825300ACD69D /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8B0FD79C2AD8825300ACD69D /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
8B0FD79D2AD8825300ACD69D /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
8B0FD79E2AD8825300ACD69D /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
8B0FD79F2AD8825300ACD69D /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
8B0FD7A02AD8825300ACD69D /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
8B0FD7A12AD8825300ACD69D /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
8B0FD7A22AD8825300ACD69D /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
8B0FD7A32AD8825300ACD69D /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
8B0FD7A42AD8825300ACD69D /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
8B0FD7A52AD8825300ACD69D /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
8B0FD7A62AD8825300ACD69D /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
8B0FD7A72AD8825300ACD69D /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
8B0FD7A82AD8825300ACD69D /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8B0FD7A92AD8825300ACD69D /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
8B0FD7AA2AD8825300ACD69D /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
8B0FD7AB2AD8825300ACD69D /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
8B0FD7AC2AD8825300ACD69D /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
8B0FD7AD2AD8825300ACD69D /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
8B0FD7AE2AD8825300ACD69D /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
8B0FD7AF2AD8825300ACD69D /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
8B0FD7B02AD8825300ACD69D /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
8B0FD7B42AD8825300ACD69D /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8B0FD7B62AD8825300ACD69D /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8B0FD7B72AD8825300ACD69D /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8B0FD7B82AD8825300ACD69D /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8B0FD7B92AD8825300ACD69D /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8B0FD7BA2AD8825300ACD69D /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8B0FD7BB2AD8825300ACD69D /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8B0FD7BC2AD8825300ACD69D /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
8B0FD7BD2AD8825300ACD69D /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8B0FD7BE2AD8825300ACD69D /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8B0FD7BF2AD8825300ACD69D /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8B0FD7C02AD8825300ACD69D /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
8B0FD7C12AD8825300ACD69D /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8B0FD7C22AD8825300ACD69D /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8B0FD7C32AD8825300ACD69D /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8B0FD7C42AD8825300ACD69D /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8B0FD7C62AD8825300ACD69D /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8B0FD7C72AD8825300ACD69D /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8B0FD7C92AD8825300ACD69D /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8B0FD7CA2AD8825300ACD69D /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
8B0FD7CB2AD8825300ACD69D /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8B0FD7CC2AD8825300ACD69D /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8B0FD7CD2AD8825300ACD69D /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
8B0FD7CE2AD8825300ACD69D /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8B0FD7CF2AD8825300ACD69D /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
8B0FD7D02AD8825300ACD69D /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8B0FD7D12AD8825300ACD69D /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
8B0FD8542AD8841B00ACD69D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ConsoleMCChannel.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* ConsoleMCChannel.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ConsoleMCChannel.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* ConsoleMCChannel.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ConsoleMCChannel.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCChannelVersion.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 /* ConsoleMCChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConsoleMCChannel.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* ConsoleMCChannel.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCChannel.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 /* ConsoleMCChannel */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = ConsoleMCChannel;
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 = (
8B0FD7482AD8825300ACD69D /* CA_SDK */,
8BA05A56072072A900365D66 /* AU Source */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* ConsoleMCChannel.component */,
);
name = Products;
sourceTree = "<group>";
};
8B0FD7482AD8825300ACD69D /* CA_SDK */ = {
isa = PBXGroup;
children = (
8B0FD7492AD8825300ACD69D /* PublicUtility */,
8B0FD7B12AD8825300ACD69D /* AudioUnits */,
);
name = CA_SDK;
path = ../../../../CA_SDK;
sourceTree = "<group>";
};
8B0FD7492AD8825300ACD69D /* PublicUtility */ = {
isa = PBXGroup;
children = (
8B0FD74A2AD8825300ACD69D /* CAExtAudioFile.h */,
8B0FD74B2AD8825300ACD69D /* CACFMachPort.h */,
8B0FD74C2AD8825300ACD69D /* CABool.h */,
8B0FD74D2AD8825300ACD69D /* CAComponent.cpp */,
8B0FD74E2AD8825300ACD69D /* CADebugger.h */,
8B0FD74F2AD8825300ACD69D /* CACFNumber.cpp */,
8B0FD7502AD8825300ACD69D /* CAGuard.h */,
8B0FD7512AD8825300ACD69D /* CAAtomic.h */,
8B0FD7522AD8825300ACD69D /* CAStreamBasicDescription.h */,
8B0FD7532AD8825300ACD69D /* CACFObject.h */,
8B0FD7542AD8825300ACD69D /* CAStreamRangedDescription.h */,
8B0FD7552AD8825300ACD69D /* CATokenMap.h */,
8B0FD7562AD8825300ACD69D /* CAComponent.h */,
8B0FD7572AD8825300ACD69D /* CAAudioBufferList.h */,
8B0FD7582AD8825300ACD69D /* CAAudioUnit.h */,
8B0FD7592AD8825300ACD69D /* CAAUParameter.h */,
8B0FD75A2AD8825300ACD69D /* CAException.h */,
8B0FD75B2AD8825300ACD69D /* CAAUProcessor.cpp */,
8B0FD75C2AD8825300ACD69D /* CAAUProcessor.h */,
8B0FD75D2AD8825300ACD69D /* CAProcess.h */,
8B0FD75E2AD8825300ACD69D /* CACFDictionary.h */,
8B0FD75F2AD8825300ACD69D /* CAPThread.h */,
8B0FD7602AD8825300ACD69D /* CAAUParameter.cpp */,
8B0FD7612AD8825300ACD69D /* CAAudioTimeStamp.h */,
8B0FD7622AD8825300ACD69D /* CAFilePathUtils.cpp */,
8B0FD7632AD8825300ACD69D /* CAAudioValueRange.h */,
8B0FD7642AD8825300ACD69D /* CAVectorUnitTypes.h */,
8B0FD7652AD8825300ACD69D /* CAAudioChannelLayoutObject.cpp */,
8B0FD7662AD8825300ACD69D /* CAGuard.cpp */,
8B0FD7672AD8825300ACD69D /* CACFNumber.h */,
8B0FD7682AD8825300ACD69D /* CACFDistributedNotification.cpp */,
8B0FD7692AD8825300ACD69D /* CACFString.h */,
8B0FD76A2AD8825300ACD69D /* CAAUMIDIMapManager.cpp */,
8B0FD76B2AD8825300ACD69D /* CAComponentDescription.cpp */,
8B0FD76C2AD8825300ACD69D /* CAHostTimeBase.h */,
8B0FD76D2AD8825300ACD69D /* CADebugMacros.cpp */,
8B0FD76E2AD8825300ACD69D /* CAAudioFileFormats.h */,
8B0FD76F2AD8825300ACD69D /* CAAUMIDIMapManager.h */,
8B0FD7702AD8825300ACD69D /* CACFDictionary.cpp */,
8B0FD7712AD8825300ACD69D /* CAMutex.h */,
8B0FD7722AD8825300ACD69D /* CACFString.cpp */,
8B0FD7732AD8825300ACD69D /* CASettingsStorage.h */,
8B0FD7742AD8825300ACD69D /* CADebugPrintf.h */,
8B0FD7752AD8825300ACD69D /* CAXException.cpp */,
8B0FD7762AD8825300ACD69D /* CAAUMIDIMap.h */,
8B0FD7772AD8825300ACD69D /* AUParamInfo.h */,
8B0FD7782AD8825300ACD69D /* CABitOperations.h */,
8B0FD7792AD8825300ACD69D /* CACFPreferences.cpp */,
8B0FD77A2AD8825300ACD69D /* CABundleLocker.h */,
8B0FD77B2AD8825300ACD69D /* CAPropertyAddress.h */,
8B0FD77C2AD8825300ACD69D /* CAXException.h */,
8B0FD77D2AD8825300ACD69D /* CAAudioChannelLayout.cpp */,
8B0FD77E2AD8825300ACD69D /* CAThreadSafeList.h */,
8B0FD77F2AD8825300ACD69D /* CAAudioUnitOutputCapturer.h */,
8B0FD7802AD8825300ACD69D /* AUParamInfo.cpp */,
8B0FD7812AD8825300ACD69D /* CASharedLibrary.cpp */,
8B0FD7822AD8825300ACD69D /* CAAUMIDIMap.cpp */,
8B0FD7832AD8825300ACD69D /* CALogMacros.h */,
8B0FD7842AD8825300ACD69D /* CACFMessagePort.cpp */,
8B0FD7852AD8825300ACD69D /* CARingBuffer.h */,
8B0FD7862AD8825300ACD69D /* AUOutputBL.cpp */,
8B0FD7872AD8825300ACD69D /* CABufferList.h */,
8B0FD7882AD8825300ACD69D /* CASharedLibrary.h */,
8B0FD7892AD8825300ACD69D /* CACFData.h */,
8B0FD78A2AD8825300ACD69D /* CAStreamRangedDescription.cpp */,
8B0FD78B2AD8825300ACD69D /* CAPThread.cpp */,
8B0FD78C2AD8825300ACD69D /* CAAutoDisposer.h */,
8B0FD78D2AD8825300ACD69D /* CACFPreferences.h */,
8B0FD78E2AD8825300ACD69D /* CAVectorUnit.cpp */,
8B0FD78F2AD8825300ACD69D /* CAComponentDescription.h */,
8B0FD7902AD8825300ACD69D /* CADebugMacros.h */,
8B0FD7912AD8825300ACD69D /* AUOutputBL.h */,
8B0FD7922AD8825300ACD69D /* CADebugPrintf.cpp */,
8B0FD7932AD8825300ACD69D /* CARingBuffer.cpp */,
8B0FD7942AD8825300ACD69D /* CACFPlugIn.h */,
8B0FD7952AD8825300ACD69D /* CASettingsStorage.cpp */,
8B0FD7962AD8825300ACD69D /* CAMixMap.h */,
8B0FD7972AD8825300ACD69D /* CACFDistributedNotification.h */,
8B0FD7982AD8825300ACD69D /* CAFilePathUtils.h */,
8B0FD7992AD8825300ACD69D /* CATink.h */,
8B0FD79A2AD8825300ACD69D /* CAStreamBasicDescription.cpp */,
8B0FD79B2AD8825300ACD69D /* CAAudioChannelLayout.h */,
8B0FD79C2AD8825300ACD69D /* CAProcess.cpp */,
8B0FD79D2AD8825300ACD69D /* CAHostTimeBase.cpp */,
8B0FD79E2AD8825300ACD69D /* CAPersistence.cpp */,
8B0FD79F2AD8825300ACD69D /* CAAudioBufferList.cpp */,
8B0FD7A02AD8825300ACD69D /* CAAudioTimeStamp.cpp */,
8B0FD7A12AD8825300ACD69D /* CAVectorUnit.h */,
8B0FD7A22AD8825300ACD69D /* CAByteOrder.h */,
8B0FD7A32AD8825300ACD69D /* CACFArray.h */,
8B0FD7A42AD8825300ACD69D /* CAAtomicStack.h */,
8B0FD7A52AD8825300ACD69D /* CAReferenceCounted.h */,
8B0FD7A62AD8825300ACD69D /* CACFMachPort.cpp */,
8B0FD7A72AD8825300ACD69D /* CABufferList.cpp */,
8B0FD7A82AD8825300ACD69D /* CAMutex.cpp */,
8B0FD7A92AD8825300ACD69D /* CADebugger.cpp */,
8B0FD7AA2AD8825300ACD69D /* CABundleLocker.cpp */,
8B0FD7AB2AD8825300ACD69D /* CAAudioFileFormats.cpp */,
8B0FD7AC2AD8825300ACD69D /* CAMath.h */,
8B0FD7AD2AD8825300ACD69D /* CACFArray.cpp */,
8B0FD7AE2AD8825300ACD69D /* CACFMessagePort.h */,
8B0FD7AF2AD8825300ACD69D /* CAAudioValueRange.cpp */,
8B0FD7B02AD8825300ACD69D /* CAAudioUnit.cpp */,
);
path = PublicUtility;
sourceTree = "<group>";
};
8B0FD7B12AD8825300ACD69D /* AudioUnits */ = {
isa = PBXGroup;
children = (
8B0FD7B22AD8825300ACD69D /* AUPublic */,
);
path = AudioUnits;
sourceTree = "<group>";
};
8B0FD7B22AD8825300ACD69D /* AUPublic */ = {
isa = PBXGroup;
children = (
8B0FD7B32AD8825300ACD69D /* AUViewBase */,
8B0FD7B52AD8825300ACD69D /* AUBase */,
8B0FD7C52AD8825300ACD69D /* OtherBases */,
8B0FD7C82AD8825300ACD69D /* Utility */,
);
path = AUPublic;
sourceTree = "<group>";
};
8B0FD7B32AD8825300ACD69D /* AUViewBase */ = {
isa = PBXGroup;
children = (
8B0FD7B42AD8825300ACD69D /* AUViewLocalizedStringKeys.h */,
);
path = AUViewBase;
sourceTree = "<group>";
};
8B0FD7B52AD8825300ACD69D /* AUBase */ = {
isa = PBXGroup;
children = (
8B0FD7B62AD8825300ACD69D /* ComponentBase.cpp */,
8B0FD7B72AD8825300ACD69D /* AUScopeElement.cpp */,
8B0FD7B82AD8825300ACD69D /* ComponentBase.h */,
8B0FD7B92AD8825300ACD69D /* AUBase.cpp */,
8B0FD7BA2AD8825300ACD69D /* AUInputElement.h */,
8B0FD7BB2AD8825300ACD69D /* AUBase.h */,
8B0FD7BC2AD8825300ACD69D /* AUPlugInDispatch.h */,
8B0FD7BD2AD8825300ACD69D /* AUDispatch.h */,
8B0FD7BE2AD8825300ACD69D /* AUOutputElement.cpp */,
8B0FD7BF2AD8825300ACD69D /* AUResources.r */,
8B0FD7C02AD8825300ACD69D /* AUPlugInDispatch.cpp */,
8B0FD7C12AD8825300ACD69D /* AUOutputElement.h */,
8B0FD7C22AD8825300ACD69D /* AUDispatch.cpp */,
8B0FD7C32AD8825300ACD69D /* AUScopeElement.h */,
8B0FD7C42AD8825300ACD69D /* AUInputElement.cpp */,
);
path = AUBase;
sourceTree = "<group>";
};
8B0FD7C52AD8825300ACD69D /* OtherBases */ = {
isa = PBXGroup;
children = (
8B0FD7C62AD8825300ACD69D /* AUEffectBase.cpp */,
8B0FD7C72AD8825300ACD69D /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8B0FD7C82AD8825300ACD69D /* Utility */ = {
isa = PBXGroup;
children = (
8B0FD7C92AD8825300ACD69D /* AUTimestampGenerator.h */,
8B0FD7CA2AD8825300ACD69D /* AUBaseHelper.cpp */,
8B0FD7CB2AD8825300ACD69D /* AUSilentTimeout.h */,
8B0FD7CC2AD8825300ACD69D /* AUInputFormatConverter.h */,
8B0FD7CD2AD8825300ACD69D /* AUTimestampGenerator.cpp */,
8B0FD7CE2AD8825300ACD69D /* AUBuffer.cpp */,
8B0FD7CF2AD8825300ACD69D /* AUMIDIDefs.h */,
8B0FD7D02AD8825300ACD69D /* AUBuffer.h */,
8B0FD7D12AD8825300ACD69D /* AUBaseHelper.h */,
);
path = Utility;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* ConsoleMCChannel.h */,
8BA05A660720730100365D66 /* ConsoleMCChannel.cpp */,
8BA05A670720730100365D66 /* ConsoleMCChannel.exp */,
8BA05A680720730100365D66 /* ConsoleMCChannel.r */,
8BA05A690720730100365D66 /* ConsoleMCChannelVersion.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8B0FD8022AD8825300ACD69D /* CABundleLocker.h in Headers */,
8B0FD8232AD8825300ACD69D /* CAAudioChannelLayout.h in Headers */,
8B0FD8192AD8825300ACD69D /* AUOutputBL.h in Headers */,
8B0FD7F42AD8825300ACD69D /* CAHostTimeBase.h in Headers */,
8B0FD83C2AD8825300ACD69D /* ComponentBase.h in Headers */,
8B0FD82C2AD8825300ACD69D /* CAAtomicStack.h in Headers */,
8B0FD7E92AD8825300ACD69D /* CAAudioTimeStamp.h in Headers */,
8B0FD8062AD8825300ACD69D /* CAThreadSafeList.h in Headers */,
8B0FD7E12AD8825300ACD69D /* CAAUParameter.h in Headers */,
8B0FD8532AD8825300ACD69D /* AUBaseHelper.h in Headers */,
8B0FD84B2AD8825300ACD69D /* AUTimestampGenerator.h in Headers */,
8B0FD7FC2AD8825300ACD69D /* CADebugPrintf.h in Headers */,
8B0FD8362AD8825300ACD69D /* CACFMessagePort.h in Headers */,
8B0FD7E42AD8825300ACD69D /* CAAUProcessor.h in Headers */,
8B0FD7E02AD8825300ACD69D /* CAAudioUnit.h in Headers */,
8B0FD8392AD8825300ACD69D /* AUViewLocalizedStringKeys.h in Headers */,
8B0FD81F2AD8825300ACD69D /* CACFDistributedNotification.h in Headers */,
8B0FD7DE2AD8825300ACD69D /* CAComponent.h in Headers */,
8B0FD7EC2AD8825300ACD69D /* CAVectorUnitTypes.h in Headers */,
8BA05A6E0720730100365D66 /* ConsoleMCChannelVersion.h in Headers */,
8B0FD8202AD8825300ACD69D /* CAFilePathUtils.h in Headers */,
8B0FD7E22AD8825300ACD69D /* CAException.h in Headers */,
8B0FD7D92AD8825300ACD69D /* CAAtomic.h in Headers */,
8B0FD7D82AD8825300ACD69D /* CAGuard.h in Headers */,
8B0FD83E2AD8825300ACD69D /* AUInputElement.h in Headers */,
8B0FD8152AD8825300ACD69D /* CACFPreferences.h in Headers */,
8B0FD82A2AD8825300ACD69D /* CAByteOrder.h in Headers */,
8B0FD80D2AD8825300ACD69D /* CARingBuffer.h in Headers */,
8B0FD7D42AD8825300ACD69D /* CABool.h in Headers */,
8B0FD7F92AD8825300ACD69D /* CAMutex.h in Headers */,
8B0FD83F2AD8825300ACD69D /* AUBase.h in Headers */,
8BC6025C073B072D006C4272 /* ConsoleMCChannel.h in Headers */,
8B0FD7F12AD8825300ACD69D /* CACFString.h in Headers */,
8B0FD8102AD8825300ACD69D /* CASharedLibrary.h in Headers */,
8B0FD7DD2AD8825300ACD69D /* CATokenMap.h in Headers */,
8B0FD7D22AD8825300ACD69D /* CAExtAudioFile.h in Headers */,
8B0FD7E72AD8825300ACD69D /* CAPThread.h in Headers */,
8B0FD8032AD8825300ACD69D /* CAPropertyAddress.h in Headers */,
8B0FD82D2AD8825300ACD69D /* CAReferenceCounted.h in Headers */,
8B0FD8522AD8825300ACD69D /* AUBuffer.h in Headers */,
8B0FD8342AD8825300ACD69D /* CAMath.h in Headers */,
8B0FD8142AD8825300ACD69D /* CAAutoDisposer.h in Headers */,
8B0FD7DB2AD8825300ACD69D /* CACFObject.h in Headers */,
8B0FD7FB2AD8825300ACD69D /* CASettingsStorage.h in Headers */,
8B0FD8042AD8825300ACD69D /* CAXException.h in Headers */,
8B0FD8212AD8825300ACD69D /* CATink.h in Headers */,
8B0FD84E2AD8825300ACD69D /* AUInputFormatConverter.h in Headers */,
8B0FD8292AD8825300ACD69D /* CAVectorUnit.h in Headers */,
8B0FD7E52AD8825300ACD69D /* CAProcess.h in Headers */,
8B0FD7EB2AD8825300ACD69D /* CAAudioValueRange.h in Headers */,
8B0FD8002AD8825300ACD69D /* CABitOperations.h in Headers */,
8B0FD7F62AD8825300ACD69D /* CAAudioFileFormats.h in Headers */,
8B0FD7EF2AD8825300ACD69D /* CACFNumber.h in Headers */,
8B0FD8072AD8825300ACD69D /* CAAudioUnitOutputCapturer.h in Headers */,
8B0FD8182AD8825300ACD69D /* CADebugMacros.h in Headers */,
8B0FD8512AD8825300ACD69D /* AUMIDIDefs.h in Headers */,
8B0FD8112AD8825300ACD69D /* CACFData.h in Headers */,
8B0FD7DA2AD8825300ACD69D /* CAStreamBasicDescription.h in Headers */,
8B0FD8402AD8825300ACD69D /* AUPlugInDispatch.h in Headers */,
8B0FD7DC2AD8825300ACD69D /* CAStreamRangedDescription.h in Headers */,
8B0FD81C2AD8825300ACD69D /* CACFPlugIn.h in Headers */,
8B0FD7DF2AD8825300ACD69D /* CAAudioBufferList.h in Headers */,
8B0FD7F72AD8825300ACD69D /* CAAUMIDIMapManager.h in Headers */,
8B0FD84A2AD8825300ACD69D /* AUEffectBase.h in Headers */,
8B0FD7E62AD8825300ACD69D /* CACFDictionary.h in Headers */,
8B0FD8472AD8825300ACD69D /* AUScopeElement.h in Headers */,
8B0FD8172AD8825300ACD69D /* CAComponentDescription.h in Headers */,
8B0FD84D2AD8825300ACD69D /* AUSilentTimeout.h in Headers */,
8B0FD80F2AD8825300ACD69D /* CABufferList.h in Headers */,
8B0FD8412AD8825300ACD69D /* AUDispatch.h in Headers */,
8B0FD8452AD8825300ACD69D /* AUOutputElement.h in Headers */,
8B0FD80B2AD8825300ACD69D /* CALogMacros.h in Headers */,
8B0FD7FF2AD8825300ACD69D /* AUParamInfo.h in Headers */,
8B0FD81E2AD8825300ACD69D /* CAMixMap.h in Headers */,
8B0FD82B2AD8825300ACD69D /* CACFArray.h in Headers */,
8B0FD7D32AD8825300ACD69D /* CACFMachPort.h in Headers */,
8B0FD7FE2AD8825300ACD69D /* CAAUMIDIMap.h in Headers */,
8B0FD7D62AD8825300ACD69D /* CADebugger.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ConsoleMCChannel" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCChannel;
productInstallPath = "$(HOME)/Library/Bundles";
productName = ConsoleMCChannel;
productReference = 8D01CCD20486CAD60068D4B7 /* ConsoleMCChannel.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 "ConsoleMCChannel" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
Base,
ja,
en,
fr,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* ConsoleMCChannel */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */,
);
};
/* 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 = (
8B0FD80E2AD8825300ACD69D /* AUOutputBL.cpp in Sources */,
8B0FD8332AD8825300ACD69D /* CAAudioFileFormats.cpp in Sources */,
8B0FD8252AD8825300ACD69D /* CAHostTimeBase.cpp in Sources */,
8B0FD7FD2AD8825300ACD69D /* CAXException.cpp in Sources */,
8B0FD8272AD8825300ACD69D /* CAAudioBufferList.cpp in Sources */,
8B0FD7EA2AD8825300ACD69D /* CAFilePathUtils.cpp in Sources */,
8B0FD7E82AD8825300ACD69D /* CAAUParameter.cpp in Sources */,
8B0FD80A2AD8825300ACD69D /* CAAUMIDIMap.cpp in Sources */,
8B0FD8372AD8825300ACD69D /* CAAudioValueRange.cpp in Sources */,
8B0FD8462AD8825300ACD69D /* AUDispatch.cpp in Sources */,
8B0FD8012AD8825300ACD69D /* CACFPreferences.cpp in Sources */,
8B0FD8442AD8825300ACD69D /* AUPlugInDispatch.cpp in Sources */,
8B0FD7E32AD8825300ACD69D /* CAAUProcessor.cpp in Sources */,
8B0FD7F82AD8825300ACD69D /* CACFDictionary.cpp in Sources */,
8B0FD84C2AD8825300ACD69D /* AUBaseHelper.cpp in Sources */,
8B0FD8312AD8825300ACD69D /* CADebugger.cpp in Sources */,
8B0FD8052AD8825300ACD69D /* CAAudioChannelLayout.cpp in Sources */,
8B0FD8082AD8825300ACD69D /* AUParamInfo.cpp in Sources */,
8B0FD8262AD8825300ACD69D /* CAPersistence.cpp in Sources */,
8B0FD81A2AD8825300ACD69D /* CADebugPrintf.cpp in Sources */,
8B0FD84F2AD8825300ACD69D /* AUTimestampGenerator.cpp in Sources */,
8B0FD8222AD8825300ACD69D /* CAStreamBasicDescription.cpp in Sources */,
8B0FD7F22AD8825300ACD69D /* CAAUMIDIMapManager.cpp in Sources */,
8B0FD81D2AD8825300ACD69D /* CASettingsStorage.cpp in Sources */,
8B0FD8422AD8825300ACD69D /* AUOutputElement.cpp in Sources */,
8B0FD7EE2AD8825300ACD69D /* CAGuard.cpp in Sources */,
8BA05A6B0720730100365D66 /* ConsoleMCChannel.cpp in Sources */,
8B0FD8302AD8825300ACD69D /* CAMutex.cpp in Sources */,
8B0FD8492AD8825300ACD69D /* AUEffectBase.cpp in Sources */,
8B0FD82E2AD8825300ACD69D /* CACFMachPort.cpp in Sources */,
8B0FD83D2AD8825300ACD69D /* AUBase.cpp in Sources */,
8B0FD8092AD8825300ACD69D /* CASharedLibrary.cpp in Sources */,
8B0FD7F02AD8825300ACD69D /* CACFDistributedNotification.cpp in Sources */,
8B0FD7F32AD8825300ACD69D /* CAComponentDescription.cpp in Sources */,
8B0FD7FA2AD8825300ACD69D /* CACFString.cpp in Sources */,
8B0FD83A2AD8825300ACD69D /* ComponentBase.cpp in Sources */,
8B0FD81B2AD8825300ACD69D /* CARingBuffer.cpp in Sources */,
8B0FD83B2AD8825300ACD69D /* AUScopeElement.cpp in Sources */,
8B0FD8382AD8825300ACD69D /* CAAudioUnit.cpp in Sources */,
8B0FD8352AD8825300ACD69D /* CACFArray.cpp in Sources */,
8B0FD8322AD8825300ACD69D /* CABundleLocker.cpp in Sources */,
8B0FD8242AD8825300ACD69D /* CAProcess.cpp in Sources */,
8B0FD8122AD8825300ACD69D /* CAStreamRangedDescription.cpp in Sources */,
8B0FD8132AD8825300ACD69D /* CAPThread.cpp in Sources */,
8B0FD7D52AD8825300ACD69D /* CAComponent.cpp in Sources */,
8B0FD7ED2AD8825300ACD69D /* CAAudioChannelLayoutObject.cpp in Sources */,
8B0FD8282AD8825300ACD69D /* CAAudioTimeStamp.cpp in Sources */,
8B0FD82F2AD8825300ACD69D /* CABufferList.cpp in Sources */,
8B0FD80C2AD8825300ACD69D /* CACFMessagePort.cpp in Sources */,
8B0FD8162AD8825300ACD69D /* CAVectorUnit.cpp in Sources */,
8B0FD8482AD8825300ACD69D /* AUInputElement.cpp in Sources */,
8B0FD8502AD8825300ACD69D /* AUBuffer.cpp in Sources */,
8B0FD7F52AD8825300ACD69D /* CADebugMacros.cpp in Sources */,
8B0FD7D72AD8825300ACD69D /* CACFNumber.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
8B0FD8542AD8841B00ACD69D /* 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 = ConsoleMCChannel.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 = ConsoleMCChannel;
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 = ConsoleMCChannel.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 = ConsoleMCChannel;
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 "ConsoleMCChannel" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ConsoleMCChannel" */ = {
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 = "ConsoleMCChannel.component"
BlueprintName = "ConsoleMCChannel"
ReferencedContainer = "container:ConsoleMCChannel.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 = "ConsoleMCChannel.component"
BlueprintName = "ConsoleMCChannel"
ReferencedContainer = "container:ConsoleMCChannel.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>ConsoleMCChannel.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: ConsoleMCChannelVersion.h
*
* Version: 1.0
*
* Created: 9/28/23
*
* Copyright: Copyright © 2023 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 __ConsoleMCChannelVersion_h__
#define __ConsoleMCChannelVersion_h__
#ifdef DEBUG
#define kConsoleMCChannelVersion 0xFFFFFFFF
#else
#define kConsoleMCChannelVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define ConsoleMCChannel_COMP_MANF 'Dthr'
#define ConsoleMCChannel_COMP_SUBTYPE 'cmcc'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#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>cmcc</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>Dthr</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
//
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
//
#include <CoreServices/CoreServices.h>

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,149 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */;
breakpoints = (
);
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 = 718748861;
PBXWorkspaceStateSaveDate = 718748861;
};
perUserProjectItems = {
8BC5E9E52AD73E2E0007A2D0 /* PBXBookmark */ = 8BC5E9E52AD73E2E0007A2D0 /* PBXBookmark */;
8BC5EA342AD73FC70007A2D0 /* XCBuildMessageTextBookmark */ = 8BC5EA342AD73FC70007A2D0 /* XCBuildMessageTextBookmark */;
8BC5EA352AD73FC70007A2D0 /* PBXTextBookmark */ = 8BC5EA352AD73FC70007A2D0 /* PBXTextBookmark */;
8BC5EA412AD73FC70007A2D0 /* PBXTextBookmark */ = 8BC5EA412AD73FC70007A2D0 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
};
};
2407DEB6089929BA00EB68BF /* ConsoleMCBuss.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 2142}}";
sepNavSelRange = "{3802, 0}";
sepNavVisRange = "{3035, 1436}";
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* ConsoleMCBuss.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1110, 2358}}";
sepNavSelRange = "{3536, 0}";
sepNavVisRange = "{386, 2067}";
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
};
};
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1074, 27360}}";
sepNavSelRange = "{10616, 0}";
sepNavVisRange = "{10459, 280}";
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
};
};
24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1659, 6858}}";
sepNavSelRange = "{12567, 0}";
sepNavVisRange = "{10076, 2268}";
sepNavWindowFrame = "{{31, 42}, {895, 831}}";
};
};
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8BC5E9E52AD73E2E0007A2D0 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */;
};
8BC5EA342AD73FC70007A2D0 /* XCBuildMessageTextBookmark */ = {
isa = PBXTextBookmark;
comments = "Deprecated conversion from string constant to 'char*'";
fRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */;
fallbackIsa = XCBuildMessageTextBookmark;
rLen = 1;
rLoc = 306;
rType = 1;
};
8BC5EA352AD73FC70007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */;
name = "audioeffectx.cpp: 307";
rLen = 0;
rLoc = 10616;
rType = 0;
vrLen = 277;
vrLoc = 10459;
};
8BC5EA412AD73FC70007A2D0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */;
name = "ConsoleMCBussProc.cpp: 303";
rLen = 0;
rLoc = 12567;
rType = 0;
vrLen = 2268;
vrLoc = 10076;
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,462 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
2407DEB9089929BA00EB68BF /* ConsoleMCBuss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* ConsoleMCBuss.cpp */; };
245463B90991757100464AD3 /* ConsoleMCBuss.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* ConsoleMCBuss.h */; };
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
24D8287009A914000093AEF8 /* ConsoleMCBussProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */; };
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
8B0FD8672AD8855A00ACD69D /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD85B2AD8855A00ACD69D /* vstfxstore.h */; };
8B0FD8682AD8855A00ACD69D /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD85C2AD8855A00ACD69D /* aeffect.h */; };
8B0FD8692AD8855A00ACD69D /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD85D2AD8855A00ACD69D /* aeffectx.h */; };
8B0FD86A2AD8855A00ACD69D /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8612AD8855A00ACD69D /* audioeffectx.h */; };
8B0FD86B2AD8855A00ACD69D /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD8622AD8855A00ACD69D /* audioeffect.cpp */; };
8B0FD86C2AD8855A00ACD69D /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD8632AD8855A00ACD69D /* audioeffectx.cpp */; };
8B0FD86D2AD8855A00ACD69D /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8642AD8855A00ACD69D /* aeffeditor.h */; };
8B0FD86E2AD8855A00ACD69D /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD8652AD8855A00ACD69D /* vstplugmain.cpp */; };
8B0FD86F2AD8855A00ACD69D /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8662AD8855A00ACD69D /* audioeffect.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2407DE920899296600EB68BF /* ConsoleMCBuss.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCBuss.vst; sourceTree = BUILT_PRODUCTS_DIR; };
2407DEB6089929BA00EB68BF /* ConsoleMCBuss.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleMCBuss.cpp; path = source/ConsoleMCBuss.cpp; sourceTree = "<group>"; };
245463B80991757100464AD3 /* ConsoleMCBuss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ConsoleMCBuss.h; path = source/ConsoleMCBuss.h; sourceTree = "<group>"; };
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleMCBussProc.cpp; path = source/ConsoleMCBussProc.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; };
8B0FD85B2AD8855A00ACD69D /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8B0FD85C2AD8855A00ACD69D /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8B0FD85D2AD8855A00ACD69D /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8B0FD8612AD8855A00ACD69D /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8B0FD8622AD8855A00ACD69D /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8B0FD8632AD8855A00ACD69D /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8B0FD8642AD8855A00ACD69D /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8B0FD8652AD8855A00ACD69D /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8B0FD8662AD8855A00ACD69D /* 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 = (
8B0FD8582AD8855A00ACD69D /* vstsdk2.4 */,
2407DEB6089929BA00EB68BF /* ConsoleMCBuss.cpp */,
24D8286F09A914000093AEF8 /* ConsoleMCBussProc.cpp */,
245463B80991757100464AD3 /* ConsoleMCBuss.h */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
2407DE920899296600EB68BF /* ConsoleMCBuss.vst */,
);
name = Products;
sourceTree = "<group>";
};
8B0FD8582AD8855A00ACD69D /* vstsdk2.4 */ = {
isa = PBXGroup;
children = (
8B0FD8592AD8855A00ACD69D /* pluginterfaces */,
8B0FD85E2AD8855A00ACD69D /* public.sdk */,
);
name = vstsdk2.4;
path = ../../../../vstsdk2.4;
sourceTree = "<group>";
};
8B0FD8592AD8855A00ACD69D /* pluginterfaces */ = {
isa = PBXGroup;
children = (
8B0FD85A2AD8855A00ACD69D /* vst2.x */,
);
path = pluginterfaces;
sourceTree = "<group>";
};
8B0FD85A2AD8855A00ACD69D /* vst2.x */ = {
isa = PBXGroup;
children = (
8B0FD85B2AD8855A00ACD69D /* vstfxstore.h */,
8B0FD85C2AD8855A00ACD69D /* aeffect.h */,
8B0FD85D2AD8855A00ACD69D /* aeffectx.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
8B0FD85E2AD8855A00ACD69D /* public.sdk */ = {
isa = PBXGroup;
children = (
8B0FD85F2AD8855A00ACD69D /* source */,
);
path = public.sdk;
sourceTree = "<group>";
};
8B0FD85F2AD8855A00ACD69D /* source */ = {
isa = PBXGroup;
children = (
8B0FD8602AD8855A00ACD69D /* vst2.x */,
);
path = source;
sourceTree = "<group>";
};
8B0FD8602AD8855A00ACD69D /* vst2.x */ = {
isa = PBXGroup;
children = (
8B0FD8612AD8855A00ACD69D /* audioeffectx.h */,
8B0FD8622AD8855A00ACD69D /* audioeffect.cpp */,
8B0FD8632AD8855A00ACD69D /* audioeffectx.cpp */,
8B0FD8642AD8855A00ACD69D /* aeffeditor.h */,
8B0FD8652AD8855A00ACD69D /* vstplugmain.cpp */,
8B0FD8662AD8855A00ACD69D /* audioeffect.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8B0FD86D2AD8855A00ACD69D /* aeffeditor.h in Headers */,
245463B90991757100464AD3 /* ConsoleMCBuss.h in Headers */,
8B0FD86F2AD8855A00ACD69D /* audioeffect.h in Headers */,
8B0FD8682AD8855A00ACD69D /* aeffect.h in Headers */,
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
8B0FD86A2AD8855A00ACD69D /* audioeffectx.h in Headers */,
8B0FD8672AD8855A00ACD69D /* vstfxstore.h in Headers */,
8B0FD8692AD8855A00ACD69D /* aeffectx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */ = {
isa = PBXNativeTarget;
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ConsoleMCBuss" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCBuss;
productInstallPath = "$(HOME)/Library/Bundles";
productName = "FM-Chopper";
productReference = 2407DE920899296600EB68BF /* ConsoleMCBuss.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 "ConsoleMCBuss" */;
compatibilityVersion = "Xcode 2.4";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
de,
ja,
Base,
en,
fr,
);
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCBuss */,
);
};
/* 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 = (
8B0FD86C2AD8855A00ACD69D /* audioeffectx.cpp in Sources */,
2407DEB9089929BA00EB68BF /* ConsoleMCBuss.cpp in Sources */,
8B0FD86B2AD8855A00ACD69D /* audioeffect.cpp in Sources */,
8B0FD86E2AD8855A00ACD69D /* vstplugmain.cpp in Sources */,
24D8287009A914000093AEF8 /* ConsoleMCBussProc.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.ConsoleMCBuss;
PRODUCT_NAME = ConsoleMCBuss;
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.ConsoleMCBuss;
PRODUCT_NAME = ConsoleMCBuss;
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 "ConsoleMCBuss" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BEAAEE08919AE700E695F9 /* Debug */,
24BEAAEF08919AE700E695F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ConsoleMCBuss" */ = {
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 = "ConsoleMCBuss"
ReferencedContainer = "container:ConsoleMCBuss.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 = "ConsoleMCBuss"
ReferencedContainer = "container:ConsoleMCBuss.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>ConsoleMCBuss.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>ConsoleMCBuss</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>

View file

@ -0,0 +1 @@
BNDL????

View file

@ -0,0 +1,17 @@
#define MAC 1
#define MACX 1
#define USE_NAMESPACE 0
#define TARGET_API_MAC_CARBON 1
#define USENAVSERVICES 1
#define __CF_USE_FRAMEWORK_INCLUDES__
#if __MWERKS__
#define __NOEXTENSIONS__
#endif
#define QUARTZ 1
#include <AvailabilityMacros.h>

View file

@ -0,0 +1,121 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#include "ConsoleMCBuss.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ConsoleMCBuss(audioMaster);}
ConsoleMCBuss::ConsoleMCBuss(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 1.0;
for (int x = 0; x < gslew_total; x++) gslew[x] = 0.0;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
gainA = gainB = 1.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
_canDo.insert("x2in2out");
setNumInputs(kNumInputs);
setNumOutputs(kNumOutputs);
setUniqueID(kUniqueId);
canProcessReplacing(); // supports output replacing
canDoubleReplacing(); // supports double precision processing
programsAreChunks(true);
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
}
ConsoleMCBuss::~ConsoleMCBuss() {}
VstInt32 ConsoleMCBuss::getVendorVersion () {return 1000;}
void ConsoleMCBuss::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void ConsoleMCBuss::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 ConsoleMCBuss::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 ConsoleMCBuss::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
/* 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 ConsoleMCBuss::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float ConsoleMCBuss::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; 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 ConsoleMCBuss::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "Master", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void ConsoleMCBuss::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void ConsoleMCBuss::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 ConsoleMCBuss::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool ConsoleMCBuss::getEffectName(char* name) {
vst_strncpy(name, "ConsoleMCBuss", kVstMaxProductStrLen); return true;
}
VstPlugCategory ConsoleMCBuss::getPlugCategory() {return kPlugCategEffect;}
bool ConsoleMCBuss::getProductString(char* text) {
vst_strncpy (text, "airwindows ConsoleMCBuss", kVstMaxProductStrLen); return true;
}
bool ConsoleMCBuss::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,130 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#define __ConsoleMCBuss_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kNumParameters = 1
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'cmcb'; //Change this to what the AU identity is!
class ConsoleMCBuss :
public AudioEffectX
{
public:
ConsoleMCBuss(audioMasterCallback audioMaster);
~ConsoleMCBuss();
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;
enum {
prevSampL1,
prevSampR1,
invSampL1,
invSampR1,
threshold1,
prevSampL2,
prevSampR2,
invSampL2,
invSampR2,
threshold2,
prevSampL3,
prevSampR3,
invSampL3,
invSampR3,
threshold3,
prevSampL4,
prevSampR4,
invSampL4,
invSampR4,
threshold4,
prevSampL5,
prevSampR5,
invSampL5,
invSampR5,
threshold5,
prevSampL6,
prevSampR6,
invSampL6,
invSampR6,
threshold6,
prevSampL7,
prevSampR7,
invSampL7,
invSampR7,
threshold7,
prevSampL8,
prevSampR8,
invSampL8,
invSampR8,
threshold8,
prevSampL9,
prevSampR9,
invSampL9,
invSampR9,
threshold9,
prevSampL10,
prevSampR10,
invSampL10,
invSampR10,
threshold10,
gslew_total
}; //fixed frequency pear filter for ultrasonics, stereo
double gslew[gslew_total]; //probably worth just using a number here
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
double gainA;
double gainB; //smoothed master fader for channel, from Z2 series filter code
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
};
#endif

View file

@ -0,0 +1,320 @@
/* ========================================
* ConsoleMCBuss - ConsoleMCBuss.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __ConsoleMCBuss_H
#include "ConsoleMCBuss.h"
#endif
void ConsoleMCBuss::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(A); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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 ConsoleMCBuss::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
VstInt32 inFramesToProcess = sampleFrames; //vst doesn't give us this as a separate variable so we'll make it
double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= getSampleRate();
double source = 0.814/overallscale;
gslew[threshold10] = source;
source *= 1.618033988749894848204586;
gslew[threshold9] = source;
source *= 1.618033988749894848204586;
gslew[threshold8] = source;
source *= 1.618033988749894848204586;
gslew[threshold7] = source;
source *= 1.618033988749894848204586;
gslew[threshold6] = source;
source *= 1.618033988749894848204586;
gslew[threshold5] = source;
source *= 1.618033988749894848204586;
gslew[threshold4] = source;
source *= 1.618033988749894848204586;
gslew[threshold3] = source;
source *= 1.618033988749894848204586;
gslew[threshold2] = source;
source *= 1.618033988749894848204586;
gslew[threshold1] = source;
source *= 1.618033988749894848204586;
gainA = gainB;
gainB = sqrt(A); //smoothed master fader from Z2 filters
//this will be applied three times: this is to make the various tone alterations
//hit differently at different master fader drive levels.
//in particular, backing off the master fader tightens the super lows
//but opens up the EverySlew, because more of the attentuation happens before
//you even get to slew clipping :) and if the fader is not active, it bypasses completely.
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;
double temp = (double)sampleFrames/inFramesToProcess;
double gain = (gainA*temp)+(gainB*(1.0-temp));
//setting up smoothed master fader
//begin SubTight section
double subSampleL = inputSampleL * 0.001;
double subSampleR = inputSampleR * 0.001;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//subtight is always fully engaged: tighten response when restraining full console
//begin Console7Buss which is the one we choose for ConsoleMC
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
inputSampleL = ((asin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.618033988749894848204586)+(asin(inputSampleL)*0.381966011250105);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
inputSampleR = ((asin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.618033988749894848204586)+(asin(inputSampleR)*0.381966011250105);
//this is an asin version of Spiral blended with regular asin ConsoleBuss.
//It's blending between two different harmonics in the overtones of the algorithm
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after C7Buss but before EverySlew: allow highs to come out a bit more
//when pulling back master fader. Less drive equals more open
//begin EverySlew
for (int x = 20; x < gslew_total; x += 5) { //gslew_total is 50
if (((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleL-gslew[x])-((gslew[x]-gslew[x+2])*0.618033988749894848204586)) > gslew[x+4])
inputSampleL = (gslew[x]-((gslew[x]-gslew[x+2])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+2] = gslew[x]*(1.0-0.141);
gslew[x] = inputSampleL;
if (((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141)) + (gslew[x+4]*(1.0-0.141));
if (-((inputSampleR-gslew[x+1])-((gslew[x+1]-gslew[x+3])*0.618033988749894848204586)) > gslew[x+4])
inputSampleR = (gslew[x+1]-((gslew[x+1]-gslew[x+3])*0.141*0.78)) - (gslew[x+4]*(1.0-(0.141*0.78)));
gslew[x+3] = gslew[x+1]*(1.0-0.141);
gslew[x+1] = inputSampleR;
}
if (gain < 1.0) {
inputSampleL *= gain;
inputSampleR *= gain;
} //if using the master fader, we are going to attenuate three places.
//after EverySlew fades the total output sound: least change in tone here.
//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,110 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */;
breakpoints = (
);
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 = 718749686;
PBXWorkspaceStateSaveDate = 718749686;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
};
};
2407DEB6089929BA00EB68BF /* ConsoleMCChannel.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {848, 3024}}";
sepNavSelRange = "{6076, 0}";
sepNavVisRange = "{5000, 1819}";
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* ConsoleMCChannel.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1110, 1746}}";
sepNavSelRange = "{2933, 0}";
sepNavVisRange = "{2260, 804}";
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
};
};
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
sepNavSelRange = "{10616, 0}";
sepNavVisRange = "{9653, 2414}";
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
};
};
24D8286F09A914000093AEF8 /* ConsoleMCChannelProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1011, 16290}}";
sepNavSelRange = "{28447, 0}";
sepNavVisRange = "{18253, 2198}";
sepNavWindowFrame = "{{31, 42}, {895, 831}}";
};
};
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,462 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
2407DEB9089929BA00EB68BF /* ConsoleMCChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* ConsoleMCChannel.cpp */; };
245463B90991757100464AD3 /* ConsoleMCChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* ConsoleMCChannel.h */; };
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
24D8287009A914000093AEF8 /* ConsoleMCChannelProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ConsoleMCChannelProc.cpp */; };
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
8B0FD8822AD8875500ACD69D /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8762AD8875500ACD69D /* vstfxstore.h */; };
8B0FD8832AD8875500ACD69D /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8772AD8875500ACD69D /* aeffect.h */; };
8B0FD8842AD8875500ACD69D /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8782AD8875500ACD69D /* aeffectx.h */; };
8B0FD8852AD8875500ACD69D /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD87C2AD8875500ACD69D /* audioeffectx.h */; };
8B0FD8862AD8875500ACD69D /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD87D2AD8875500ACD69D /* audioeffect.cpp */; };
8B0FD8872AD8875500ACD69D /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD87E2AD8875500ACD69D /* audioeffectx.cpp */; };
8B0FD8882AD8875500ACD69D /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD87F2AD8875500ACD69D /* aeffeditor.h */; };
8B0FD8892AD8875500ACD69D /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0FD8802AD8875500ACD69D /* vstplugmain.cpp */; };
8B0FD88A2AD8875500ACD69D /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0FD8812AD8875500ACD69D /* audioeffect.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2407DE920899296600EB68BF /* ConsoleMCChannel.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConsoleMCChannel.vst; sourceTree = BUILT_PRODUCTS_DIR; };
2407DEB6089929BA00EB68BF /* ConsoleMCChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleMCChannel.cpp; path = source/ConsoleMCChannel.cpp; sourceTree = "<group>"; };
245463B80991757100464AD3 /* ConsoleMCChannel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ConsoleMCChannel.h; path = source/ConsoleMCChannel.h; sourceTree = "<group>"; };
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
24D8286F09A914000093AEF8 /* ConsoleMCChannelProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConsoleMCChannelProc.cpp; path = source/ConsoleMCChannelProc.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; };
8B0FD8762AD8875500ACD69D /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8B0FD8772AD8875500ACD69D /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8B0FD8782AD8875500ACD69D /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8B0FD87C2AD8875500ACD69D /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8B0FD87D2AD8875500ACD69D /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8B0FD87E2AD8875500ACD69D /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8B0FD87F2AD8875500ACD69D /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8B0FD8802AD8875500ACD69D /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8B0FD8812AD8875500ACD69D /* 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 = (
8B0FD8732AD8875500ACD69D /* vstsdk2.4 */,
2407DEB6089929BA00EB68BF /* ConsoleMCChannel.cpp */,
24D8286F09A914000093AEF8 /* ConsoleMCChannelProc.cpp */,
245463B80991757100464AD3 /* ConsoleMCChannel.h */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
2407DE920899296600EB68BF /* ConsoleMCChannel.vst */,
);
name = Products;
sourceTree = "<group>";
};
8B0FD8732AD8875500ACD69D /* vstsdk2.4 */ = {
isa = PBXGroup;
children = (
8B0FD8742AD8875500ACD69D /* pluginterfaces */,
8B0FD8792AD8875500ACD69D /* public.sdk */,
);
name = vstsdk2.4;
path = ../../../../vstsdk2.4;
sourceTree = "<group>";
};
8B0FD8742AD8875500ACD69D /* pluginterfaces */ = {
isa = PBXGroup;
children = (
8B0FD8752AD8875500ACD69D /* vst2.x */,
);
path = pluginterfaces;
sourceTree = "<group>";
};
8B0FD8752AD8875500ACD69D /* vst2.x */ = {
isa = PBXGroup;
children = (
8B0FD8762AD8875500ACD69D /* vstfxstore.h */,
8B0FD8772AD8875500ACD69D /* aeffect.h */,
8B0FD8782AD8875500ACD69D /* aeffectx.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
8B0FD8792AD8875500ACD69D /* public.sdk */ = {
isa = PBXGroup;
children = (
8B0FD87A2AD8875500ACD69D /* source */,
);
path = public.sdk;
sourceTree = "<group>";
};
8B0FD87A2AD8875500ACD69D /* source */ = {
isa = PBXGroup;
children = (
8B0FD87B2AD8875500ACD69D /* vst2.x */,
);
path = source;
sourceTree = "<group>";
};
8B0FD87B2AD8875500ACD69D /* vst2.x */ = {
isa = PBXGroup;
children = (
8B0FD87C2AD8875500ACD69D /* audioeffectx.h */,
8B0FD87D2AD8875500ACD69D /* audioeffect.cpp */,
8B0FD87E2AD8875500ACD69D /* audioeffectx.cpp */,
8B0FD87F2AD8875500ACD69D /* aeffeditor.h */,
8B0FD8802AD8875500ACD69D /* vstplugmain.cpp */,
8B0FD8812AD8875500ACD69D /* audioeffect.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8B0FD8882AD8875500ACD69D /* aeffeditor.h in Headers */,
245463B90991757100464AD3 /* ConsoleMCChannel.h in Headers */,
8B0FD88A2AD8875500ACD69D /* audioeffect.h in Headers */,
8B0FD8832AD8875500ACD69D /* aeffect.h in Headers */,
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
8B0FD8852AD8875500ACD69D /* audioeffectx.h in Headers */,
8B0FD8822AD8875500ACD69D /* vstfxstore.h in Headers */,
8B0FD8842AD8875500ACD69D /* aeffectx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */ = {
isa = PBXNativeTarget;
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ConsoleMCChannel" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
);
buildRules = (
);
dependencies = (
);
name = ConsoleMCChannel;
productInstallPath = "$(HOME)/Library/Bundles";
productName = "FM-Chopper";
productReference = 2407DE920899296600EB68BF /* ConsoleMCChannel.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 "ConsoleMCChannel" */;
compatibilityVersion = "Xcode 2.4";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
en,
Base,
ja,
fr,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* ConsoleMCChannel */,
);
};
/* 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 = (
8B0FD8872AD8875500ACD69D /* audioeffectx.cpp in Sources */,
2407DEB9089929BA00EB68BF /* ConsoleMCChannel.cpp in Sources */,
8B0FD8862AD8875500ACD69D /* audioeffect.cpp in Sources */,
8B0FD8892AD8875500ACD69D /* vstplugmain.cpp in Sources */,
24D8287009A914000093AEF8 /* ConsoleMCChannelProc.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.ConsoleMCChannel;
PRODUCT_NAME = ConsoleMCChannel;
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.ConsoleMCChannel;
PRODUCT_NAME = ConsoleMCChannel;
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 "ConsoleMCChannel" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BEAAEE08919AE700E695F9 /* Debug */,
24BEAAEF08919AE700E695F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ConsoleMCChannel" */ = {
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 = "ConsoleMCChannel"
ReferencedContainer = "container:ConsoleMCChannel.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 = "ConsoleMCChannel"
ReferencedContainer = "container:ConsoleMCChannel.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>ConsoleMCChannel.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>

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