EverySlew

This commit is contained in:
Christopher Johnson 2023-07-29 21:02:46 -04:00
parent a870d2bd93
commit 5375d64df5
82 changed files with 21058 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, Slew3, Slew2, Slew, Air2, Air, PurestAir, Acceleration, DeHiss, Hypersonic, HypersonX, Ultrasonic, UltrasonicLite, UltrasonicMed, UltrasonX
Brightness: PlatinumSlew, DeBess, GoldenSlew, 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
@ -1608,6 +1608,21 @@ Other stuff Im working on is Atmosphere, DeRez, and the latest Righteous, Rig
(as a follow-up, by 2022 I'm hanging down just above 100 in the global Patreon music rankings, and I did in fact get to Albany and the lecture by Bill Bruford. I got in late, and confused him with my cymbal gift after the lecture (Bruford: 'but it's not the one!' which, true, it was not, and I got quite flustered. I hope he understood in some way that I just wanted to give him something, somehow. And no Airwindows people were there, which simplified things I guess)
############ EverySlew is a wide variety of unique sound processing tools.
Where to even begin? This is the Swiss Army Chainsaw of treble processing plugins. It'll do Slew, GoldenSlew, PlatinumSlew, or any combination of them, forwards, backwards and inside out. I hesitate even to recommend it as there is no real introduction to it, or any other plugin or processor that will really teach you how to use it. If you'd like to just tame unruly high frequencies, you can still use GoldenSlew or PlatinumSlew, and as long as you can still hear audio coming out you're fine (don't crank up Slew or GoldenSlew all the way to 1.0 unless you want to sample and hold, because they will do what you asked).
But if you're still reading, here's what you get extra in EverySlew, which is mainly for me to use developing versions of Console that sound like real analog desks.
Firstly, the Depth control gives you number of stages, with full crank being the equivalent of GoldenSlew or PlatinumSlew. For many sounds there will be no difference between the full ten stages those have, and much fewer. It'll be hard to hear. Fewer stages means lighter CPU load, so I'll be finding optimal settings here, but it also means less of the 'golden' effect when given extreme inputs. When used to take off only the brightest highs (more on that later) you can use fewer stages with no penalty. Two or three should suffice: 0.2 or 0.3 or so.
Secondly, the Halo control gives you a terrifying, industrial meltdown of a sound that also introduces attenuation into the deep bass. I called it Halo because it brings in an odd sparkliness and energy that could come in handy. It uses another level of previous-sample to try and identify actual corners, changes in the angle of the wave, like my DeEss and Acceleration plugins do. I've never got this algorithm to work until now: having made it work, it's a strange and unruly thing. Realistic settings will all be rather low, especially if Slew is anything like obvious. HIgh Halo settings are a kind of terrible distortion I've never quite heard before: I expect this to be used in anger to make some very aggressive noises not quite like any other (which is always handy, right?)
Lastly, you've now got a dry/wet. But not JUST a dry/wet, an Inv/Dry/Wet. Dry is 0.5 on the control. Crank it up and you have full wet… but set it to Inv, and you can make it cancel out the dry signal. When you do that, it shows you only the bits that are slew clipping, and silences everything else. So, for the first time, it's a slew clipper where you can monitor the clipping only, and directly hear exactly what the thing is doing. And this is handy, because the effect is very hard to hear at the levels it should be used! It will tend to make things sound exactly like they already did, except with glue and space in the mix, combing over the stray edges and points. Setting it to Inv means you can hear the points being put into place. Also, if you're using Halo, you can hear when that begins to reshape the effect, bringing in lows and so on.
EverySlew isn't for everybody. I made it because I'll need it. I share it because that's what I do. If you're the sort of person to like this sort of thing, I hope you like it :)
############ EveryTrim is Left/Right, Mid/Side, and Master in one plugin.
EveryTrim is like PurestGain only more so: it is very simply every basic stereo trim you can have (in loudness terms, anyhow!) You get left, right, mid/side, and a master level control. It works on stereo tracks only, as mid/side is meaningless without stereo.

View file

@ -140,6 +140,7 @@ add_airwindows_plugin(ElectroHat)
add_airwindows_plugin(Energy)
add_airwindows_plugin(Energy2)
add_airwindows_plugin(Ensemble)
add_airwindows_plugin(EveryConsole)
add_airwindows_plugin(EverySlew)
add_airwindows_plugin(EveryTrim)
add_airwindows_plugin(Exciter)

View file

@ -0,0 +1,149 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new EveryConsole(audioMaster);}
EveryConsole::EveryConsole(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.0;
B = 0.5;
C = 0.5;
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
}
EveryConsole::~EveryConsole() {}
VstInt32 EveryConsole::getVendorVersion () {return 1000;}
void EveryConsole::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void EveryConsole::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 EveryConsole::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
started with. */
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 EveryConsole::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
/* We're ignoring byteSize as we found it to be a filthy liar */
/* calculate any other fields you need here - you could copy in
code from setParameter() here. */
return 0;
}
void EveryConsole::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float EveryConsole::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
default: break; // unknown parameter, shouldn't happen!
} return 0.0; //we only need to update the relevant name, this is simple to manage
}
void EveryConsole::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "ConType", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "InTrim", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "OutTrim", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void EveryConsole::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: switch((VstInt32)( A * 11.999 )) //0 to almost edge of # of params
{case 0: vst_strncpy (text, "Retro Ch", kVstMaxParamStrLen); break;
case 1: vst_strncpy (text, "Retro Bs", kVstMaxParamStrLen); break;
case 2: vst_strncpy (text, "Sin() Ch", kVstMaxParamStrLen); break;
case 3: vst_strncpy (text, "aSin() Bs", kVstMaxParamStrLen); break;
case 4: vst_strncpy (text, "C6 Ch", kVstMaxParamStrLen); break;
case 5: vst_strncpy (text, "C6 Bs", kVstMaxParamStrLen); break;
case 6: vst_strncpy (text, "C7 Ch", kVstMaxParamStrLen); break;
case 7: vst_strncpy (text, "C7 Bs", kVstMaxParamStrLen); break;
case 8: vst_strncpy (text, "BShift Ch", kVstMaxParamStrLen); break;
case 9: vst_strncpy (text, "BShift Bs", kVstMaxParamStrLen); break;
case 10: vst_strncpy (text, "CZero Ch", kVstMaxParamStrLen); break;
case 11: vst_strncpy (text, "CZero Bs", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} break;
case kParamB: float2string (B*2.0, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C*2.0, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void EveryConsole::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 EveryConsole::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool EveryConsole::getEffectName(char* name) {
vst_strncpy(name, "EveryConsole", kVstMaxProductStrLen); return true;
}
VstPlugCategory EveryConsole::getPlugCategory() {return kPlugCategEffect;}
bool EveryConsole::getProductString(char* text) {
vst_strncpy (text, "airwindows EveryConsole", kVstMaxProductStrLen); return true;
}
bool EveryConsole::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,66 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#define __EveryConsole_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kParamB = 1,
kParamC = 2,
kNumParameters = 3
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'evcs'; //Change this to what the AU identity is!
class EveryConsole :
public AudioEffectX
{
public:
EveryConsole(audioMasterCallback audioMaster);
~EveryConsole();
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;
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
float B;
float C;
};
#endif

View file

@ -0,0 +1,368 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
void EveryConsole::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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 EveryConsole::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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++;
}
}

Binary file not shown.

View file

@ -0,0 +1,336 @@
/*
* File: EveryConsole.cpp
*
* Version: 1.0
*
* Created: 7/24/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.
*
*/
/*=============================================================================
EveryConsole.cpp
=============================================================================*/
#include "EveryConsole.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMPONENT_ENTRY(EveryConsole)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsole
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EveryConsole::EveryConsole(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
SetParameter(kParam_Two, kDefaultValue_ParamTwo );
SetParameter(kParam_Three, kDefaultValue_ParamThree );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
if ((inScope == kAudioUnitScope_Global) && (inParameterID == kParam_One)) //ID must be actual name of parameter identifier, not number
{
if (outStrings == NULL) return noErr;
CFStringRef strings [] =
{
kMenuItem_RC,
kMenuItem_RB,
kMenuItem_SC,
kMenuItem_SB,
kMenuItem_6C,
kMenuItem_6B,
kMenuItem_7C,
kMenuItem_7B,
kMenuItem_BC,
kMenuItem_BB,
kMenuItem_ZC,
kMenuItem_ZB,
};
*outStrings = CFArrayCreate (
NULL,
(const void **) strings,
(sizeof (strings) / sizeof (strings [0])),
NULL
);
return noErr;
}
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::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_Indexed;
outParameterInfo.minValue = kRC;
outParameterInfo.maxValue = kZB;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
case kParam_Two:
AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 2.0;
outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
break;
case kParam_Three:
AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 2.0;
outParameterInfo.defaultValue = kDefaultValue_ParamThree;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// EveryConsole::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____EveryConsoleEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsoleKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void EveryConsole::EveryConsoleKernel::Reset()
{
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsoleKernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void EveryConsole::EveryConsoleKernel::Process( const Float32 *inSourceP,
Float32 *inDestP,
UInt32 inFramesToProcess,
UInt32 inNumChannels,
bool &ioSilence )
{
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
double half = 0.0;
double falf = 0.0;
int console = (int) GetParameter( kParam_One );
Float64 inTrim = GetParameter( kParam_Two ); //0-2
Float64 outTrim = GetParameter( kParam_Three );
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
if (inTrim != 1.0) {
inputSample *= inTrim;
}
switch (console)
{
case kRC:
half = inputSample * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSample -= half;
break; //original ConsoleChannel, before sin/asin
case kRB:
half = inputSample * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSample += half;
break; //original ConsoleBuss, before sin/asin
case kSC:
if (inputSample > M_PI_2) inputSample = M_PI_2;
if (inputSample < -M_PI_2) inputSample = -M_PI_2;
//clip to max sine without any wavefolding
inputSample = sin(inputSample);
break; //sin() function ConsoleChannel
case kSB:
if (inputSample > 1.0) inputSample = 1.0;
if (inputSample < -1.0) inputSample = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSample = asin(inputSample);
break; //sin() function ConsoleBuss
case k6C:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSample > 1.0) inputSample= 1.0;
else if (inputSample > 0.0) inputSample = 1.0 - pow(1.0-inputSample,2.0);
if (inputSample < -1.0) inputSample = -1.0;
else if (inputSample < 0.0) inputSample = -1.0 + pow(1.0+inputSample,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case k6B:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSample > 1.0) inputSample= 1.0;
else if (inputSample > 0.0) inputSample = 1.0 - pow(1.0-inputSample,0.5);
if (inputSample < -1.0) inputSample = -1.0;
else if (inputSample < 0.0) inputSample = -1.0 + pow(1.0+inputSample,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case k7C:
if (inputSample > 1.097) inputSample = 1.097;
if (inputSample < -1.097) inputSample = -1.097;
inputSample = ((sin(inputSample*fabs(inputSample))/((fabs(inputSample) == 0.0) ?1:fabs(inputSample)))*0.8)+(sin(inputSample)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case k7B:
if (inputSample > 1.0) inputSample = 1.0;
if (inputSample < -1.0) inputSample = -1.0;
inputSample = ((asin(inputSample*fabs(inputSample))/((fabs(inputSample) == 0.0) ?1:fabs(inputSample)))*0.618033988749894848204586)+(asin(inputSample)*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.
break; //Console7Buss
case kBC:
inputSample += ((pow(inputSample,5)/128.0) + (pow(inputSample,9)/262144.0)) - ((pow(inputSample,3)/8.0) + (pow(inputSample,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case kBB:
inputSample += (pow(inputSample,3)/4.0)+(pow(inputSample,5)/8.0)+(pow(inputSample,7)/16.0)+(pow(inputSample,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case kZC:
if (inputSample > 1.4137166941154) inputSample = 1.4137166941154;
if (inputSample < -1.4137166941154) inputSample = -1.4137166941154;
if (inputSample > 0.0) inputSample = (inputSample/2.0)*(2.8274333882308-inputSample);
else inputSample = -(inputSample/-2.0)*(2.8274333882308+inputSample);
break; //ConsoleZeroChannel
case kZB:
if (inputSample > 2.8) inputSample = 2.8;
if (inputSample < -2.8) inputSample = -2.8;
if (inputSample > 0.0) inputSample = (inputSample*2.0)/(3.0-inputSample);
else inputSample = -(inputSample*-2.0)/(3.0+inputSample);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSample *= outTrim;
}
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1 @@
_EveryConsoleEntry

View file

@ -0,0 +1,168 @@
/*
* File: EveryConsole.h
*
* Version: 1.0
*
* Created: 7/24/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 "EveryConsoleVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __EveryConsole_h__
#define __EveryConsole_h__
#pragma mark ____EveryConsole Parameters
// parameters
static CFStringRef kParameterOneName = CFSTR("Console Type");
static const int kRC = 1;
static const int kRB = 2;
static const int kSC = 3;
static const int kSB = 4;
static const int k6C = 5;
static const int k6B = 6;
static const int k7C = 7;
static const int k7B = 8;
static const int kBC = 9;
static const int kBB = 10;
static const int kZC = 11;
static const int kZB = 12;
static const int kDefaultValue_ParamOne = kSC;
static CFStringRef kParameterTwoName = CFSTR("In Trim");
static const float kDefaultValue_ParamTwo = 1.0;
static CFStringRef kParameterThreeName = CFSTR("Out Trim");
static const float kDefaultValue_ParamThree = 1.0;
static CFStringRef kMenuItem_RC = CFSTR ("Retro Channel");
static CFStringRef kMenuItem_RB = CFSTR ("Retro Buss");
static CFStringRef kMenuItem_SC = CFSTR ("Sin() Channel");
static CFStringRef kMenuItem_SB = CFSTR ("aSin() Buss");
static CFStringRef kMenuItem_6C = CFSTR ("C6 Channel");
static CFStringRef kMenuItem_6B = CFSTR ("C6 Buss");
static CFStringRef kMenuItem_7C = CFSTR ("C7 Channel");
static CFStringRef kMenuItem_7B = CFSTR ("C7 Buss");
static CFStringRef kMenuItem_BC = CFSTR ("BShifty Channel");
static CFStringRef kMenuItem_BB = CFSTR ("BShifty Buss");
static CFStringRef kMenuItem_ZC = CFSTR ("CZero Channel");
static CFStringRef kMenuItem_ZB = CFSTR ("CZero Buss");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
kParam_Two =1,
kParam_Three =2,
//Add your parameters here...
kNumberOfParameters=3
};
#pragma mark ____EveryConsole
class EveryConsole : public AUEffectBase
{
public:
EveryConsole(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~EveryConsole () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new EveryConsoleKernel(this); }
virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings);
virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo);
virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable );
virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData);
virtual ComponentResult Initialize();
virtual bool SupportsTail () { return true; }
virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
/*! @method Version */
virtual ComponentResult Version() { return kEveryConsoleVersion; }
protected:
class EveryConsoleKernel : public AUKernelBase // most of the real work happens here
{
public:
EveryConsoleKernel(AUEffectBase *inAudioUnit )
: AUKernelBase(inAudioUnit)
{
}
// *Required* overides for the process method for this effect
// processes one channel of interleaved samples
virtual void Process( const Float32 *inSourceP,
Float32 *inDestP,
UInt32 inFramesToProcess,
UInt32 inNumChannels,
bool &ioSilence);
virtual void Reset();
private:
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: EveryConsole.r
*
* Version: 1.0
*
* Created: 7/24/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 "EveryConsoleVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_EveryConsole 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EveryConsole~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_EveryConsole
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE EveryConsole_COMP_SUBTYPE
#define COMP_MANUF EveryConsole_COMP_MANF
#define VERSION kEveryConsoleVersion
#define NAME "Airwindows: EveryConsole"
#define DESCRIPTION "EveryConsole AU"
#define ENTRY_POINT "EveryConsoleEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,161 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* EveryConsole */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
292,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
252,
60,
20,
48,
43,
43,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXTargetDataSource_PrimaryAttribute,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 711979760;
PBXWorkspaceStateSaveDate = 711979760;
};
perUserProjectItems = {
8BB27E702A6F2FD600EDBE09 /* PlistBookmark */ = 8BB27E702A6F2FD600EDBE09 /* PlistBookmark */;
8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */ = 8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */;
8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */ = 8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */;
8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */;
8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8BA05A660720730100365D66 /* EveryConsole.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1677, 5850}}";
sepNavSelRange = "{13959, 0}";
sepNavVisRange = "{11685, 508}";
sepNavWindowFrame = "{{177, 43}, {1244, 835}}";
};
};
8BA05A690720730100365D66 /* EveryConsoleVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1038, 1206}}";
sepNavSelRange = "{2927, 0}";
sepNavVisRange = "{2739, 250}";
sepNavWindowFrame = "{{15, 38}, {1244, 835}}";
};
};
8BB27E702A6F2FD600EDBE09 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/EveryConsole/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* EveryConsoleVersion.h */;
name = "EveryConsoleVersion.h: 54";
rLen = 0;
rLoc = 2927;
rType = 0;
vrLen = 250;
vrLoc = 2739;
};
8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */;
name = "EveryConsole.cpp: 281";
rLen = 0;
rLoc = 13959;
rType = 0;
vrLen = 234;
vrLoc = 11763;
};
8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* EveryConsole.h */;
name = "EveryConsole.h: 60";
rLen = 0;
rLoc = 2984;
rType = 0;
vrLen = 298;
vrLoc = 5065;
};
8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */;
name = "EveryConsole.cpp: 319";
rLen = 0;
rLoc = 13959;
rType = 0;
vrLen = 508;
vrLoc = 11685;
};
8BC6025B073B072D006C4272 /* EveryConsole.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1029, 3222}}";
sepNavSelRange = "{2984, 0}";
sepNavVisRange = "{5065, 298}";
sepNavWindowFrame = "{{196, 43}, {1244, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
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 /* EveryConsole.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* EveryConsole.r */; };
8BA05A6B0720730100365D66 /* EveryConsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */; };
8BA05A6E0720730100365D66 /* EveryConsoleVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* EveryConsoleVersion.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 /* EveryConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* EveryConsole.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 /* EveryConsole.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EveryConsole.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* EveryConsole.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = EveryConsole.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* EveryConsole.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = EveryConsole.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* EveryConsoleVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EveryConsoleVersion.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 /* EveryConsole.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EveryConsole.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* EveryConsole.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EveryConsole.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 /* EveryConsole */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = EveryConsole;
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 /* EveryConsole.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* EveryConsole.h */,
8BA05A660720730100365D66 /* EveryConsole.cpp */,
8BA05A670720730100365D66 /* EveryConsole.exp */,
8BA05A680720730100365D66 /* EveryConsole.r */,
8BA05A690720730100365D66 /* EveryConsoleVersion.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 /* EveryConsoleVersion.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 /* EveryConsole.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 /* EveryConsole */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "EveryConsole" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = EveryConsole;
productInstallPath = "$(HOME)/Library/Bundles";
productName = EveryConsole;
productReference = 8D01CCD20486CAD60068D4B7 /* EveryConsole.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 "EveryConsole" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 089C166AFE841209C02AAC07 /* EveryConsole */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* EveryConsole */,
);
};
/* 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 /* EveryConsole.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BA05A6B0720730100365D66 /* EveryConsole.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 = EveryConsole.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 = EveryConsole;
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
x86_64,
);
EXPORTED_SYMBOLS_FILE = EveryConsole.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 = EveryConsole;
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 "EveryConsole" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "EveryConsole" */ = {
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: EveryConsoleVersion.h
*
* Version: 1.0
*
* Created: 7/24/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 __EveryConsoleVersion_h__
#define __EveryConsoleVersion_h__
#ifdef DEBUG
#define kEveryConsoleVersion 0xFFFFFFFF
#else
#define kEveryConsoleVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define EveryConsole_COMP_MANF 'Dthr'
#define EveryConsole_COMP_SUBTYPE 'evcs'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#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>DthX</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildVersion</key>
<string>3</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>ProjectName</key>
<string>${EXECUTABLE_NAME}</string>
<key>SourceVersion</key>
<string>590000</string>
</dict>
</plist>

View file

@ -0,0 +1,336 @@
/*
* File: EveryConsole.cpp
*
* Version: 1.0
*
* Created: 7/24/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.
*
*/
/*=============================================================================
EveryConsole.cpp
=============================================================================*/
#include "EveryConsole.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AUDIOCOMPONENT_ENTRY(AUBaseFactory, EveryConsole)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsole
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EveryConsole::EveryConsole(AudioUnit component)
: AUEffectBase(component)
{
CreateElements();
Globals()->UseIndexedParameters(kNumberOfParameters);
SetParameter(kParam_One, kDefaultValue_ParamOne );
SetParameter(kParam_Two, kDefaultValue_ParamTwo );
SetParameter(kParam_Three, kDefaultValue_ParamThree );
#if AU_DEBUG_DISPATCHER
mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetParameterValueStrings
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings)
{
if ((inScope == kAudioUnitScope_Global) && (inParameterID == kParam_One)) //ID must be actual name of parameter identifier, not number
{
if (outStrings == NULL) return noErr;
CFStringRef strings [] =
{
kMenuItem_RC,
kMenuItem_RB,
kMenuItem_SC,
kMenuItem_SB,
kMenuItem_6C,
kMenuItem_6B,
kMenuItem_7C,
kMenuItem_7B,
kMenuItem_BC,
kMenuItem_BB,
kMenuItem_ZC,
kMenuItem_ZB,
};
*outStrings = CFArrayCreate (
NULL,
(const void **) strings,
(sizeof (strings) / sizeof (strings [0])),
NULL
);
return noErr;
}
return kAudioUnitErr_InvalidProperty;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetParameterInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::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_Indexed;
outParameterInfo.minValue = kRC;
outParameterInfo.maxValue = kZB;
outParameterInfo.defaultValue = kDefaultValue_ParamOne;
break;
case kParam_Two:
AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 2.0;
outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
break;
case kParam_Three:
AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
outParameterInfo.minValue = 0.0;
outParameterInfo.maxValue = 2.0;
outParameterInfo.defaultValue = kDefaultValue_ParamThree;
break;
default:
result = kAudioUnitErr_InvalidParameter;
break;
}
} else {
result = kAudioUnitErr_InvalidParameter;
}
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetPropertyInfo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::GetProperty
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::GetProperty( AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData )
{
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
// EveryConsole::Initialize
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult EveryConsole::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
#pragma mark ____EveryConsoleEffectKernel
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsoleKernel::Reset()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void EveryConsole::EveryConsoleKernel::Reset()
{
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// EveryConsole::EveryConsoleKernel::Process
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void EveryConsole::EveryConsoleKernel::Process( const Float32 *inSourceP,
Float32 *inDestP,
UInt32 inFramesToProcess,
UInt32 inNumChannels,
bool &ioSilence )
{
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
double half = 0.0;
double falf = 0.0;
int console = (int) GetParameter( kParam_One );
Float64 inTrim = GetParameter( kParam_Two ); //0-2
Float64 outTrim = GetParameter( kParam_Three );
while (nSampleFrames-- > 0) {
double inputSample = *sourceP;
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
if (inTrim != 1.0) {
inputSample *= inTrim;
}
switch (console)
{
case kRC:
half = inputSample * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSample -= half;
break; //original ConsoleChannel, before sin/asin
case kRB:
half = inputSample * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSample += half;
break; //original ConsoleBuss, before sin/asin
case kSC:
if (inputSample > M_PI_2) inputSample = M_PI_2;
if (inputSample < -M_PI_2) inputSample = -M_PI_2;
//clip to max sine without any wavefolding
inputSample = sin(inputSample);
break; //sin() function ConsoleChannel
case kSB:
if (inputSample > 1.0) inputSample = 1.0;
if (inputSample < -1.0) inputSample = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSample = asin(inputSample);
break; //sin() function ConsoleBuss
case k6C:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSample > 1.0) inputSample= 1.0;
else if (inputSample > 0.0) inputSample = 1.0 - pow(1.0-inputSample,2.0);
if (inputSample < -1.0) inputSample = -1.0;
else if (inputSample < 0.0) inputSample = -1.0 + pow(1.0+inputSample,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case k6B:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSample > 1.0) inputSample= 1.0;
else if (inputSample > 0.0) inputSample = 1.0 - pow(1.0-inputSample,0.5);
if (inputSample < -1.0) inputSample = -1.0;
else if (inputSample < 0.0) inputSample = -1.0 + pow(1.0+inputSample,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case k7C:
if (inputSample > 1.097) inputSample = 1.097;
if (inputSample < -1.097) inputSample = -1.097;
inputSample = ((sin(inputSample*fabs(inputSample))/((fabs(inputSample) == 0.0) ?1:fabs(inputSample)))*0.8)+(sin(inputSample)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case k7B:
if (inputSample > 1.0) inputSample = 1.0;
if (inputSample < -1.0) inputSample = -1.0;
inputSample = ((asin(inputSample*fabs(inputSample))/((fabs(inputSample) == 0.0) ?1:fabs(inputSample)))*0.618033988749894848204586)+(asin(inputSample)*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.
break; //Console7Buss
case kBC:
inputSample += ((pow(inputSample,5)/128.0) + (pow(inputSample,9)/262144.0)) - ((pow(inputSample,3)/8.0) + (pow(inputSample,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case kBB:
inputSample += (pow(inputSample,3)/4.0)+(pow(inputSample,5)/8.0)+(pow(inputSample,7)/16.0)+(pow(inputSample,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case kZC:
if (inputSample > 1.4137166941154) inputSample = 1.4137166941154;
if (inputSample < -1.4137166941154) inputSample = -1.4137166941154;
if (inputSample > 0.0) inputSample = (inputSample/2.0)*(2.8274333882308-inputSample);
else inputSample = -(inputSample/-2.0)*(2.8274333882308+inputSample);
break; //ConsoleZeroChannel
case kZB:
if (inputSample > 2.8) inputSample = 2.8;
if (inputSample < -2.8) inputSample = -2.8;
if (inputSample > 0.0) inputSample = (inputSample*2.0)/(3.0-inputSample);
else inputSample = -(inputSample*-2.0)/(3.0+inputSample);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSample *= outTrim;
}
//begin 32 bit floating point dither
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
//end 32 bit floating point dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
}

View file

@ -0,0 +1,2 @@
_EveryConsoleEntry
_EveryConsoleFactory

View file

@ -0,0 +1,168 @@
/*
* File: EveryConsole.h
*
* Version: 1.0
*
* Created: 7/24/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 "EveryConsoleVersion.h"
#if AU_DEBUG_DISPATCHER
#include "AUDebugDispatcher.h"
#endif
#ifndef __EveryConsole_h__
#define __EveryConsole_h__
#pragma mark ____EveryConsole Parameters
// parameters
static CFStringRef kParameterOneName = CFSTR("Console Type");
static const int kRC = 1;
static const int kRB = 2;
static const int kSC = 3;
static const int kSB = 4;
static const int k6C = 5;
static const int k6B = 6;
static const int k7C = 7;
static const int k7B = 8;
static const int kBC = 9;
static const int kBB = 10;
static const int kZC = 11;
static const int kZB = 12;
static const int kDefaultValue_ParamOne = kSC;
static CFStringRef kParameterTwoName = CFSTR("In Trim");
static const float kDefaultValue_ParamTwo = 1.0;
static CFStringRef kParameterThreeName = CFSTR("Out Trim");
static const float kDefaultValue_ParamThree = 1.0;
static CFStringRef kMenuItem_RC = CFSTR ("Retro Channel");
static CFStringRef kMenuItem_RB = CFSTR ("Retro Buss");
static CFStringRef kMenuItem_SC = CFSTR ("Sin() Channel");
static CFStringRef kMenuItem_SB = CFSTR ("aSin() Buss");
static CFStringRef kMenuItem_6C = CFSTR ("C6 Channel");
static CFStringRef kMenuItem_6B = CFSTR ("C6 Buss");
static CFStringRef kMenuItem_7C = CFSTR ("C7 Channel");
static CFStringRef kMenuItem_7B = CFSTR ("C7 Buss");
static CFStringRef kMenuItem_BC = CFSTR ("BShifty Channel");
static CFStringRef kMenuItem_BB = CFSTR ("BShifty Buss");
static CFStringRef kMenuItem_ZC = CFSTR ("CZero Channel");
static CFStringRef kMenuItem_ZB = CFSTR ("CZero Buss");
//Alter the name if desired, but using the plugin name is a start
enum {
kParam_One =0,
kParam_Two =1,
kParam_Three =2,
//Add your parameters here...
kNumberOfParameters=3
};
#pragma mark ____EveryConsole
class EveryConsole : public AUEffectBase
{
public:
EveryConsole(AudioUnit component);
#if AU_DEBUG_DISPATCHER
virtual ~EveryConsole () { delete mDebugDispatcher; }
#endif
virtual AUKernelBase * NewKernel() { return new EveryConsoleKernel(this); }
virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
CFArrayRef * outStrings);
virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
AudioUnitParameterID inParameterID,
AudioUnitParameterInfo &outParameterInfo);
virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable );
virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData);
virtual ComponentResult Initialize();
virtual bool SupportsTail () { return true; }
virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
/*! @method Version */
virtual ComponentResult Version() { return kEveryConsoleVersion; }
protected:
class EveryConsoleKernel : public AUKernelBase // most of the real work happens here
{
public:
EveryConsoleKernel(AUEffectBase *inAudioUnit )
: AUKernelBase(inAudioUnit)
{
}
// *Required* overides for the process method for this effect
// processes one channel of interleaved samples
virtual void Process( const Float32 *inSourceP,
Float32 *inDestP,
UInt32 inFramesToProcess,
UInt32 inNumChannels,
bool &ioSilence);
virtual void Reset();
private:
uint32_t fpd;
};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif

View file

@ -0,0 +1,61 @@
/*
* File: EveryConsole.r
*
* Version: 1.0
*
* Created: 7/24/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 "EveryConsoleVersion.h"
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
#define kAudioUnitResID_EveryConsole 1000
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EveryConsole~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define RES_ID kAudioUnitResID_EveryConsole
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE EveryConsole_COMP_SUBTYPE
#define COMP_MANUF EveryConsole_COMP_MANF
#define VERSION kEveryConsoleVersion
#define NAME "Airwindows: EveryConsole"
#define DESCRIPTION "EveryConsole AU"
#define ENTRY_POINT "EveryConsoleEntry"
#include "AUResources.r"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,161 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* EveryConsole */;
breakpoints = (
);
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
292,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
252,
60,
20,
48,
43,
43,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXTargetDataSource_PrimaryAttribute,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 711979760;
PBXWorkspaceStateSaveDate = 711979760;
};
perUserProjectItems = {
8BB27E702A6F2FD600EDBE09 /* PlistBookmark */ = 8BB27E702A6F2FD600EDBE09 /* PlistBookmark */;
8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */ = 8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */;
8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */ = 8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */;
8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */;
8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
8BA05A660720730100365D66 /* EveryConsole.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1677, 5850}}";
sepNavSelRange = "{13959, 0}";
sepNavVisRange = "{11685, 508}";
sepNavWindowFrame = "{{177, 43}, {1244, 835}}";
};
};
8BA05A690720730100365D66 /* EveryConsoleVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1038, 1206}}";
sepNavSelRange = "{2927, 0}";
sepNavVisRange = "{2739, 250}";
sepNavWindowFrame = "{{15, 38}, {1244, 835}}";
};
};
8BB27E702A6F2FD600EDBE09 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/EveryConsole/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
8BB27EE32A6F33B800EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* EveryConsoleVersion.h */;
name = "EveryConsoleVersion.h: 54";
rLen = 0;
rLoc = 2927;
rType = 0;
vrLen = 250;
vrLoc = 2739;
};
8BB27FA52A6F3A6700EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */;
name = "EveryConsole.cpp: 281";
rLen = 0;
rLoc = 13959;
rType = 0;
vrLen = 234;
vrLoc = 11763;
};
8BB27FCF2A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* EveryConsole.h */;
name = "EveryConsole.h: 60";
rLen = 0;
rLoc = 2984;
rType = 0;
vrLen = 298;
vrLoc = 5065;
};
8BB27FD02A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */;
name = "EveryConsole.cpp: 319";
rLen = 0;
rLoc = 13959;
rType = 0;
vrLen = 508;
vrLoc = 11685;
};
8BC6025B073B072D006C4272 /* EveryConsole.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1029, 3222}}";
sepNavSelRange = "{2984, 0}";
sepNavVisRange = "{5065, 298}";
sepNavWindowFrame = "{{196, 43}, {1244, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8BD3CCB9148830B20062E48C /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,965 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8BA05A6B0720730100365D66 /* EveryConsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* EveryConsole.cpp */; };
8BA05A6E0720730100365D66 /* EveryConsoleVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* EveryConsoleVersion.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 */; };
8BAFF30D2A7074F300327478 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2852A7074F300327478 /* CAExtAudioFile.h */; };
8BAFF30E2A7074F300327478 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2862A7074F300327478 /* CACFMachPort.h */; };
8BAFF30F2A7074F300327478 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2872A7074F300327478 /* CABool.h */; };
8BAFF3102A7074F300327478 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2882A7074F300327478 /* CAComponent.cpp */; };
8BAFF3112A7074F300327478 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2892A7074F300327478 /* CADebugger.h */; };
8BAFF3122A7074F300327478 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF28A2A7074F300327478 /* CACFNumber.cpp */; };
8BAFF3132A7074F300327478 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF28B2A7074F300327478 /* CAGuard.h */; };
8BAFF3142A7074F300327478 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF28C2A7074F300327478 /* CAAtomic.h */; };
8BAFF3152A7074F300327478 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF28D2A7074F300327478 /* CAStreamBasicDescription.h */; };
8BAFF3162A7074F300327478 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF28E2A7074F300327478 /* CACFObject.h */; };
8BAFF3172A7074F300327478 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF28F2A7074F300327478 /* CAStreamRangedDescription.h */; };
8BAFF3182A7074F300327478 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2902A7074F300327478 /* CATokenMap.h */; };
8BAFF3192A7074F300327478 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2912A7074F300327478 /* CAComponent.h */; };
8BAFF31A2A7074F300327478 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2922A7074F300327478 /* CAAudioBufferList.h */; };
8BAFF31B2A7074F300327478 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2932A7074F300327478 /* CAAudioUnit.h */; };
8BAFF31C2A7074F300327478 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2942A7074F300327478 /* CAAUParameter.h */; };
8BAFF31D2A7074F300327478 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2952A7074F300327478 /* CAException.h */; };
8BAFF31E2A7074F300327478 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2962A7074F300327478 /* CAAUProcessor.cpp */; };
8BAFF31F2A7074F300327478 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2972A7074F300327478 /* CAAUProcessor.h */; };
8BAFF3202A7074F300327478 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2982A7074F300327478 /* CAProcess.h */; };
8BAFF3212A7074F300327478 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2992A7074F300327478 /* CACFDictionary.h */; };
8BAFF3222A7074F300327478 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF29A2A7074F300327478 /* CAPThread.h */; };
8BAFF3232A7074F300327478 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF29B2A7074F300327478 /* CAAUParameter.cpp */; };
8BAFF3242A7074F300327478 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF29C2A7074F300327478 /* CAAudioTimeStamp.h */; };
8BAFF3252A7074F300327478 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF29D2A7074F300327478 /* CAFilePathUtils.cpp */; };
8BAFF3262A7074F300327478 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF29E2A7074F300327478 /* CAAudioValueRange.h */; };
8BAFF3272A7074F300327478 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF29F2A7074F300327478 /* CAVectorUnitTypes.h */; };
8BAFF3282A7074F300327478 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A02A7074F300327478 /* CAAudioChannelLayoutObject.cpp */; };
8BAFF3292A7074F300327478 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A12A7074F300327478 /* CAGuard.cpp */; };
8BAFF32A2A7074F300327478 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2A22A7074F300327478 /* CACFNumber.h */; };
8BAFF32B2A7074F300327478 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A32A7074F300327478 /* CACFDistributedNotification.cpp */; };
8BAFF32C2A7074F300327478 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2A42A7074F300327478 /* CACFString.h */; };
8BAFF32D2A7074F300327478 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A52A7074F300327478 /* CAAUMIDIMapManager.cpp */; };
8BAFF32E2A7074F300327478 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A62A7074F300327478 /* CAComponentDescription.cpp */; };
8BAFF32F2A7074F300327478 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2A72A7074F300327478 /* CAHostTimeBase.h */; };
8BAFF3302A7074F300327478 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2A82A7074F300327478 /* CADebugMacros.cpp */; };
8BAFF3312A7074F300327478 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2A92A7074F300327478 /* CAAudioFileFormats.h */; };
8BAFF3322A7074F300327478 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2AA2A7074F300327478 /* CAAUMIDIMapManager.h */; };
8BAFF3332A7074F300327478 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2AB2A7074F300327478 /* CACFDictionary.cpp */; };
8BAFF3342A7074F300327478 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2AC2A7074F300327478 /* CAMutex.h */; };
8BAFF3352A7074F300327478 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2AD2A7074F300327478 /* CACFString.cpp */; };
8BAFF3362A7074F300327478 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2AE2A7074F300327478 /* CASettingsStorage.h */; };
8BAFF3372A7074F300327478 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2AF2A7074F300327478 /* CADebugPrintf.h */; };
8BAFF3382A7074F300327478 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2B02A7074F300327478 /* CAXException.cpp */; };
8BAFF3392A7074F300327478 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B12A7074F300327478 /* CAAUMIDIMap.h */; };
8BAFF33A2A7074F300327478 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B22A7074F300327478 /* AUParamInfo.h */; };
8BAFF33B2A7074F300327478 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B32A7074F300327478 /* CABitOperations.h */; };
8BAFF33C2A7074F300327478 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2B42A7074F300327478 /* CACFPreferences.cpp */; };
8BAFF33D2A7074F300327478 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B52A7074F300327478 /* CABundleLocker.h */; };
8BAFF33E2A7074F300327478 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B62A7074F300327478 /* CAPropertyAddress.h */; };
8BAFF33F2A7074F300327478 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B72A7074F300327478 /* CAXException.h */; };
8BAFF3402A7074F300327478 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2B82A7074F300327478 /* CAAudioChannelLayout.cpp */; };
8BAFF3412A7074F300327478 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2B92A7074F300327478 /* CAThreadSafeList.h */; };
8BAFF3422A7074F300327478 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2BA2A7074F300327478 /* CAAudioUnitOutputCapturer.h */; };
8BAFF3432A7074F300327478 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2BB2A7074F300327478 /* AUParamInfo.cpp */; };
8BAFF3442A7074F300327478 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2BC2A7074F300327478 /* CASharedLibrary.cpp */; };
8BAFF3452A7074F300327478 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2BD2A7074F300327478 /* CAAUMIDIMap.cpp */; };
8BAFF3462A7074F300327478 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2BE2A7074F300327478 /* CALogMacros.h */; };
8BAFF3472A7074F300327478 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2BF2A7074F300327478 /* CACFMessagePort.cpp */; };
8BAFF3482A7074F300327478 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C02A7074F300327478 /* CARingBuffer.h */; };
8BAFF3492A7074F300327478 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2C12A7074F300327478 /* AUOutputBL.cpp */; };
8BAFF34A2A7074F300327478 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C22A7074F300327478 /* CABufferList.h */; };
8BAFF34B2A7074F300327478 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C32A7074F300327478 /* CASharedLibrary.h */; };
8BAFF34C2A7074F300327478 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C42A7074F300327478 /* CACFData.h */; };
8BAFF34D2A7074F300327478 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2C52A7074F300327478 /* CAStreamRangedDescription.cpp */; };
8BAFF34E2A7074F300327478 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2C62A7074F300327478 /* CAPThread.cpp */; };
8BAFF34F2A7074F300327478 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C72A7074F300327478 /* CAAutoDisposer.h */; };
8BAFF3502A7074F300327478 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2C82A7074F300327478 /* CACFPreferences.h */; };
8BAFF3512A7074F300327478 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2C92A7074F300327478 /* CAVectorUnit.cpp */; };
8BAFF3522A7074F300327478 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2CA2A7074F300327478 /* CAComponentDescription.h */; };
8BAFF3532A7074F300327478 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2CB2A7074F300327478 /* CADebugMacros.h */; };
8BAFF3542A7074F300327478 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2CC2A7074F300327478 /* AUOutputBL.h */; };
8BAFF3552A7074F300327478 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2CD2A7074F300327478 /* CADebugPrintf.cpp */; };
8BAFF3562A7074F300327478 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2CE2A7074F300327478 /* CARingBuffer.cpp */; };
8BAFF3572A7074F300327478 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2CF2A7074F300327478 /* CACFPlugIn.h */; };
8BAFF3582A7074F300327478 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2D02A7074F300327478 /* CASettingsStorage.cpp */; };
8BAFF3592A7074F300327478 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2D12A7074F300327478 /* CAMixMap.h */; };
8BAFF35A2A7074F300327478 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2D22A7074F300327478 /* CACFDistributedNotification.h */; };
8BAFF35B2A7074F300327478 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2D32A7074F300327478 /* CAFilePathUtils.h */; };
8BAFF35C2A7074F300327478 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2D42A7074F300327478 /* CATink.h */; };
8BAFF35D2A7074F300327478 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2D52A7074F300327478 /* CAStreamBasicDescription.cpp */; };
8BAFF35E2A7074F300327478 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2D62A7074F300327478 /* CAAudioChannelLayout.h */; };
8BAFF35F2A7074F300327478 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2D72A7074F300327478 /* CAProcess.cpp */; };
8BAFF3602A7074F300327478 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2D82A7074F300327478 /* CAHostTimeBase.cpp */; };
8BAFF3612A7074F300327478 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2D92A7074F300327478 /* CAPersistence.cpp */; };
8BAFF3622A7074F300327478 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2DA2A7074F300327478 /* CAAudioBufferList.cpp */; };
8BAFF3632A7074F300327478 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2DB2A7074F300327478 /* CAAudioTimeStamp.cpp */; };
8BAFF3642A7074F300327478 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2DC2A7074F300327478 /* CAVectorUnit.h */; };
8BAFF3652A7074F300327478 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2DD2A7074F300327478 /* CAByteOrder.h */; };
8BAFF3662A7074F300327478 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2DE2A7074F300327478 /* CACFArray.h */; };
8BAFF3672A7074F300327478 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2DF2A7074F300327478 /* CAAtomicStack.h */; };
8BAFF3682A7074F300327478 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2E02A7074F300327478 /* CAReferenceCounted.h */; };
8BAFF3692A7074F400327478 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E12A7074F300327478 /* CACFMachPort.cpp */; };
8BAFF36A2A7074F400327478 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E22A7074F300327478 /* CABufferList.cpp */; };
8BAFF36B2A7074F400327478 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E32A7074F300327478 /* CAMutex.cpp */; };
8BAFF36C2A7074F400327478 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E42A7074F300327478 /* CADebugger.cpp */; };
8BAFF36D2A7074F400327478 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E52A7074F300327478 /* CABundleLocker.cpp */; };
8BAFF36E2A7074F400327478 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E62A7074F300327478 /* CAAudioFileFormats.cpp */; };
8BAFF36F2A7074F400327478 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2E72A7074F300327478 /* CAMath.h */; };
8BAFF3702A7074F400327478 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2E82A7074F300327478 /* CACFArray.cpp */; };
8BAFF3712A7074F400327478 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2E92A7074F300327478 /* CACFMessagePort.h */; };
8BAFF3722A7074F400327478 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2EA2A7074F300327478 /* CAAudioValueRange.cpp */; };
8BAFF3732A7074F400327478 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2EB2A7074F300327478 /* CAAudioUnit.cpp */; };
8BAFF3742A7074F400327478 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2EF2A7074F300327478 /* AUViewLocalizedStringKeys.h */; };
8BAFF3752A7074F400327478 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2F12A7074F300327478 /* ComponentBase.cpp */; };
8BAFF3762A7074F400327478 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2F22A7074F300327478 /* AUScopeElement.cpp */; };
8BAFF3772A7074F400327478 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2F32A7074F300327478 /* ComponentBase.h */; };
8BAFF3782A7074F400327478 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2F42A7074F300327478 /* AUBase.cpp */; };
8BAFF3792A7074F400327478 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2F52A7074F300327478 /* AUInputElement.h */; };
8BAFF37A2A7074F400327478 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2F62A7074F300327478 /* AUBase.h */; };
8BAFF37B2A7074F400327478 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2F72A7074F300327478 /* AUPlugInDispatch.h */; };
8BAFF37C2A7074F400327478 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2F82A7074F300327478 /* AUDispatch.h */; };
8BAFF37D2A7074F400327478 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2F92A7074F300327478 /* AUOutputElement.cpp */; };
8BAFF37F2A7074F400327478 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2FB2A7074F300327478 /* AUPlugInDispatch.cpp */; };
8BAFF3802A7074F400327478 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2FC2A7074F300327478 /* AUOutputElement.h */; };
8BAFF3812A7074F400327478 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2FD2A7074F300327478 /* AUDispatch.cpp */; };
8BAFF3822A7074F400327478 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF2FE2A7074F300327478 /* AUScopeElement.h */; };
8BAFF3832A7074F400327478 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF2FF2A7074F300327478 /* AUInputElement.cpp */; };
8BAFF3842A7074F400327478 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF3012A7074F300327478 /* AUEffectBase.cpp */; };
8BAFF3852A7074F400327478 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3022A7074F300327478 /* AUEffectBase.h */; };
8BAFF3862A7074F400327478 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3042A7074F300327478 /* AUTimestampGenerator.h */; };
8BAFF3872A7074F400327478 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF3052A7074F300327478 /* AUBaseHelper.cpp */; };
8BAFF3882A7074F400327478 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3062A7074F300327478 /* AUSilentTimeout.h */; };
8BAFF3892A7074F400327478 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3072A7074F300327478 /* AUInputFormatConverter.h */; };
8BAFF38A2A7074F400327478 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF3082A7074F300327478 /* AUTimestampGenerator.cpp */; };
8BAFF38B2A7074F400327478 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF3092A7074F300327478 /* AUBuffer.cpp */; };
8BAFF38C2A7074F400327478 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF30A2A7074F300327478 /* AUMIDIDefs.h */; };
8BAFF38D2A7074F400327478 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF30B2A7074F300327478 /* AUBuffer.h */; };
8BAFF38E2A7074F400327478 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF30C2A7074F300327478 /* AUBaseHelper.h */; };
8BC6025C073B072D006C4272 /* EveryConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* EveryConsole.h */; };
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8BA05A660720730100365D66 /* EveryConsole.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EveryConsole.cpp; sourceTree = "<group>"; };
8BA05A670720730100365D66 /* EveryConsole.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = EveryConsole.exp; sourceTree = "<group>"; };
8BA05A680720730100365D66 /* EveryConsole.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = EveryConsole.r; sourceTree = "<group>"; };
8BA05A690720730100365D66 /* EveryConsoleVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EveryConsoleVersion.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>"; };
8BAFF2852A7074F300327478 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
8BAFF2862A7074F300327478 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
8BAFF2872A7074F300327478 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
8BAFF2882A7074F300327478 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
8BAFF2892A7074F300327478 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
8BAFF28A2A7074F300327478 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
8BAFF28B2A7074F300327478 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
8BAFF28C2A7074F300327478 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
8BAFF28D2A7074F300327478 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BAFF28E2A7074F300327478 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
8BAFF28F2A7074F300327478 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
8BAFF2902A7074F300327478 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
8BAFF2912A7074F300327478 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
8BAFF2922A7074F300327478 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
8BAFF2932A7074F300327478 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
8BAFF2942A7074F300327478 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8BAFF2952A7074F300327478 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
8BAFF2962A7074F300327478 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
8BAFF2972A7074F300327478 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
8BAFF2982A7074F300327478 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
8BAFF2992A7074F300327478 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
8BAFF29A2A7074F300327478 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
8BAFF29B2A7074F300327478 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BAFF29C2A7074F300327478 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
8BAFF29D2A7074F300327478 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
8BAFF29E2A7074F300327478 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
8BAFF29F2A7074F300327478 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8BAFF2A02A7074F300327478 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
8BAFF2A12A7074F300327478 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
8BAFF2A22A7074F300327478 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
8BAFF2A32A7074F300327478 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
8BAFF2A42A7074F300327478 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
8BAFF2A52A7074F300327478 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
8BAFF2A62A7074F300327478 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
8BAFF2A72A7074F300327478 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
8BAFF2A82A7074F300327478 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
8BAFF2A92A7074F300327478 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
8BAFF2AA2A7074F300327478 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
8BAFF2AB2A7074F300327478 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
8BAFF2AC2A7074F300327478 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BAFF2AD2A7074F300327478 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
8BAFF2AE2A7074F300327478 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
8BAFF2AF2A7074F300327478 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
8BAFF2B02A7074F300327478 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
8BAFF2B12A7074F300327478 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
8BAFF2B22A7074F300327478 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
8BAFF2B32A7074F300327478 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
8BAFF2B42A7074F300327478 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
8BAFF2B52A7074F300327478 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
8BAFF2B62A7074F300327478 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
8BAFF2B72A7074F300327478 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
8BAFF2B82A7074F300327478 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BAFF2B92A7074F300327478 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
8BAFF2BA2A7074F300327478 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
8BAFF2BB2A7074F300327478 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
8BAFF2BC2A7074F300327478 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
8BAFF2BD2A7074F300327478 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
8BAFF2BE2A7074F300327478 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
8BAFF2BF2A7074F300327478 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
8BAFF2C02A7074F300327478 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
8BAFF2C12A7074F300327478 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
8BAFF2C22A7074F300327478 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
8BAFF2C32A7074F300327478 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
8BAFF2C42A7074F300327478 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
8BAFF2C52A7074F300327478 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
8BAFF2C62A7074F300327478 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
8BAFF2C72A7074F300327478 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
8BAFF2C82A7074F300327478 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
8BAFF2C92A7074F300327478 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
8BAFF2CA2A7074F300327478 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
8BAFF2CB2A7074F300327478 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
8BAFF2CC2A7074F300327478 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
8BAFF2CD2A7074F300327478 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
8BAFF2CE2A7074F300327478 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
8BAFF2CF2A7074F300327478 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
8BAFF2D02A7074F300327478 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
8BAFF2D12A7074F300327478 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
8BAFF2D22A7074F300327478 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
8BAFF2D32A7074F300327478 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
8BAFF2D42A7074F300327478 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
8BAFF2D52A7074F300327478 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BAFF2D62A7074F300327478 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BAFF2D72A7074F300327478 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
8BAFF2D82A7074F300327478 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
8BAFF2D92A7074F300327478 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
8BAFF2DA2A7074F300327478 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
8BAFF2DB2A7074F300327478 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
8BAFF2DC2A7074F300327478 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
8BAFF2DD2A7074F300327478 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
8BAFF2DE2A7074F300327478 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
8BAFF2DF2A7074F300327478 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
8BAFF2E02A7074F300327478 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
8BAFF2E12A7074F300327478 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
8BAFF2E22A7074F300327478 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
8BAFF2E32A7074F300327478 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BAFF2E42A7074F300327478 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
8BAFF2E52A7074F300327478 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
8BAFF2E62A7074F300327478 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
8BAFF2E72A7074F300327478 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
8BAFF2E82A7074F300327478 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
8BAFF2E92A7074F300327478 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
8BAFF2EA2A7074F300327478 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
8BAFF2EB2A7074F300327478 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
8BAFF2EF2A7074F300327478 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8BAFF2F12A7074F300327478 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BAFF2F22A7074F300327478 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BAFF2F32A7074F300327478 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BAFF2F42A7074F300327478 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BAFF2F52A7074F300327478 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BAFF2F62A7074F300327478 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BAFF2F72A7074F300327478 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
8BAFF2F82A7074F300327478 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BAFF2F92A7074F300327478 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BAFF2FA2A7074F300327478 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BAFF2FB2A7074F300327478 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
8BAFF2FC2A7074F300327478 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BAFF2FD2A7074F300327478 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BAFF2FE2A7074F300327478 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BAFF2FF2A7074F300327478 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BAFF3012A7074F300327478 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BAFF3022A7074F300327478 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BAFF3042A7074F300327478 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BAFF3052A7074F300327478 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
8BAFF3062A7074F300327478 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BAFF3072A7074F300327478 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BAFF3082A7074F300327478 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
8BAFF3092A7074F300327478 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BAFF30A2A7074F300327478 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
8BAFF30B2A7074F300327478 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BAFF30C2A7074F300327478 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
8BAFF38F2A70760600327478 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
8BC6025B073B072D006C4272 /* EveryConsole.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EveryConsole.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* EveryConsole.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EveryConsole.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 /* EveryConsole */ = {
isa = PBXGroup;
children = (
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = EveryConsole;
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 = (
8BAFF2832A7074F300327478 /* CA_SDK */,
8BA05A56072072A900365D66 /* AU Source */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* EveryConsole.component */,
);
name = Products;
sourceTree = "<group>";
};
8BA05A56072072A900365D66 /* AU Source */ = {
isa = PBXGroup;
children = (
8BC6025B073B072D006C4272 /* EveryConsole.h */,
8BA05A660720730100365D66 /* EveryConsole.cpp */,
8BA05A670720730100365D66 /* EveryConsole.exp */,
8BA05A680720730100365D66 /* EveryConsole.r */,
8BA05A690720730100365D66 /* EveryConsoleVersion.h */,
);
name = "AU Source";
sourceTree = "<group>";
};
8BAFF2832A7074F300327478 /* CA_SDK */ = {
isa = PBXGroup;
children = (
8BAFF2842A7074F300327478 /* PublicUtility */,
8BAFF2EC2A7074F300327478 /* AudioUnits */,
);
name = CA_SDK;
path = ../../../../CA_SDK;
sourceTree = "<group>";
};
8BAFF2842A7074F300327478 /* PublicUtility */ = {
isa = PBXGroup;
children = (
8BAFF2852A7074F300327478 /* CAExtAudioFile.h */,
8BAFF2862A7074F300327478 /* CACFMachPort.h */,
8BAFF2872A7074F300327478 /* CABool.h */,
8BAFF2882A7074F300327478 /* CAComponent.cpp */,
8BAFF2892A7074F300327478 /* CADebugger.h */,
8BAFF28A2A7074F300327478 /* CACFNumber.cpp */,
8BAFF28B2A7074F300327478 /* CAGuard.h */,
8BAFF28C2A7074F300327478 /* CAAtomic.h */,
8BAFF28D2A7074F300327478 /* CAStreamBasicDescription.h */,
8BAFF28E2A7074F300327478 /* CACFObject.h */,
8BAFF28F2A7074F300327478 /* CAStreamRangedDescription.h */,
8BAFF2902A7074F300327478 /* CATokenMap.h */,
8BAFF2912A7074F300327478 /* CAComponent.h */,
8BAFF2922A7074F300327478 /* CAAudioBufferList.h */,
8BAFF2932A7074F300327478 /* CAAudioUnit.h */,
8BAFF2942A7074F300327478 /* CAAUParameter.h */,
8BAFF2952A7074F300327478 /* CAException.h */,
8BAFF2962A7074F300327478 /* CAAUProcessor.cpp */,
8BAFF2972A7074F300327478 /* CAAUProcessor.h */,
8BAFF2982A7074F300327478 /* CAProcess.h */,
8BAFF2992A7074F300327478 /* CACFDictionary.h */,
8BAFF29A2A7074F300327478 /* CAPThread.h */,
8BAFF29B2A7074F300327478 /* CAAUParameter.cpp */,
8BAFF29C2A7074F300327478 /* CAAudioTimeStamp.h */,
8BAFF29D2A7074F300327478 /* CAFilePathUtils.cpp */,
8BAFF29E2A7074F300327478 /* CAAudioValueRange.h */,
8BAFF29F2A7074F300327478 /* CAVectorUnitTypes.h */,
8BAFF2A02A7074F300327478 /* CAAudioChannelLayoutObject.cpp */,
8BAFF2A12A7074F300327478 /* CAGuard.cpp */,
8BAFF2A22A7074F300327478 /* CACFNumber.h */,
8BAFF2A32A7074F300327478 /* CACFDistributedNotification.cpp */,
8BAFF2A42A7074F300327478 /* CACFString.h */,
8BAFF2A52A7074F300327478 /* CAAUMIDIMapManager.cpp */,
8BAFF2A62A7074F300327478 /* CAComponentDescription.cpp */,
8BAFF2A72A7074F300327478 /* CAHostTimeBase.h */,
8BAFF2A82A7074F300327478 /* CADebugMacros.cpp */,
8BAFF2A92A7074F300327478 /* CAAudioFileFormats.h */,
8BAFF2AA2A7074F300327478 /* CAAUMIDIMapManager.h */,
8BAFF2AB2A7074F300327478 /* CACFDictionary.cpp */,
8BAFF2AC2A7074F300327478 /* CAMutex.h */,
8BAFF2AD2A7074F300327478 /* CACFString.cpp */,
8BAFF2AE2A7074F300327478 /* CASettingsStorage.h */,
8BAFF2AF2A7074F300327478 /* CADebugPrintf.h */,
8BAFF2B02A7074F300327478 /* CAXException.cpp */,
8BAFF2B12A7074F300327478 /* CAAUMIDIMap.h */,
8BAFF2B22A7074F300327478 /* AUParamInfo.h */,
8BAFF2B32A7074F300327478 /* CABitOperations.h */,
8BAFF2B42A7074F300327478 /* CACFPreferences.cpp */,
8BAFF2B52A7074F300327478 /* CABundleLocker.h */,
8BAFF2B62A7074F300327478 /* CAPropertyAddress.h */,
8BAFF2B72A7074F300327478 /* CAXException.h */,
8BAFF2B82A7074F300327478 /* CAAudioChannelLayout.cpp */,
8BAFF2B92A7074F300327478 /* CAThreadSafeList.h */,
8BAFF2BA2A7074F300327478 /* CAAudioUnitOutputCapturer.h */,
8BAFF2BB2A7074F300327478 /* AUParamInfo.cpp */,
8BAFF2BC2A7074F300327478 /* CASharedLibrary.cpp */,
8BAFF2BD2A7074F300327478 /* CAAUMIDIMap.cpp */,
8BAFF2BE2A7074F300327478 /* CALogMacros.h */,
8BAFF2BF2A7074F300327478 /* CACFMessagePort.cpp */,
8BAFF2C02A7074F300327478 /* CARingBuffer.h */,
8BAFF2C12A7074F300327478 /* AUOutputBL.cpp */,
8BAFF2C22A7074F300327478 /* CABufferList.h */,
8BAFF2C32A7074F300327478 /* CASharedLibrary.h */,
8BAFF2C42A7074F300327478 /* CACFData.h */,
8BAFF2C52A7074F300327478 /* CAStreamRangedDescription.cpp */,
8BAFF2C62A7074F300327478 /* CAPThread.cpp */,
8BAFF2C72A7074F300327478 /* CAAutoDisposer.h */,
8BAFF2C82A7074F300327478 /* CACFPreferences.h */,
8BAFF2C92A7074F300327478 /* CAVectorUnit.cpp */,
8BAFF2CA2A7074F300327478 /* CAComponentDescription.h */,
8BAFF2CB2A7074F300327478 /* CADebugMacros.h */,
8BAFF2CC2A7074F300327478 /* AUOutputBL.h */,
8BAFF2CD2A7074F300327478 /* CADebugPrintf.cpp */,
8BAFF2CE2A7074F300327478 /* CARingBuffer.cpp */,
8BAFF2CF2A7074F300327478 /* CACFPlugIn.h */,
8BAFF2D02A7074F300327478 /* CASettingsStorage.cpp */,
8BAFF2D12A7074F300327478 /* CAMixMap.h */,
8BAFF2D22A7074F300327478 /* CACFDistributedNotification.h */,
8BAFF2D32A7074F300327478 /* CAFilePathUtils.h */,
8BAFF2D42A7074F300327478 /* CATink.h */,
8BAFF2D52A7074F300327478 /* CAStreamBasicDescription.cpp */,
8BAFF2D62A7074F300327478 /* CAAudioChannelLayout.h */,
8BAFF2D72A7074F300327478 /* CAProcess.cpp */,
8BAFF2D82A7074F300327478 /* CAHostTimeBase.cpp */,
8BAFF2D92A7074F300327478 /* CAPersistence.cpp */,
8BAFF2DA2A7074F300327478 /* CAAudioBufferList.cpp */,
8BAFF2DB2A7074F300327478 /* CAAudioTimeStamp.cpp */,
8BAFF2DC2A7074F300327478 /* CAVectorUnit.h */,
8BAFF2DD2A7074F300327478 /* CAByteOrder.h */,
8BAFF2DE2A7074F300327478 /* CACFArray.h */,
8BAFF2DF2A7074F300327478 /* CAAtomicStack.h */,
8BAFF2E02A7074F300327478 /* CAReferenceCounted.h */,
8BAFF2E12A7074F300327478 /* CACFMachPort.cpp */,
8BAFF2E22A7074F300327478 /* CABufferList.cpp */,
8BAFF2E32A7074F300327478 /* CAMutex.cpp */,
8BAFF2E42A7074F300327478 /* CADebugger.cpp */,
8BAFF2E52A7074F300327478 /* CABundleLocker.cpp */,
8BAFF2E62A7074F300327478 /* CAAudioFileFormats.cpp */,
8BAFF2E72A7074F300327478 /* CAMath.h */,
8BAFF2E82A7074F300327478 /* CACFArray.cpp */,
8BAFF2E92A7074F300327478 /* CACFMessagePort.h */,
8BAFF2EA2A7074F300327478 /* CAAudioValueRange.cpp */,
8BAFF2EB2A7074F300327478 /* CAAudioUnit.cpp */,
);
path = PublicUtility;
sourceTree = "<group>";
};
8BAFF2EC2A7074F300327478 /* AudioUnits */ = {
isa = PBXGroup;
children = (
8BAFF2ED2A7074F300327478 /* AUPublic */,
);
path = AudioUnits;
sourceTree = "<group>";
};
8BAFF2ED2A7074F300327478 /* AUPublic */ = {
isa = PBXGroup;
children = (
8BAFF2EE2A7074F300327478 /* AUViewBase */,
8BAFF2F02A7074F300327478 /* AUBase */,
8BAFF3002A7074F300327478 /* OtherBases */,
8BAFF3032A7074F300327478 /* Utility */,
);
path = AUPublic;
sourceTree = "<group>";
};
8BAFF2EE2A7074F300327478 /* AUViewBase */ = {
isa = PBXGroup;
children = (
8BAFF2EF2A7074F300327478 /* AUViewLocalizedStringKeys.h */,
);
path = AUViewBase;
sourceTree = "<group>";
};
8BAFF2F02A7074F300327478 /* AUBase */ = {
isa = PBXGroup;
children = (
8BAFF2F12A7074F300327478 /* ComponentBase.cpp */,
8BAFF2F22A7074F300327478 /* AUScopeElement.cpp */,
8BAFF2F32A7074F300327478 /* ComponentBase.h */,
8BAFF2F42A7074F300327478 /* AUBase.cpp */,
8BAFF2F52A7074F300327478 /* AUInputElement.h */,
8BAFF2F62A7074F300327478 /* AUBase.h */,
8BAFF2F72A7074F300327478 /* AUPlugInDispatch.h */,
8BAFF2F82A7074F300327478 /* AUDispatch.h */,
8BAFF2F92A7074F300327478 /* AUOutputElement.cpp */,
8BAFF2FA2A7074F300327478 /* AUResources.r */,
8BAFF2FB2A7074F300327478 /* AUPlugInDispatch.cpp */,
8BAFF2FC2A7074F300327478 /* AUOutputElement.h */,
8BAFF2FD2A7074F300327478 /* AUDispatch.cpp */,
8BAFF2FE2A7074F300327478 /* AUScopeElement.h */,
8BAFF2FF2A7074F300327478 /* AUInputElement.cpp */,
);
path = AUBase;
sourceTree = "<group>";
};
8BAFF3002A7074F300327478 /* OtherBases */ = {
isa = PBXGroup;
children = (
8BAFF3012A7074F300327478 /* AUEffectBase.cpp */,
8BAFF3022A7074F300327478 /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BAFF3032A7074F300327478 /* Utility */ = {
isa = PBXGroup;
children = (
8BAFF3042A7074F300327478 /* AUTimestampGenerator.h */,
8BAFF3052A7074F300327478 /* AUBaseHelper.cpp */,
8BAFF3062A7074F300327478 /* AUSilentTimeout.h */,
8BAFF3072A7074F300327478 /* AUInputFormatConverter.h */,
8BAFF3082A7074F300327478 /* AUTimestampGenerator.cpp */,
8BAFF3092A7074F300327478 /* AUBuffer.cpp */,
8BAFF30A2A7074F300327478 /* AUMIDIDefs.h */,
8BAFF30B2A7074F300327478 /* AUBuffer.h */,
8BAFF30C2A7074F300327478 /* AUBaseHelper.h */,
);
path = Utility;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BAFF33D2A7074F300327478 /* CABundleLocker.h in Headers */,
8BAFF35E2A7074F300327478 /* CAAudioChannelLayout.h in Headers */,
8BAFF3542A7074F300327478 /* AUOutputBL.h in Headers */,
8BAFF32F2A7074F300327478 /* CAHostTimeBase.h in Headers */,
8BAFF3772A7074F400327478 /* ComponentBase.h in Headers */,
8BAFF3672A7074F300327478 /* CAAtomicStack.h in Headers */,
8BAFF3242A7074F300327478 /* CAAudioTimeStamp.h in Headers */,
8BAFF3412A7074F300327478 /* CAThreadSafeList.h in Headers */,
8BAFF31C2A7074F300327478 /* CAAUParameter.h in Headers */,
8BAFF38E2A7074F400327478 /* AUBaseHelper.h in Headers */,
8BAFF3862A7074F400327478 /* AUTimestampGenerator.h in Headers */,
8BAFF3372A7074F300327478 /* CADebugPrintf.h in Headers */,
8BAFF3712A7074F400327478 /* CACFMessagePort.h in Headers */,
8BAFF31F2A7074F300327478 /* CAAUProcessor.h in Headers */,
8BAFF31B2A7074F300327478 /* CAAudioUnit.h in Headers */,
8BAFF3742A7074F400327478 /* AUViewLocalizedStringKeys.h in Headers */,
8BAFF35A2A7074F300327478 /* CACFDistributedNotification.h in Headers */,
8BAFF3192A7074F300327478 /* CAComponent.h in Headers */,
8BAFF3272A7074F300327478 /* CAVectorUnitTypes.h in Headers */,
8BA05A6E0720730100365D66 /* EveryConsoleVersion.h in Headers */,
8BAFF35B2A7074F300327478 /* CAFilePathUtils.h in Headers */,
8BAFF31D2A7074F300327478 /* CAException.h in Headers */,
8BAFF3142A7074F300327478 /* CAAtomic.h in Headers */,
8BAFF3132A7074F300327478 /* CAGuard.h in Headers */,
8BAFF3792A7074F400327478 /* AUInputElement.h in Headers */,
8BAFF3502A7074F300327478 /* CACFPreferences.h in Headers */,
8BAFF3652A7074F300327478 /* CAByteOrder.h in Headers */,
8BAFF3482A7074F300327478 /* CARingBuffer.h in Headers */,
8BAFF30F2A7074F300327478 /* CABool.h in Headers */,
8BAFF3342A7074F300327478 /* CAMutex.h in Headers */,
8BAFF37A2A7074F400327478 /* AUBase.h in Headers */,
8BC6025C073B072D006C4272 /* EveryConsole.h in Headers */,
8BAFF32C2A7074F300327478 /* CACFString.h in Headers */,
8BAFF34B2A7074F300327478 /* CASharedLibrary.h in Headers */,
8BAFF3182A7074F300327478 /* CATokenMap.h in Headers */,
8BAFF30D2A7074F300327478 /* CAExtAudioFile.h in Headers */,
8BAFF3222A7074F300327478 /* CAPThread.h in Headers */,
8BAFF33E2A7074F300327478 /* CAPropertyAddress.h in Headers */,
8BAFF3682A7074F300327478 /* CAReferenceCounted.h in Headers */,
8BAFF38D2A7074F400327478 /* AUBuffer.h in Headers */,
8BAFF36F2A7074F400327478 /* CAMath.h in Headers */,
8BAFF34F2A7074F300327478 /* CAAutoDisposer.h in Headers */,
8BAFF3162A7074F300327478 /* CACFObject.h in Headers */,
8BAFF3362A7074F300327478 /* CASettingsStorage.h in Headers */,
8BAFF33F2A7074F300327478 /* CAXException.h in Headers */,
8BAFF35C2A7074F300327478 /* CATink.h in Headers */,
8BAFF3892A7074F400327478 /* AUInputFormatConverter.h in Headers */,
8BAFF3642A7074F300327478 /* CAVectorUnit.h in Headers */,
8BAFF3202A7074F300327478 /* CAProcess.h in Headers */,
8BAFF3262A7074F300327478 /* CAAudioValueRange.h in Headers */,
8BAFF33B2A7074F300327478 /* CABitOperations.h in Headers */,
8BAFF3312A7074F300327478 /* CAAudioFileFormats.h in Headers */,
8BAFF32A2A7074F300327478 /* CACFNumber.h in Headers */,
8BAFF3422A7074F300327478 /* CAAudioUnitOutputCapturer.h in Headers */,
8BAFF3532A7074F300327478 /* CADebugMacros.h in Headers */,
8BAFF38C2A7074F400327478 /* AUMIDIDefs.h in Headers */,
8BAFF34C2A7074F300327478 /* CACFData.h in Headers */,
8BAFF3152A7074F300327478 /* CAStreamBasicDescription.h in Headers */,
8BAFF37B2A7074F400327478 /* AUPlugInDispatch.h in Headers */,
8BAFF3172A7074F300327478 /* CAStreamRangedDescription.h in Headers */,
8BAFF3572A7074F300327478 /* CACFPlugIn.h in Headers */,
8BAFF31A2A7074F300327478 /* CAAudioBufferList.h in Headers */,
8BAFF3322A7074F300327478 /* CAAUMIDIMapManager.h in Headers */,
8BAFF3852A7074F400327478 /* AUEffectBase.h in Headers */,
8BAFF3212A7074F300327478 /* CACFDictionary.h in Headers */,
8BAFF3822A7074F400327478 /* AUScopeElement.h in Headers */,
8BAFF3522A7074F300327478 /* CAComponentDescription.h in Headers */,
8BAFF3882A7074F400327478 /* AUSilentTimeout.h in Headers */,
8BAFF34A2A7074F300327478 /* CABufferList.h in Headers */,
8BAFF37C2A7074F400327478 /* AUDispatch.h in Headers */,
8BAFF3802A7074F400327478 /* AUOutputElement.h in Headers */,
8BAFF3462A7074F300327478 /* CALogMacros.h in Headers */,
8BAFF33A2A7074F300327478 /* AUParamInfo.h in Headers */,
8BAFF3592A7074F300327478 /* CAMixMap.h in Headers */,
8BAFF3662A7074F300327478 /* CACFArray.h in Headers */,
8BAFF30E2A7074F300327478 /* CACFMachPort.h in Headers */,
8BAFF3392A7074F300327478 /* CAAUMIDIMap.h in Headers */,
8BAFF3112A7074F300327478 /* CADebugger.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "EveryConsole" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = EveryConsole;
productInstallPath = "$(HOME)/Library/Bundles";
productName = EveryConsole;
productReference = 8D01CCD20486CAD60068D4B7 /* EveryConsole.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 "EveryConsole" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
ja,
en,
fr,
Base,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* EveryConsole */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* EveryConsole */,
);
};
/* 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 = (
8BAFF3492A7074F300327478 /* AUOutputBL.cpp in Sources */,
8BAFF36E2A7074F400327478 /* CAAudioFileFormats.cpp in Sources */,
8BAFF3602A7074F300327478 /* CAHostTimeBase.cpp in Sources */,
8BAFF3382A7074F300327478 /* CAXException.cpp in Sources */,
8BAFF3622A7074F300327478 /* CAAudioBufferList.cpp in Sources */,
8BAFF3252A7074F300327478 /* CAFilePathUtils.cpp in Sources */,
8BAFF3232A7074F300327478 /* CAAUParameter.cpp in Sources */,
8BAFF3452A7074F300327478 /* CAAUMIDIMap.cpp in Sources */,
8BAFF3722A7074F400327478 /* CAAudioValueRange.cpp in Sources */,
8BAFF3812A7074F400327478 /* AUDispatch.cpp in Sources */,
8BAFF33C2A7074F300327478 /* CACFPreferences.cpp in Sources */,
8BAFF37F2A7074F400327478 /* AUPlugInDispatch.cpp in Sources */,
8BAFF31E2A7074F300327478 /* CAAUProcessor.cpp in Sources */,
8BAFF3332A7074F300327478 /* CACFDictionary.cpp in Sources */,
8BAFF3872A7074F400327478 /* AUBaseHelper.cpp in Sources */,
8BAFF36C2A7074F400327478 /* CADebugger.cpp in Sources */,
8BAFF3402A7074F300327478 /* CAAudioChannelLayout.cpp in Sources */,
8BAFF3432A7074F300327478 /* AUParamInfo.cpp in Sources */,
8BAFF3612A7074F300327478 /* CAPersistence.cpp in Sources */,
8BAFF3552A7074F300327478 /* CADebugPrintf.cpp in Sources */,
8BAFF38A2A7074F400327478 /* AUTimestampGenerator.cpp in Sources */,
8BAFF35D2A7074F300327478 /* CAStreamBasicDescription.cpp in Sources */,
8BAFF32D2A7074F300327478 /* CAAUMIDIMapManager.cpp in Sources */,
8BAFF3582A7074F300327478 /* CASettingsStorage.cpp in Sources */,
8BAFF37D2A7074F400327478 /* AUOutputElement.cpp in Sources */,
8BAFF3292A7074F300327478 /* CAGuard.cpp in Sources */,
8BA05A6B0720730100365D66 /* EveryConsole.cpp in Sources */,
8BAFF36B2A7074F400327478 /* CAMutex.cpp in Sources */,
8BAFF3842A7074F400327478 /* AUEffectBase.cpp in Sources */,
8BAFF3692A7074F400327478 /* CACFMachPort.cpp in Sources */,
8BAFF3782A7074F400327478 /* AUBase.cpp in Sources */,
8BAFF3442A7074F300327478 /* CASharedLibrary.cpp in Sources */,
8BAFF32B2A7074F300327478 /* CACFDistributedNotification.cpp in Sources */,
8BAFF32E2A7074F300327478 /* CAComponentDescription.cpp in Sources */,
8BAFF3352A7074F300327478 /* CACFString.cpp in Sources */,
8BAFF3752A7074F400327478 /* ComponentBase.cpp in Sources */,
8BAFF3562A7074F300327478 /* CARingBuffer.cpp in Sources */,
8BAFF3762A7074F400327478 /* AUScopeElement.cpp in Sources */,
8BAFF3732A7074F400327478 /* CAAudioUnit.cpp in Sources */,
8BAFF3702A7074F400327478 /* CACFArray.cpp in Sources */,
8BAFF36D2A7074F400327478 /* CABundleLocker.cpp in Sources */,
8BAFF35F2A7074F300327478 /* CAProcess.cpp in Sources */,
8BAFF34D2A7074F300327478 /* CAStreamRangedDescription.cpp in Sources */,
8BAFF34E2A7074F300327478 /* CAPThread.cpp in Sources */,
8BAFF3102A7074F300327478 /* CAComponent.cpp in Sources */,
8BAFF3282A7074F300327478 /* CAAudioChannelLayoutObject.cpp in Sources */,
8BAFF3632A7074F300327478 /* CAAudioTimeStamp.cpp in Sources */,
8BAFF36A2A7074F400327478 /* CABufferList.cpp in Sources */,
8BAFF3472A7074F300327478 /* CACFMessagePort.cpp in Sources */,
8BAFF3512A7074F300327478 /* CAVectorUnit.cpp in Sources */,
8BAFF3832A7074F400327478 /* AUInputElement.cpp in Sources */,
8BAFF38B2A7074F400327478 /* AUBuffer.cpp in Sources */,
8BAFF3302A7074F300327478 /* CADebugMacros.cpp in Sources */,
8BAFF3122A7074F300327478 /* CACFNumber.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
8BAFF38F2A70760600327478 /* 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 = EveryConsole.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 = EveryConsole;
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 = EveryConsole.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 = EveryConsole;
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 "EveryConsole" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "EveryConsole" */ = {
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 = "EveryConsole.component"
BlueprintName = "EveryConsole"
ReferencedContainer = "container:EveryConsole.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 = "EveryConsole.component"
BlueprintName = "EveryConsole"
ReferencedContainer = "container:EveryConsole.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>EveryConsole.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: EveryConsoleVersion.h
*
* Version: 1.0
*
* Created: 7/24/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 __EveryConsoleVersion_h__
#define __EveryConsoleVersion_h__
#ifdef DEBUG
#define kEveryConsoleVersion 0xFFFFFFFF
#else
#define kEveryConsoleVersion 0x00010000
#endif
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
#define EveryConsole_COMP_MANF 'Dthr'
#define EveryConsole_COMP_SUBTYPE 'evcs'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
#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>evcs</string>
<key>type</key>
<string>aufx</string>
<key>version</key>
<integer>65536</integer>
</dict>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PROJECTNAMEASIDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>DthX</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

Binary file not shown.

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildVersion</key>
<string>3</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>ProjectName</key>
<string>${EXECUTABLE_NAME}</string>
<key>SourceVersion</key>
<string>590000</string>
</dict>
</plist>

View file

@ -0,0 +1,143 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* EveryConsole */;
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 = 712010286;
PBXWorkspaceStateSaveDate = 712010286;
};
perUserProjectItems = {
8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */ = 8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */;
8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */;
8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */ = 8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
};
};
2407DEB6089929BA00EB68BF /* EveryConsole.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 2646}}";
sepNavSelRange = "{4743, 0}";
sepNavVisRange = "{3419, 2129}";
sepNavWindowFrame = "{{178, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* EveryConsole.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {561, 1242}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 220}";
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 /* EveryConsoleProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {660, 6876}}";
sepNavSelRange = "{768, 0}";
sepNavVisRange = "{1325, 77}";
sepNavWindowFrame = "{{11, 38}, {1136, 840}}";
};
};
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* EveryConsole.h */;
name = "EveryConsole.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 220;
vrLoc = 0;
};
8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */;
name = "EveryConsoleProc.cpp: 28";
rLen = 0;
rLoc = 768;
rType = 0;
vrLen = 100;
vrLoc = 1325;
};
8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */;
name = "EveryConsoleProc.cpp: 28";
rLen = 0;
rLoc = 768;
rType = 0;
vrLen = 77;
vrLoc = 1325;
};
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
activeExec = 0;
};
}

View file

@ -0,0 +1,462 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
2407DEB9089929BA00EB68BF /* EveryConsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* EveryConsole.cpp */; };
245463B90991757100464AD3 /* EveryConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* EveryConsole.h */; };
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
24D8287009A914000093AEF8 /* EveryConsoleProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */; };
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
8BAFF3A22A70766400327478 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3962A70766400327478 /* vstfxstore.h */; };
8BAFF3A32A70766400327478 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3972A70766400327478 /* aeffect.h */; };
8BAFF3A42A70766400327478 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3982A70766400327478 /* aeffectx.h */; };
8BAFF3A52A70766400327478 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF39C2A70766400327478 /* audioeffectx.h */; };
8BAFF3A62A70766400327478 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF39D2A70766400327478 /* audioeffect.cpp */; };
8BAFF3A72A70766400327478 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF39E2A70766400327478 /* audioeffectx.cpp */; };
8BAFF3A82A70766400327478 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF39F2A70766400327478 /* aeffeditor.h */; };
8BAFF3A92A70766400327478 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BAFF3A02A70766400327478 /* vstplugmain.cpp */; };
8BAFF3AA2A70766400327478 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BAFF3A12A70766400327478 /* audioeffect.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2407DE920899296600EB68BF /* EveryConsole.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EveryConsole.vst; sourceTree = BUILT_PRODUCTS_DIR; };
2407DEB6089929BA00EB68BF /* EveryConsole.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = EveryConsole.cpp; path = source/EveryConsole.cpp; sourceTree = "<group>"; };
245463B80991757100464AD3 /* EveryConsole.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = EveryConsole.h; path = source/EveryConsole.h; sourceTree = "<group>"; };
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EveryConsoleProc.cpp; path = source/EveryConsoleProc.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; };
8BAFF3962A70766400327478 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8BAFF3972A70766400327478 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8BAFF3982A70766400327478 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8BAFF39C2A70766400327478 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8BAFF39D2A70766400327478 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8BAFF39E2A70766400327478 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8BAFF39F2A70766400327478 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8BAFF3A02A70766400327478 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8BAFF3A12A70766400327478 /* 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 = (
8BAFF3932A70766400327478 /* vstsdk2.4 */,
2407DEB6089929BA00EB68BF /* EveryConsole.cpp */,
24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */,
245463B80991757100464AD3 /* EveryConsole.h */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
2407DE920899296600EB68BF /* EveryConsole.vst */,
);
name = Products;
sourceTree = "<group>";
};
8BAFF3932A70766400327478 /* vstsdk2.4 */ = {
isa = PBXGroup;
children = (
8BAFF3942A70766400327478 /* pluginterfaces */,
8BAFF3992A70766400327478 /* public.sdk */,
);
name = vstsdk2.4;
path = ../../../../vstsdk2.4;
sourceTree = "<group>";
};
8BAFF3942A70766400327478 /* pluginterfaces */ = {
isa = PBXGroup;
children = (
8BAFF3952A70766400327478 /* vst2.x */,
);
path = pluginterfaces;
sourceTree = "<group>";
};
8BAFF3952A70766400327478 /* vst2.x */ = {
isa = PBXGroup;
children = (
8BAFF3962A70766400327478 /* vstfxstore.h */,
8BAFF3972A70766400327478 /* aeffect.h */,
8BAFF3982A70766400327478 /* aeffectx.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
8BAFF3992A70766400327478 /* public.sdk */ = {
isa = PBXGroup;
children = (
8BAFF39A2A70766400327478 /* source */,
);
path = public.sdk;
sourceTree = "<group>";
};
8BAFF39A2A70766400327478 /* source */ = {
isa = PBXGroup;
children = (
8BAFF39B2A70766400327478 /* vst2.x */,
);
path = source;
sourceTree = "<group>";
};
8BAFF39B2A70766400327478 /* vst2.x */ = {
isa = PBXGroup;
children = (
8BAFF39C2A70766400327478 /* audioeffectx.h */,
8BAFF39D2A70766400327478 /* audioeffect.cpp */,
8BAFF39E2A70766400327478 /* audioeffectx.cpp */,
8BAFF39F2A70766400327478 /* aeffeditor.h */,
8BAFF3A02A70766400327478 /* vstplugmain.cpp */,
8BAFF3A12A70766400327478 /* audioeffect.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8BAFF3A82A70766400327478 /* aeffeditor.h in Headers */,
245463B90991757100464AD3 /* EveryConsole.h in Headers */,
8BAFF3AA2A70766400327478 /* audioeffect.h in Headers */,
8BAFF3A32A70766400327478 /* aeffect.h in Headers */,
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
8BAFF3A52A70766400327478 /* audioeffectx.h in Headers */,
8BAFF3A22A70766400327478 /* vstfxstore.h in Headers */,
8BAFF3A42A70766400327478 /* aeffectx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
isa = PBXNativeTarget;
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "EveryConsole" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
);
buildRules = (
);
dependencies = (
);
name = EveryConsole;
productInstallPath = "$(HOME)/Library/Bundles";
productName = "FM-Chopper";
productReference = 2407DE920899296600EB68BF /* EveryConsole.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 "EveryConsole" */;
compatibilityVersion = "Xcode 2.4";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
fr,
en,
Base,
de,
ja,
);
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
projectDirPath = "";
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* EveryConsole */,
);
};
/* 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 = (
8BAFF3A72A70766400327478 /* audioeffectx.cpp in Sources */,
2407DEB9089929BA00EB68BF /* EveryConsole.cpp in Sources */,
8BAFF3A62A70766400327478 /* audioeffect.cpp in Sources */,
8BAFF3A92A70766400327478 /* vstplugmain.cpp in Sources */,
24D8287009A914000093AEF8 /* EveryConsoleProc.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.EveryConsole;
PRODUCT_NAME = EveryConsole;
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.EveryConsole;
PRODUCT_NAME = EveryConsole;
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 "EveryConsole" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BEAAEE08919AE700E695F9 /* Debug */,
24BEAAEF08919AE700E695F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "EveryConsole" */ = {
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 = "EveryConsole"
ReferencedContainer = "container:EveryConsole.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 = "EveryConsole"
ReferencedContainer = "container:EveryConsole.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>EveryConsole.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>EveryConsole</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,149 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new EveryConsole(audioMaster);}
EveryConsole::EveryConsole(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.0;
B = 0.5;
C = 0.5;
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
}
EveryConsole::~EveryConsole() {}
VstInt32 EveryConsole::getVendorVersion () {return 1000;}
void EveryConsole::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void EveryConsole::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 EveryConsole::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
started with. */
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 EveryConsole::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
/* We're ignoring byteSize as we found it to be a filthy liar */
/* calculate any other fields you need here - you could copy in
code from setParameter() here. */
return 0;
}
void EveryConsole::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float EveryConsole::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
default: break; // unknown parameter, shouldn't happen!
} return 0.0; //we only need to update the relevant name, this is simple to manage
}
void EveryConsole::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "ConType", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "InTrim", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "OutTrim", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void EveryConsole::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: switch((VstInt32)( A * 11.999 )) //0 to almost edge of # of params
{case 0: vst_strncpy (text, "Retro Ch", kVstMaxParamStrLen); break;
case 1: vst_strncpy (text, "Retro Bs", kVstMaxParamStrLen); break;
case 2: vst_strncpy (text, "Sin() Ch", kVstMaxParamStrLen); break;
case 3: vst_strncpy (text, "aSin() Bs", kVstMaxParamStrLen); break;
case 4: vst_strncpy (text, "C6 Ch", kVstMaxParamStrLen); break;
case 5: vst_strncpy (text, "C6 Bs", kVstMaxParamStrLen); break;
case 6: vst_strncpy (text, "C7 Ch", kVstMaxParamStrLen); break;
case 7: vst_strncpy (text, "C7 Bs", kVstMaxParamStrLen); break;
case 8: vst_strncpy (text, "BShift Ch", kVstMaxParamStrLen); break;
case 9: vst_strncpy (text, "BShift Bs", kVstMaxParamStrLen); break;
case 10: vst_strncpy (text, "CZero Ch", kVstMaxParamStrLen); break;
case 11: vst_strncpy (text, "CZero Bs", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} break;
case kParamB: float2string (B*2.0, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C*2.0, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void EveryConsole::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 EveryConsole::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool EveryConsole::getEffectName(char* name) {
vst_strncpy(name, "EveryConsole", kVstMaxProductStrLen); return true;
}
VstPlugCategory EveryConsole::getPlugCategory() {return kPlugCategEffect;}
bool EveryConsole::getProductString(char* text) {
vst_strncpy (text, "airwindows EveryConsole", kVstMaxProductStrLen); return true;
}
bool EveryConsole::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,66 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#define __EveryConsole_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kParamB = 1,
kParamC = 2,
kNumParameters = 3
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'evcs'; //Change this to what the AU identity is!
class EveryConsole :
public AudioEffectX
{
public:
EveryConsole(audioMasterCallback audioMaster);
~EveryConsole();
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;
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
float B;
float C;
};
#endif

View file

@ -0,0 +1,368 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
void EveryConsole::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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 EveryConsole::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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,143 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* EveryConsole */;
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 = 712010286;
PBXWorkspaceStateSaveDate = 712010286;
};
perUserProjectItems = {
8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */ = 8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */;
8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */ = 8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */;
8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */ = 8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
};
};
2407DEB6089929BA00EB68BF /* EveryConsole.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 2646}}";
sepNavSelRange = "{4743, 0}";
sepNavVisRange = "{3419, 2129}";
sepNavWindowFrame = "{{178, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* EveryConsole.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {561, 1242}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 220}";
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 /* EveryConsoleProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {660, 6876}}";
sepNavSelRange = "{768, 0}";
sepNavVisRange = "{1325, 77}";
sepNavWindowFrame = "{{11, 38}, {1136, 840}}";
};
};
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8BB27F972A6F3A2500EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* EveryConsole.h */;
name = "EveryConsole.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 220;
vrLoc = 0;
};
8BB27FD52A7016DC00EDBE09 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */;
name = "EveryConsoleProc.cpp: 28";
rLen = 0;
rLoc = 768;
rType = 0;
vrLen = 100;
vrLoc = 1325;
};
8BFC9A0A2A706A9D00E34740 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 24D8286F09A914000093AEF8 /* EveryConsoleProc.cpp */;
name = "EveryConsoleProc.cpp: 28";
rLen = 0;
rLoc = 768;
rType = 0;
vrLen = 77;
vrLoc = 1325;
};
8D01CCC60486CAD60068D4B7 /* EveryConsole */ = {
activeExec = 0;
};
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

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

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,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0720"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
BuildableName = "Gain.vst"
BlueprintName = "Gain"
ReferencedContainer = "container:Gain.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
BuildableName = "Gain.vst"
BlueprintName = "Gain"
ReferencedContainer = "container:Gain.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
BuildableName = "Gain.vst"
BlueprintName = "Gain"
ReferencedContainer = "container:Gain.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

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>Gain.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>8</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>8D01CCC60486CAD60068D4B7</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

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>EveryConsole</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.airwindows.EveryConsole</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,149 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new EveryConsole(audioMaster);}
EveryConsole::EveryConsole(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.0;
B = 0.5;
C = 0.5;
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
}
EveryConsole::~EveryConsole() {}
VstInt32 EveryConsole::getVendorVersion () {return 1000;}
void EveryConsole::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void EveryConsole::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 EveryConsole::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
started with. */
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 EveryConsole::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
/* We're ignoring byteSize as we found it to be a filthy liar */
/* calculate any other fields you need here - you could copy in
code from setParameter() here. */
return 0;
}
void EveryConsole::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float EveryConsole::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
default: break; // unknown parameter, shouldn't happen!
} return 0.0; //we only need to update the relevant name, this is simple to manage
}
void EveryConsole::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "ConType", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "InTrim", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "OutTrim", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void EveryConsole::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: switch((VstInt32)( A * 11.999 )) //0 to almost edge of # of params
{case 0: vst_strncpy (text, "Retro Ch", kVstMaxParamStrLen); break;
case 1: vst_strncpy (text, "Retro Bs", kVstMaxParamStrLen); break;
case 2: vst_strncpy (text, "Sin() Ch", kVstMaxParamStrLen); break;
case 3: vst_strncpy (text, "aSin() Bs", kVstMaxParamStrLen); break;
case 4: vst_strncpy (text, "C6 Ch", kVstMaxParamStrLen); break;
case 5: vst_strncpy (text, "C6 Bs", kVstMaxParamStrLen); break;
case 6: vst_strncpy (text, "C7 Ch", kVstMaxParamStrLen); break;
case 7: vst_strncpy (text, "C7 Bs", kVstMaxParamStrLen); break;
case 8: vst_strncpy (text, "BShift Ch", kVstMaxParamStrLen); break;
case 9: vst_strncpy (text, "BShift Bs", kVstMaxParamStrLen); break;
case 10: vst_strncpy (text, "CZero Ch", kVstMaxParamStrLen); break;
case 11: vst_strncpy (text, "CZero Bs", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} break;
case kParamB: float2string (B*2.0, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C*2.0, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void EveryConsole::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 EveryConsole::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool EveryConsole::getEffectName(char* name) {
vst_strncpy(name, "EveryConsole", kVstMaxProductStrLen); return true;
}
VstPlugCategory EveryConsole::getPlugCategory() {return kPlugCategEffect;}
bool EveryConsole::getProductString(char* text) {
vst_strncpy (text, "airwindows EveryConsole", kVstMaxProductStrLen); return true;
}
bool EveryConsole::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,66 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#define __EveryConsole_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kParamB = 1,
kParamC = 2,
kNumParameters = 3
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'evcs'; //Change this to what the AU identity is!
class EveryConsole :
public AudioEffectX
{
public:
EveryConsole(audioMasterCallback audioMaster);
~EveryConsole();
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;
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
float B;
float C;
};
#endif

View file

@ -0,0 +1,368 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
void EveryConsole::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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 EveryConsole::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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++;
}
}

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,149 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new EveryConsole(audioMaster);}
EveryConsole::EveryConsole(audioMasterCallback audioMaster) :
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
{
A = 0.0;
B = 0.5;
C = 0.5;
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
}
EveryConsole::~EveryConsole() {}
VstInt32 EveryConsole::getVendorVersion () {return 1000;}
void EveryConsole::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
void EveryConsole::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 EveryConsole::getChunk (void** data, bool isPreset)
{
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
chunkData[0] = A;
chunkData[1] = B;
chunkData[2] = C;
/* Note: The way this is set up, it will break if you manage to save settings on an Intel
machine and load them on a PPC Mac. However, it's fine if you stick to the machine you
started with. */
*data = chunkData;
return kNumParameters * sizeof(float);
}
VstInt32 EveryConsole::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{
float *chunkData = (float *)data;
A = pinParameter(chunkData[0]);
B = pinParameter(chunkData[1]);
C = pinParameter(chunkData[2]);
/* We're ignoring byteSize as we found it to be a filthy liar */
/* calculate any other fields you need here - you could copy in
code from setParameter() here. */
return 0;
}
void EveryConsole::setParameter(VstInt32 index, float value) {
switch (index) {
case kParamA: A = value; break;
case kParamB: B = value; break;
case kParamC: C = value; break;
default: throw; // unknown parameter, shouldn't happen!
}
}
float EveryConsole::getParameter(VstInt32 index) {
switch (index) {
case kParamA: return A; break;
case kParamB: return B; break;
case kParamC: return C; break;
default: break; // unknown parameter, shouldn't happen!
} return 0.0; //we only need to update the relevant name, this is simple to manage
}
void EveryConsole::getParameterName(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "ConType", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "InTrim", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "OutTrim", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this is our labels for displaying in the VST host
}
void EveryConsole::getParameterDisplay(VstInt32 index, char *text) {
switch (index) {
case kParamA: switch((VstInt32)( A * 11.999 )) //0 to almost edge of # of params
{case 0: vst_strncpy (text, "Retro Ch", kVstMaxParamStrLen); break;
case 1: vst_strncpy (text, "Retro Bs", kVstMaxParamStrLen); break;
case 2: vst_strncpy (text, "Sin() Ch", kVstMaxParamStrLen); break;
case 3: vst_strncpy (text, "aSin() Bs", kVstMaxParamStrLen); break;
case 4: vst_strncpy (text, "C6 Ch", kVstMaxParamStrLen); break;
case 5: vst_strncpy (text, "C6 Bs", kVstMaxParamStrLen); break;
case 6: vst_strncpy (text, "C7 Ch", kVstMaxParamStrLen); break;
case 7: vst_strncpy (text, "C7 Bs", kVstMaxParamStrLen); break;
case 8: vst_strncpy (text, "BShift Ch", kVstMaxParamStrLen); break;
case 9: vst_strncpy (text, "BShift Bs", kVstMaxParamStrLen); break;
case 10: vst_strncpy (text, "CZero Ch", kVstMaxParamStrLen); break;
case 11: vst_strncpy (text, "CZero Bs", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} break;
case kParamB: float2string (B*2.0, text, kVstMaxParamStrLen); break;
case kParamC: float2string (C*2.0, text, kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
} //this displays the values and handles 'popups' where it's discrete choices
}
void EveryConsole::getParameterLabel(VstInt32 index, char *text) {
switch (index) {
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
default: break; // unknown parameter, shouldn't happen!
}
}
VstInt32 EveryConsole::canDo(char *text)
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
bool EveryConsole::getEffectName(char* name) {
vst_strncpy(name, "EveryConsole", kVstMaxProductStrLen); return true;
}
VstPlugCategory EveryConsole::getPlugCategory() {return kPlugCategEffect;}
bool EveryConsole::getProductString(char* text) {
vst_strncpy (text, "airwindows EveryConsole", kVstMaxProductStrLen); return true;
}
bool EveryConsole::getVendorString(char* text) {
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
}

View file

@ -0,0 +1,66 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#define __EveryConsole_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kParamB = 1,
kParamC = 2,
kNumParameters = 3
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'evcs'; //Change this to what the AU identity is!
class EveryConsole :
public AudioEffectX
{
public:
EveryConsole(audioMasterCallback audioMaster);
~EveryConsole();
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;
uint32_t fpdL;
uint32_t fpdR;
//default stuff
float A;
float B;
float C;
};
#endif

View file

@ -0,0 +1,368 @@
/* ========================================
* EveryConsole - EveryConsole.h
* Copyright (c) airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __EveryConsole_H
#include "EveryConsole.h"
#endif
void EveryConsole::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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 EveryConsole::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
{
double* in1 = inputs[0];
double* in2 = inputs[1];
double* out1 = outputs[0];
double* out2 = outputs[1];
double half = 0.0;
double falf = 0.0;
int console = (int) A*11.999;
double inTrim = B*2.0; //0-2
double outTrim = C*2.0;
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;
if (inTrim != 1.0) {
inputSampleL *= inTrim;
inputSampleR *= inTrim;
}
switch (console)
{
case 0:
half = inputSampleL * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL -= half;
half = inputSampleR * 0.83;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR -= half;
break; //original ConsoleChannel, before sin/asin
case 1:
half = inputSampleL * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleL += half;
half = inputSampleR * 0.885;
falf = fabs(half);
half *= falf;
half *= falf;
inputSampleR += half;
break; //original ConsoleBuss, before sin/asin
case 2:
if (inputSampleL > M_PI_2) inputSampleL = M_PI_2;
if (inputSampleL < -M_PI_2) inputSampleL = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleL = sin(inputSampleL);
if (inputSampleR > M_PI_2) inputSampleR = M_PI_2;
if (inputSampleR < -M_PI_2) inputSampleR = -M_PI_2;
//clip to max sine without any wavefolding
inputSampleR = sin(inputSampleR);
break; //sin() function ConsoleChannel
case 3:
if (inputSampleL > 1.0) inputSampleL = 1.0;
if (inputSampleL < -1.0) inputSampleL = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleL = asin(inputSampleL);
if (inputSampleR > 1.0) inputSampleR = 1.0;
if (inputSampleR < -1.0) inputSampleR = -1.0;
//without this, you can get a NaN condition where it spits out DC offset at full blast!
inputSampleR = asin(inputSampleR);
break; //sin() function ConsoleBuss
case 4:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,2.0);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,2.0);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,2.0);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,2.0);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Channel
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 5:
//encode/decode courtesy of torridgristle under the MIT license
if (inputSampleL > 1.0) inputSampleL= 1.0;
else if (inputSampleL > 0.0) inputSampleL = 1.0 - pow(1.0-inputSampleL,0.5);
if (inputSampleL < -1.0) inputSampleL = -1.0;
else if (inputSampleL < 0.0) inputSampleL = -1.0 + pow(1.0+inputSampleL,0.5);
if (inputSampleR > 1.0) inputSampleR = 1.0;
else if (inputSampleR > 0.0) inputSampleR = 1.0 - pow(1.0-inputSampleR,0.5);
if (inputSampleR < -1.0) inputSampleR = -1.0;
else if (inputSampleR < 0.0) inputSampleR = -1.0 + pow(1.0+inputSampleR,0.5);
//Inverse Square 1-(1-x)^2 and 1-(1-x)^0.5 for Console6Buss
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 6:
if (inputSampleL > 1.097) inputSampleL = 1.097;
if (inputSampleL < -1.097) inputSampleL = -1.097;
inputSampleL = ((sin(inputSampleL*fabs(inputSampleL))/((fabs(inputSampleL) == 0.0) ?1:fabs(inputSampleL)))*0.8)+(sin(inputSampleL)*0.2);
if (inputSampleR > 1.097) inputSampleR = 1.097;
if (inputSampleR < -1.097) inputSampleR = -1.097;
inputSampleR = ((sin(inputSampleR*fabs(inputSampleR))/((fabs(inputSampleR) == 0.0) ?1:fabs(inputSampleR)))*0.8)+(sin(inputSampleR)*0.2);
//this is a version of Spiral blended 80/20 with regular Density.
//It's blending between two different harmonics in the overtones of the algorithm
break; //Console7Channel
case 7:
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.
break; //Console7Buss
case 8:
inputSampleL += ((pow(inputSampleL,5)/128.0) + (pow(inputSampleL,9)/262144.0)) - ((pow(inputSampleL,3)/8.0) + (pow(inputSampleL,7)/4096.0));
inputSampleR += ((pow(inputSampleR,5)/128.0) + (pow(inputSampleR,9)/262144.0)) - ((pow(inputSampleR,3)/8.0) + (pow(inputSampleR,7)/4096.0));
break; //crude sine. Note that because modern processors love math more than extra variables, this is optimized
case 9:
inputSampleL += (pow(inputSampleL,3)/4.0)+(pow(inputSampleL,5)/8.0)+(pow(inputSampleL,7)/16.0)+(pow(inputSampleL,9)/32.0);
inputSampleR += (pow(inputSampleR,3)/4.0)+(pow(inputSampleR,5)/8.0)+(pow(inputSampleR,7)/16.0)+(pow(inputSampleR,9)/32.0);
break; //crude arcsine. Note that because modern processors love math more than extra variables, this is optimized
case 10:
if (inputSampleL > 1.4137166941154) inputSampleL = 1.4137166941154;
if (inputSampleL < -1.4137166941154) inputSampleL = -1.4137166941154;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL/2.0)*(2.8274333882308-inputSampleL);
else inputSampleL = -(inputSampleL/-2.0)*(2.8274333882308+inputSampleL);
if (inputSampleR > 1.4137166941154) inputSampleR = 1.4137166941154;
if (inputSampleR < -1.4137166941154) inputSampleR = -1.4137166941154;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR/2.0)*(2.8274333882308-inputSampleR);
else inputSampleR = -(inputSampleR/-2.0)*(2.8274333882308+inputSampleR);
break; //ConsoleZeroChannel
case 11:
if (inputSampleL > 2.8) inputSampleL = 2.8;
if (inputSampleL < -2.8) inputSampleL = -2.8;
if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(3.0-inputSampleL);
else inputSampleL = -(inputSampleL*-2.0)/(3.0+inputSampleL);
if (inputSampleR > 2.8) inputSampleR = 2.8;
if (inputSampleR < -2.8) inputSampleR = -2.8;
if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(3.0-inputSampleR);
else inputSampleR = -(inputSampleR*-2.0)/(3.0+inputSampleR);
break; //ConsoleZeroBuss
}
if (outTrim != 1.0) {
inputSampleL *= outTrim;
inputSampleR *= outTrim;
}
//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,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32
{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.cpp" />
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.cpp" />
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\vstplugmain.cpp" />
<ClCompile Include="EveryConsole.cpp" />
<ClCompile Include="EveryConsoleProc.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\aeffeditor.h" />
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.h" />
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h" />
<ClInclude Include="EveryConsole.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}</ProjectGuid>
<RootNamespace>VSTProject</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<ProjectName>EveryConsole64</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetExt>.dll</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<ExecutablePath>$(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<ExecutablePath>$(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<FunctionLevelLinking>false</FunctionLevelLinking>
<DebugInformationFormat>None</DebugInformationFormat>
</ClCompile>
<Link>
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<FunctionLevelLinking>false</FunctionLevelLinking>
<DebugInformationFormat>None</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>None</DebugInformationFormat>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<AdditionalDependencies>libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>None</DebugInformationFormat>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<IgnoreSpecificDefaultLibraries>libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<AdditionalDependencies>libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>vstplug.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\vstplugmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EveryConsole.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="EveryConsoleProc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\aeffeditor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffect.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="EveryConsole.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerAmpDefaultAccelerator>{ADEFF70D-84BF-47A1-91C3-FF6B0FC71218}</LocalDebuggerAmpDefaultAccelerator>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,3 @@
EXPORTS
VSTPluginMain
main=VSTPluginMain

View file

@ -134,6 +134,7 @@ Energy is electrifying fixed-frequency treble boosts.
Energy2 is electrifying fixed-frequency treble boosts for high sample rate.
Ensemble is a weird flangey little modulation effect.
EQ is just the EQ parts of CStrip.
EverySlew is a wide variety of unique sound processing tools.
EveryTrim is Left/Right, Mid/Side, and Master in one plugin.
Exciter is an Aural Exciter plugin that can be both subtle and extreme.
Facet is a new kind of hard clip that adds two sharp corners into the wave.