diff --git a/Airwindopedia.txt b/Airwindopedia.txt index d665b536d..8eb97bcf5 100644 --- a/Airwindopedia.txt +++ b/Airwindopedia.txt @@ -27,7 +27,7 @@ Dithers: Dark, PaulWide, PaulDither, TPDFWide, TPDFDither, NotJustAnotherDither, Dynamics: Pop2, Pressure5, Dynamics, Pop, DigitalBlack, Logical4, VariMu, ButterComp2, curve, Recurve, Pyewacket, BlockParty, SoftGate, Thunder, Compresaturator, DrumSlam, ButterComp, BrassRider, Point, Gatelope, PodcastDeluxe, Podcast, Swell, PurestSquish, Pressure4, Surge, SurgeTide -Effects: GalacticVibe, Fracture2, Dubly, Pafnuty2, PitchNasty, GuitarConditioner, Aura, TremoSquare, Tremolo, GlitchShifter, Gringer, Exciter, Energy2, Energy, Facet, Fracture, PowerSag2, PowerSag, Preponderant, Nikola +Effects: GalacticVibe, CloudCoat, Fracture2, Dubly, Pafnuty2, PitchNasty, GuitarConditioner, Aura, TremoSquare, Tremolo, GlitchShifter, Gringer, Exciter, Energy2, Energy, Facet, Fracture, PowerSag2, PowerSag, Preponderant, Nikola Filter: Baxandall2, Capacitor2, Pear, ResEQ2, SubTight, CStrip2, Weight, Isolator2, Holt2, Holt, ToneSlant, AverMatrix, Average, MackEQ, Hull2, Baxandall, Hull, EQ, Capacitor, Isolator, TapeFat, ResEQ, Lowpass2, Highpass2, Distance2, Distance, Lowpass, Highpass @@ -768,6 +768,34 @@ You'd use something like ClipOnly2 in mastering specifically because it won't to I hope you like it, and the way it'll affect my plugins going forward :) +############ CloudCoat is an array of blur effects with a taste for evil. + +Welcome back to the dark side of Airwindows! + +CloudCoat starts as an experiment. What if there was ClearCoat (a bank of small reverbs) except all the delays were allpasses? + +Okay, so a bit of explanation: allpasses are like reverb parts, but they make stuff sound smeary and blurred, like bloom reverbs. I've got a bloom reverb, MV, which is just a stack of allpasses. Most of my recent work is about avoiding allpasses completely by using reverb matrixes that give me LOTS of echo returns, impossible numbers, so I don't have to cheat with allpasses. This kind of works and kind of doesn't (work in progress, see my recent livestreams). But what would happen if you took what was clearly a reverb, and just replaced all the delays with allpasses? + +That's ClearCoat and CloudCoat. The idea was I could give a completely different texture, but using literally all the same reverb constants, and then I could hear what it was like. I expected it to be more a cloudy, diffuse texture, hence 'cloudcoat'. + +You might notice one difference right away: ClearCoat sounds a lot roomier. That's because it's designed with a little bit of feedback to fill it out. Sustain, if you will. It's also way more spacious, and way more metallic and ringy. This is in line with how it only uses delays, and is all part of the research. + +CloudCoat with sustain all the way off, is quite different. Depth and spaciousness is almost gone, but there's no metallicness either. It's like essence of fake artificial reverb blur. Remember, this too is a 4x4 Householder matrix: it's a complicated pile of allpasses, not something primitive like MV. I think it might find uses on pads or ambient sounds, or could be used to feed into ClearCoat at the same 'select' setting to create a more powerful room sound. With sustain all the way off, you can do many polite and nice things with CloudCoat. + +Then, throw it on some drums and turn the sustain up and ALL HELL BREAKS LOOSE :) + +CloudCoat is applying a kind of nonlinear reverb, like your classic 'nonlin' gated verb settings, but Airwindowsized. I'm allowing feedback, but of the four 'channels' of Householder feedback, each is also modulated by the output of the one next to it (a totally different sound)… WITHOUT smoothing. So the feedback is broken up by four banks of allpass output and cranked up to the point of meltdown, and that's CloudCoat. It disrupts the signal wildly and fiercely. + +Why? + +Because I tried it, on a livestream, and the drums absolutely exploded like nothing I've ever heard. There's rasp and rattle and an effect much like extreme compression while in a stone drum room, but there's no compression and no stone room. It just makes that sound. Instead of making it out of compressed, flat-topped compression smash, it's making the madness happen INSIDE the sound, meaning you can make it brutal and unbearable with ClearCoat and THEN loudenate it, unlike any other sort of compression or distortion. CloudCoat adds a whole new type of trash that is dynamic with your sound (again, nonlin) and automatically dials itself back if the source energy level does. It's a huge, nasty, energy-laden meltdown that can be escalated to pretty much any degree… and then dialed back down again, to pretty much any level of controllability, so long as you're using it on noisy percussion and as long as you're okay with its signature trash-sound, which is not like anything else and which is independent of added compression and distortion. + +And then you can do blur/texture effects with the sustain on 0. Just don't bother trying to make it work with tiny amounts of sustain: it basically can't. 0 or trash are your only options, and then there is a universe of trash and meltdown if trash you choose. + +But seriously, why? + +Because it makes me laugh with delight when snares go off like something out of the imagination of Trent Reznor. I don't know what to tell you. Enjoy CloudCoat, if it's the kind of thing you enjoy. + ############ Coils models the types of distortion you'll find in transformers. Coils is like the inverse of Focus. Instead of boosting/distorting UP the mids, it saturates DOWN the extreme highs and lows leaving the mids untouched. Because it’s a fixed mid shape mimicking the Neve transformer picture I was shown, the biquad doesn’t have to run inside Console as it’s not a high-Q filter at all (you’ll notice way more of an effect on steep filters) so it trades off that effect for less processing. The saturation is the Density algorithm, but without clipping, so if you trash it you get wrap-around on the transfer function curve, which works out to be kinda transformery. diff --git a/plugins/LinuxVST/CMakeLists.txt b/plugins/LinuxVST/CMakeLists.txt index 5228ea7f7..2ce6cd71e 100755 --- a/plugins/LinuxVST/CMakeLists.txt +++ b/plugins/LinuxVST/CMakeLists.txt @@ -68,6 +68,7 @@ add_airwindows_plugin(ClearCoat) add_airwindows_plugin(ClipOnly) add_airwindows_plugin(ClipOnly2) add_airwindows_plugin(ClipSoftly) +add_airwindows_plugin(CloudCoat) add_airwindows_plugin(Coils) add_airwindows_plugin(Coils2) add_airwindows_plugin(Cojones) @@ -201,6 +202,7 @@ add_airwindows_plugin(IronOxideClassic2) add_airwindows_plugin(Isolator) add_airwindows_plugin(Isolator2) add_airwindows_plugin(kCathedral) +add_airwindows_plugin(kCathedral2) add_airwindows_plugin(kChamberAR) add_airwindows_plugin(kPlateA) add_airwindows_plugin(kPlateB) diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp b/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + 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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::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 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoat.h b/plugins/LinuxVST/src/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp b/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 CloudCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp b/plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void kCathedral2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/kCathedral2/kCathedral2.h b/plugins/LinuxVST/src/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp b/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/MacAU/CloudCoat/CloudCoat.cpp b/plugins/MacAU/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..01af48b77 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.cpp @@ -0,0 +1,734 @@ +/* +* File: CloudCoat.cpp +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + CloudCoat.cpp + +=============================================================================*/ +#include "CloudCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(CloudCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CloudCoat::CloudCoat(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 + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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 = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + case kParam_Three: + AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamThree; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 CloudCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// CloudCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____CloudCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus CloudCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = GetParameter( kParam_One ); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-GetParameter( kParam_Two ),2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = GetParameter( kParam_Three )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacAU/CloudCoat/CloudCoat.exp b/plugins/MacAU/CloudCoat/CloudCoat.exp new file mode 100755 index 000000000..7a87e2c52 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.exp @@ -0,0 +1 @@ +_CloudCoatEntry diff --git a/plugins/MacAU/CloudCoat/CloudCoat.h b/plugins/MacAU/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..ad7134cf2 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.h @@ -0,0 +1,273 @@ +/* +* File: CloudCoat.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __CloudCoat_h__ +#define __CloudCoat_h__ + + +#pragma mark ____CloudCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 0.5; +static const float kDefaultValue_ParamThree = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Sustain"); +static CFStringRef kParameterThreeName = CFSTR("Dry/Wet"); +//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 +}; + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +#pragma mark ____CloudCoat +class CloudCoat : public AUEffectBase +{ +public: + CloudCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~CloudCoat () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kCloudCoatVersion; } + + private: + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/CloudCoat/CloudCoat.r b/plugins/MacAU/CloudCoat/CloudCoat.r new file mode 100755 index 000000000..a4150b6c5 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.r @@ -0,0 +1,61 @@ +/* +* File: CloudCoat.r +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 + +#include "CloudCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_CloudCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CloudCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_CloudCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE CloudCoat_COMP_SUBTYPE +#define COMP_MANUF CloudCoat_COMP_MANF + +#define VERSION kCloudCoatVersion +#define NAME "Airwindows: CloudCoat" +#define DESCRIPTION "CloudCoat AU" +#define ENTRY_POINT "CloudCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..3feca2f1a --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,161 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 728509494; + PBXWorkspaceStateSaveDate = 728509494; + }; + perUserProjectItems = { + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = 8B4E04E42B6484F80018872B /* PBXTextBookmark */; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; + name = "CloudCoat.h: 67"; + rLen = 0; + rLoc = 3243; + rType = 0; + vrLen = 106; + vrLoc = 3154; + }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 13356}}"; + sepNavSelRange = "{32823, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{1, 37}, {804, 784}}"; + }; + }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {785, 712}}"; + sepNavSelRange = "{16, 0}"; + sepNavVisRange = "{0, 16}"; + sepNavWindowFrame = "{{15, 38}, {832, 840}}"; + }; + }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}"; + sepNavSelRange = "{2906, 0}"; + sepNavVisRange = "{2832, 128}"; + sepNavWindowFrame = "{{585, 38}, {832, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* CloudCoatVersion.h */; + name = "CloudCoatVersion.h: 54"; + rLen = 0; + rLoc = 2906; + rType = 0; + vrLen = 128; + vrLoc = 2832; + }; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 641"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 643"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 4914}}"; + sepNavSelRange = "{6772, 469}"; + sepNavVisRange = "{5822, 698}"; + sepNavWindowFrame = "{{686, 96}, {719, 782}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..c463afdbd --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B4E047F2B6478DC0018872B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B4E047A2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B4E047B2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + _historyCapacity + 0 + bookmark + 8BA3AE5B2B6C509E00F494DA + history + + 8B4E04E42B6484F80018872B + 8BA3ACFF2B6C070B00F494DA + 8BA3ADE02B6C2DB700F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 13}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 13pt + + + Proportion + 428pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3ADE62B6C2DD300F494DA + 1CA23ED40692098700951B8B + 8BA3ADE72B6C2DD300F494DA + 8B4E047A2B6478DC0018872B + 8BA3ADE82B6C2DD300F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728518814.73926699 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj + + WindowString + -2 287 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2efbff3bc --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -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 /* CloudCoat.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* CloudCoat.r */; }; + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CloudCoatVersion.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 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* CloudCoat.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 = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CloudCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = CloudCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* CloudCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = CloudCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoatVersion.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.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 /* CloudCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = CloudCoat; + sourceTree = ""; + }; + 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 = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* CloudCoat.h */, + 8BA05A660720730100365D66 /* CloudCoat.cpp */, + 8BA05A670720730100365D66 /* CloudCoat.exp */, + 8BA05A680720730100365D66 /* CloudCoat.r */, + 8BA05A690720730100365D66 /* CloudCoatVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 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 = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 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 = ""; + }; + 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 /* CloudCoatVersion.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 /* CloudCoat.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 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = CloudCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* CloudCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 /* CloudCoat.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* CloudCoat.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 = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = CloudCoat.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 = CloudCoat; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = CloudCoat.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 = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/CloudCoat/CloudCoatVersion.h b/plugins/MacAU/CloudCoat/CloudCoatVersion.h new file mode 100755 index 000000000..abb0fe642 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: CloudCoatVersion.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 __CloudCoatVersion_h__ +#define __CloudCoatVersion_h__ + + +#ifdef DEBUG + #define kCloudCoatVersion 0xFFFFFFFF +#else + #define kCloudCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define CloudCoat_COMP_MANF 'Dthr' +#define CloudCoat_COMP_SUBTYPE 'cloc' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings b/plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings new file mode 100755 index 000000000..70c0bdccc Binary files /dev/null and b/plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/CloudCoat/Info.plist b/plugins/MacAU/CloudCoat/Info.plist new file mode 100755 index 000000000..12f0517b5 --- /dev/null +++ b/plugins/MacAU/CloudCoat/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/CloudCoat/StarterAU_Prefix.pch b/plugins/MacAU/CloudCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/CloudCoat/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacAU/CloudCoat/version.plist b/plugins/MacAU/CloudCoat/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/CloudCoat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings b/plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings new file mode 100755 index 000000000..1a8bc167e Binary files /dev/null and b/plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/kCathedral2/Info.plist b/plugins/MacAU/kCathedral2/Info.plist new file mode 100755 index 000000000..12f0517b5 --- /dev/null +++ b/plugins/MacAU/kCathedral2/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/kCathedral2/StarterAU_Prefix.pch b/plugins/MacAU/kCathedral2/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/kCathedral2/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacAU/kCathedral2/kCathedral2.cpp b/plugins/MacAU/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..4a5c1cda0 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.cpp @@ -0,0 +1,952 @@ +/* +* File: kCathedral2.cpp +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + kCathedral2.cpp + +=============================================================================*/ +#include "kCathedral2.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(kCathedral2) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +kCathedral2::kCathedral2(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 kCathedral2::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedral2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral2::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = GetParameter( kParam_One )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} \ No newline at end of file diff --git a/plugins/MacAU/kCathedral2/kCathedral2.exp b/plugins/MacAU/kCathedral2/kCathedral2.exp new file mode 100755 index 000000000..f2a4c0573 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.exp @@ -0,0 +1 @@ +_kCathedral2Entry diff --git a/plugins/MacAU/kCathedral2/kCathedral2.h b/plugins/MacAU/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..dc51c2314 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.h @@ -0,0 +1,398 @@ +/* +* File: kCathedral2.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral2_h__ +#define __kCathedral2_h__ + + +#pragma mark ____kCathedral2 Parameters + +// parameters +static const float kDefaultValue_ParamOne = 1.0; +static CFStringRef kParameterOneName = CFSTR("Wetness"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + //Add your parameters here... + kNumberOfParameters=1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +#pragma mark ____kCathedral2 +class kCathedral2 : public AUEffectBase +{ +public: + kCathedral2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral2 () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kkCathedral2Version; } + + private: + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/kCathedral2/kCathedral2.r b/plugins/MacAU/kCathedral2/kCathedral2.r new file mode 100755 index 000000000..c4a47c797 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral2.r +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 + +#include "kCathedral2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral2_COMP_SUBTYPE +#define COMP_MANUF kCathedral2_COMP_MANF + +#define VERSION kkCathedral2Version +#define NAME "Airwindows: kCathedral2" +#define DESCRIPTION "kCathedral2 AU" +#define ENTRY_POINT "kCathedral2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..89194afc5 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,142 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 186, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 728521365; + PBXWorkspaceStateSaveDate = 728521365; + }; + perUserProjectItems = { + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1254, 17496}}"; + sepNavSelRange = "{14513, 0}"; + sepNavVisRange = "{12994, 72}"; + sepNavWindowFrame = "{{27, 87}, {914, 759}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2920, 0}"; + sepNavVisRange = "{1174, 1809}"; + sepNavWindowFrame = "{{15, 63}, {691, 810}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 380"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 29; + vrLoc = 13026; + }; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; + name = "kCathedral2.h: 268"; + rLen = 0; + rLoc = 8771; + rType = 0; + vrLen = 712; + vrLoc = 4058; + }; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 368"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 72; + vrLoc = 12994; + }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5763, 7164}}"; + sepNavSelRange = "{6077, 4788}"; + sepNavVisRange = "{10121, 881}"; + sepNavWindowFrame = "{{38, 42}, {691, 810}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..0e5ef23ac --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B93D43A2B6B00F30079B481 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 632 + 632 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 485}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 503}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B93D4352B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B93D4362B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEC2B6C5C9D00F494DA + history + + 8BA3AEDA2B6C5A9A00F494DA + 8BA3AE882B6C555D00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {425, 69}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 69pt + + + Proportion + 429pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {425, 402}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {425, 352}} + + Module + PBXBuildResultsModule + + + + + Proportion + 425pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEDC2B6C5A9A00F494DA + 1CA23ED40692098700951B8B + 8BA3AEDD2B6C5A9A00F494DA + 8B93D4352B6B00F30079B481 + 8BA3AEDE2B6C5A9A00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728521885.04784501 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEED2B6C5C9D00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj + + WindowString + 59 108 632 544 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..b3f394774 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -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 /* kCathedral2.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* kCathedral2.r */; }; + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedral2Version.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 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral2.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 = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2Version.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.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 /* kCathedral2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral2; + sourceTree = ""; + }; + 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 = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral2.h */, + 8BA05A660720730100365D66 /* kCathedral2.cpp */, + 8BA05A670720730100365D66 /* kCathedral2.exp */, + 8BA05A680720730100365D66 /* kCathedral2.r */, + 8BA05A690720730100365D66 /* kCathedral2Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 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 = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 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 = ""; + }; + 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 /* kCathedral2Version.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 /* kCathedral2.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 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral2; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 /* kCathedral2.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* kCathedral2.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 = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = kCathedral2.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 = kCathedral2; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = kCathedral2.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 = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/kCathedral2/kCathedral2Version.h b/plugins/MacAU/kCathedral2/kCathedral2Version.h new file mode 100755 index 000000000..78900e821 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2Version.h @@ -0,0 +1,58 @@ +/* +* File: kCathedral2Version.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 __kCathedral2Version_h__ +#define __kCathedral2Version_h__ + + +#ifdef DEBUG + #define kkCathedral2Version 0xFFFFFFFF +#else + #define kkCathedral2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral2_COMP_MANF 'Dthr' +#define kCathedral2_COMP_SUBTYPE 'kcti' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/kCathedral2/version.plist b/plugins/MacAU/kCathedral2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/kCathedral2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp b/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..7f46c2283 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp @@ -0,0 +1,734 @@ +/* +* File: CloudCoat.cpp +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + CloudCoat.cpp + +=============================================================================*/ +#include "CloudCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, CloudCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CloudCoat::CloudCoat(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 + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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 = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + case kParam_Three: + AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamThree; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 CloudCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// CloudCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____CloudCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus CloudCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = GetParameter( kParam_One ); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-GetParameter( kParam_Two ),2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = GetParameter( kParam_Three )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.exp b/plugins/MacSignedAU/CloudCoat/CloudCoat.exp new file mode 100755 index 000000000..c1cbddd71 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.exp @@ -0,0 +1,2 @@ +_CloudCoatEntry +_CloudCoatFactory diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.h b/plugins/MacSignedAU/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..ad7134cf2 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.h @@ -0,0 +1,273 @@ +/* +* File: CloudCoat.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __CloudCoat_h__ +#define __CloudCoat_h__ + + +#pragma mark ____CloudCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 0.5; +static const float kDefaultValue_ParamThree = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Sustain"); +static CFStringRef kParameterThreeName = CFSTR("Dry/Wet"); +//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 +}; + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +#pragma mark ____CloudCoat +class CloudCoat : public AUEffectBase +{ +public: + CloudCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~CloudCoat () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kCloudCoatVersion; } + + private: + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.r b/plugins/MacSignedAU/CloudCoat/CloudCoat.r new file mode 100755 index 000000000..a4150b6c5 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.r @@ -0,0 +1,61 @@ +/* +* File: CloudCoat.r +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 + +#include "CloudCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_CloudCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CloudCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_CloudCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE CloudCoat_COMP_SUBTYPE +#define COMP_MANUF CloudCoat_COMP_MANF + +#define VERSION kCloudCoatVersion +#define NAME "Airwindows: CloudCoat" +#define DESCRIPTION "CloudCoat AU" +#define ENTRY_POINT "CloudCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..3feca2f1a --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,161 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 728509494; + PBXWorkspaceStateSaveDate = 728509494; + }; + perUserProjectItems = { + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = 8B4E04E42B6484F80018872B /* PBXTextBookmark */; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; + name = "CloudCoat.h: 67"; + rLen = 0; + rLoc = 3243; + rType = 0; + vrLen = 106; + vrLoc = 3154; + }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 13356}}"; + sepNavSelRange = "{32823, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{1, 37}, {804, 784}}"; + }; + }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {785, 712}}"; + sepNavSelRange = "{16, 0}"; + sepNavVisRange = "{0, 16}"; + sepNavWindowFrame = "{{15, 38}, {832, 840}}"; + }; + }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}"; + sepNavSelRange = "{2906, 0}"; + sepNavVisRange = "{2832, 128}"; + sepNavWindowFrame = "{{585, 38}, {832, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* CloudCoatVersion.h */; + name = "CloudCoatVersion.h: 54"; + rLen = 0; + rLoc = 2906; + rType = 0; + vrLen = 128; + vrLoc = 2832; + }; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 641"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 643"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 4914}}"; + sepNavSelRange = "{6772, 469}"; + sepNavVisRange = "{5822, 698}"; + sepNavWindowFrame = "{{686, 96}, {719, 782}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..c463afdbd --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B4E047F2B6478DC0018872B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B4E047A2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B4E047B2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + _historyCapacity + 0 + bookmark + 8BA3AE5B2B6C509E00F494DA + history + + 8B4E04E42B6484F80018872B + 8BA3ACFF2B6C070B00F494DA + 8BA3ADE02B6C2DB700F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 13}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 13pt + + + Proportion + 428pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3ADE62B6C2DD300F494DA + 1CA23ED40692098700951B8B + 8BA3ADE72B6C2DD300F494DA + 8B4E047A2B6478DC0018872B + 8BA3ADE82B6C2DD300F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728518814.73926699 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj + + WindowString + -2 287 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..9f4b34184 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B0BB6692B6D97E400ED532A /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */; }; + 8B0BB66A2B6D97E400ED532A /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */; }; + 8B0BB66B2B6D97E400ED532A /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E32B6D97E400ED532A /* CABool.h */; }; + 8B0BB66C2B6D97E400ED532A /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */; }; + 8B0BB66D2B6D97E400ED532A /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E52B6D97E400ED532A /* CADebugger.h */; }; + 8B0BB66E2B6D97E400ED532A /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */; }; + 8B0BB66F2B6D97E400ED532A /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E72B6D97E400ED532A /* CAGuard.h */; }; + 8B0BB6702B6D97E400ED532A /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */; }; + 8B0BB6712B6D97E400ED532A /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */; }; + 8B0BB6722B6D97E400ED532A /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */; }; + 8B0BB6732B6D97E400ED532A /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */; }; + 8B0BB6742B6D97E400ED532A /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */; }; + 8B0BB6752B6D97E400ED532A /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */; }; + 8B0BB6762B6D97E400ED532A /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */; }; + 8B0BB6772B6D97E400ED532A /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */; }; + 8B0BB6782B6D97E400ED532A /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */; }; + 8B0BB6792B6D97E400ED532A /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F12B6D97E400ED532A /* CAException.h */; }; + 8B0BB67A2B6D97E400ED532A /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */; }; + 8B0BB67B2B6D97E400ED532A /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */; }; + 8B0BB67C2B6D97E400ED532A /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F42B6D97E400ED532A /* CAProcess.h */; }; + 8B0BB67D2B6D97E400ED532A /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */; }; + 8B0BB67E2B6D97E400ED532A /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F62B6D97E400ED532A /* CAPThread.h */; }; + 8B0BB67F2B6D97E400ED532A /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */; }; + 8B0BB6802B6D97E400ED532A /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */; }; + 8B0BB6812B6D97E400ED532A /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */; }; + 8B0BB6822B6D97E400ED532A /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */; }; + 8B0BB6832B6D97E400ED532A /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */; }; + 8B0BB6842B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */; }; + 8B0BB6852B6D97E400ED532A /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */; }; + 8B0BB6862B6D97E400ED532A /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */; }; + 8B0BB6872B6D97E400ED532A /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */; }; + 8B0BB6882B6D97E400ED532A /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6002B6D97E400ED532A /* CACFString.h */; }; + 8B0BB6892B6D97E400ED532A /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */; }; + 8B0BB68A2B6D97E400ED532A /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */; }; + 8B0BB68B2B6D97E400ED532A /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */; }; + 8B0BB68C2B6D97E400ED532A /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */; }; + 8B0BB68D2B6D97E400ED532A /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */; }; + 8B0BB68E2B6D97E400ED532A /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */; }; + 8B0BB68F2B6D97E400ED532A /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */; }; + 8B0BB6902B6D97E400ED532A /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6082B6D97E400ED532A /* CAMutex.h */; }; + 8B0BB6912B6D97E400ED532A /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6092B6D97E400ED532A /* CACFString.cpp */; }; + 8B0BB6922B6D97E400ED532A /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */; }; + 8B0BB6932B6D97E400ED532A /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */; }; + 8B0BB6942B6D97E400ED532A /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */; }; + 8B0BB6952B6D97E400ED532A /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */; }; + 8B0BB6962B6D97E400ED532A /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */; }; + 8B0BB6972B6D97E400ED532A /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */; }; + 8B0BB6982B6D97E400ED532A /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */; }; + 8B0BB6992B6D97E400ED532A /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */; }; + 8B0BB69A2B6D97E400ED532A /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */; }; + 8B0BB69B2B6D97E400ED532A /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6132B6D97E400ED532A /* CAXException.h */; }; + 8B0BB69C2B6D97E400ED532A /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */; }; + 8B0BB69D2B6D97E400ED532A /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */; }; + 8B0BB69E2B6D97E400ED532A /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */; }; + 8B0BB69F2B6D97E400ED532A /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */; }; + 8B0BB6A02B6D97E400ED532A /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */; }; + 8B0BB6A12B6D97E400ED532A /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */; }; + 8B0BB6A22B6D97E400ED532A /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */; }; + 8B0BB6A32B6D97E400ED532A /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */; }; + 8B0BB6A42B6D97E400ED532A /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */; }; + 8B0BB6A52B6D97E400ED532A /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */; }; + 8B0BB6A62B6D97E400ED532A /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61E2B6D97E400ED532A /* CABufferList.h */; }; + 8B0BB6A72B6D97E400ED532A /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */; }; + 8B0BB6A82B6D97E400ED532A /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6202B6D97E400ED532A /* CACFData.h */; }; + 8B0BB6A92B6D97E400ED532A /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */; }; + 8B0BB6AA2B6D97E400ED532A /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */; }; + 8B0BB6AB2B6D97E400ED532A /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */; }; + 8B0BB6AC2B6D97E400ED532A /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */; }; + 8B0BB6AD2B6D97E400ED532A /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */; }; + 8B0BB6AE2B6D97E400ED532A /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */; }; + 8B0BB6AF2B6D97E400ED532A /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */; }; + 8B0BB6B02B6D97E400ED532A /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */; }; + 8B0BB6B12B6D97E400ED532A /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */; }; + 8B0BB6B22B6D97E400ED532A /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */; }; + 8B0BB6B32B6D97E400ED532A /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */; }; + 8B0BB6B42B6D97E400ED532A /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */; }; + 8B0BB6B52B6D97E400ED532A /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */; }; + 8B0BB6B62B6D97E400ED532A /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */; }; + 8B0BB6B72B6D97E400ED532A /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */; }; + 8B0BB6B82B6D97E400ED532A /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6302B6D97E400ED532A /* CATink.h */; }; + 8B0BB6B92B6D97E400ED532A /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */; }; + 8B0BB6BA2B6D97E400ED532A /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */; }; + 8B0BB6BB2B6D97E400ED532A /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */; }; + 8B0BB6BC2B6D97E400ED532A /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */; }; + 8B0BB6BD2B6D97E400ED532A /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */; }; + 8B0BB6BE2B6D97E400ED532A /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */; }; + 8B0BB6BF2B6D97E400ED532A /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */; }; + 8B0BB6C02B6D97E400ED532A /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */; }; + 8B0BB6C12B6D97E400ED532A /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */; }; + 8B0BB6C22B6D97E400ED532A /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63A2B6D97E400ED532A /* CACFArray.h */; }; + 8B0BB6C32B6D97E400ED532A /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */; }; + 8B0BB6C42B6D97E400ED532A /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */; }; + 8B0BB6C52B6D97E400ED532A /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */; }; + 8B0BB6C62B6D97E400ED532A /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */; }; + 8B0BB6C72B6D97E400ED532A /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */; }; + 8B0BB6C82B6D97E400ED532A /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */; }; + 8B0BB6C92B6D97E400ED532A /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */; }; + 8B0BB6CA2B6D97E400ED532A /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */; }; + 8B0BB6CB2B6D97E400ED532A /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6432B6D97E400ED532A /* CAMath.h */; }; + 8B0BB6CC2B6D97E400ED532A /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */; }; + 8B0BB6CD2B6D97E400ED532A /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */; }; + 8B0BB6CE2B6D97E400ED532A /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */; }; + 8B0BB6CF2B6D97E400ED532A /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */; }; + 8B0BB6D02B6D97E400ED532A /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */; }; + 8B0BB6D12B6D97E400ED532A /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */; }; + 8B0BB6D22B6D97E400ED532A /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */; }; + 8B0BB6D32B6D97E400ED532A /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */; }; + 8B0BB6D42B6D97E400ED532A /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6502B6D97E400ED532A /* AUBase.cpp */; }; + 8B0BB6D52B6D97E400ED532A /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6512B6D97E400ED532A /* AUInputElement.h */; }; + 8B0BB6D62B6D97E400ED532A /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6522B6D97E400ED532A /* AUBase.h */; }; + 8B0BB6D72B6D97E400ED532A /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */; }; + 8B0BB6D82B6D97E400ED532A /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6542B6D97E400ED532A /* AUDispatch.h */; }; + 8B0BB6D92B6D97E400ED532A /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */; }; + 8B0BB6DB2B6D97E400ED532A /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */; }; + 8B0BB6DC2B6D97E400ED532A /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */; }; + 8B0BB6DD2B6D97E400ED532A /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */; }; + 8B0BB6DE2B6D97E400ED532A /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */; }; + 8B0BB6DF2B6D97E400ED532A /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */; }; + 8B0BB6E02B6D97E400ED532A /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */; }; + 8B0BB6E12B6D97E400ED532A /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */; }; + 8B0BB6E22B6D97E400ED532A /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */; }; + 8B0BB6E32B6D97E400ED532A /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */; }; + 8B0BB6E42B6D97E400ED532A /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */; }; + 8B0BB6E52B6D97E400ED532A /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */; }; + 8B0BB6E62B6D97E400ED532A /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */; }; + 8B0BB6E72B6D97E400ED532A /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */; }; + 8B0BB6E82B6D97E400ED532A /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */; }; + 8B0BB6E92B6D97E400ED532A /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6672B6D97E400ED532A /* AUBuffer.h */; }; + 8B0BB6EA2B6D97E400ED532A /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CloudCoatVersion.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B0BB5E32B6D97E400ED532A /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B0BB5E52B6D97E400ED532A /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B0BB5E72B6D97E400ED532A /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B0BB5F12B6D97E400ED532A /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B0BB5F42B6D97E400ED532A /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B0BB5F62B6D97E400ED532A /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B0BB6002B6D97E400ED532A /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B0BB6082B6D97E400ED532A /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B0BB6092B6D97E400ED532A /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B0BB6132B6D97E400ED532A /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B0BB61E2B6D97E400ED532A /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B0BB6202B6D97E400ED532A /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B0BB6302B6D97E400ED532A /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B0BB63A2B6D97E400ED532A /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B0BB6432B6D97E400ED532A /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B0BB6502B6D97E400ED532A /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B0BB6512B6D97E400ED532A /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B0BB6522B6D97E400ED532A /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B0BB6542B6D97E400ED532A /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B0BB6562B6D97E400ED532A /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B0BB6672B6D97E400ED532A /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B0BB6EB2B6D988100ED532A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CloudCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = CloudCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* CloudCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = CloudCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoatVersion.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.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 /* CloudCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = CloudCoat; + sourceTree = ""; + }; + 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 = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B0BB5DF2B6D97E400ED532A /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB5DF2B6D97E400ED532A /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B0BB5E02B6D97E400ED532A /* PublicUtility */, + 8B0BB6482B6D97E400ED532A /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B0BB5E02B6D97E400ED532A /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */, + 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */, + 8B0BB5E32B6D97E400ED532A /* CABool.h */, + 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */, + 8B0BB5E52B6D97E400ED532A /* CADebugger.h */, + 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */, + 8B0BB5E72B6D97E400ED532A /* CAGuard.h */, + 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */, + 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */, + 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */, + 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */, + 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */, + 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */, + 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */, + 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */, + 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */, + 8B0BB5F12B6D97E400ED532A /* CAException.h */, + 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */, + 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */, + 8B0BB5F42B6D97E400ED532A /* CAProcess.h */, + 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */, + 8B0BB5F62B6D97E400ED532A /* CAPThread.h */, + 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */, + 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */, + 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */, + 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */, + 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */, + 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */, + 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */, + 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */, + 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */, + 8B0BB6002B6D97E400ED532A /* CACFString.h */, + 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */, + 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */, + 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */, + 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */, + 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */, + 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */, + 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */, + 8B0BB6082B6D97E400ED532A /* CAMutex.h */, + 8B0BB6092B6D97E400ED532A /* CACFString.cpp */, + 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */, + 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */, + 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */, + 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */, + 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */, + 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */, + 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */, + 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */, + 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */, + 8B0BB6132B6D97E400ED532A /* CAXException.h */, + 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */, + 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */, + 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */, + 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */, + 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */, + 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */, + 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */, + 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */, + 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */, + 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */, + 8B0BB61E2B6D97E400ED532A /* CABufferList.h */, + 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */, + 8B0BB6202B6D97E400ED532A /* CACFData.h */, + 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */, + 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */, + 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */, + 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */, + 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */, + 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */, + 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */, + 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */, + 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */, + 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */, + 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */, + 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */, + 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */, + 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */, + 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */, + 8B0BB6302B6D97E400ED532A /* CATink.h */, + 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */, + 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */, + 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */, + 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */, + 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */, + 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */, + 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */, + 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */, + 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */, + 8B0BB63A2B6D97E400ED532A /* CACFArray.h */, + 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */, + 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */, + 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */, + 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */, + 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */, + 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */, + 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */, + 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */, + 8B0BB6432B6D97E400ED532A /* CAMath.h */, + 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */, + 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */, + 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */, + 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B0BB6482B6D97E400ED532A /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B0BB6492B6D97E400ED532A /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B0BB6492B6D97E400ED532A /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B0BB64A2B6D97E400ED532A /* AUViewBase */, + 8B0BB64C2B6D97E400ED532A /* AUBase */, + 8B0BB65C2B6D97E400ED532A /* OtherBases */, + 8B0BB65F2B6D97E400ED532A /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B0BB64A2B6D97E400ED532A /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B0BB64C2B6D97E400ED532A /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */, + 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */, + 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */, + 8B0BB6502B6D97E400ED532A /* AUBase.cpp */, + 8B0BB6512B6D97E400ED532A /* AUInputElement.h */, + 8B0BB6522B6D97E400ED532A /* AUBase.h */, + 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */, + 8B0BB6542B6D97E400ED532A /* AUDispatch.h */, + 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */, + 8B0BB6562B6D97E400ED532A /* AUResources.r */, + 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */, + 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */, + 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */, + 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */, + 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B0BB65C2B6D97E400ED532A /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */, + 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B0BB65F2B6D97E400ED532A /* Utility */ = { + isa = PBXGroup; + children = ( + 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */, + 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */, + 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */, + 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */, + 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */, + 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */, + 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */, + 8B0BB6672B6D97E400ED532A /* AUBuffer.h */, + 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* CloudCoat.h */, + 8BA05A660720730100365D66 /* CloudCoat.cpp */, + 8BA05A670720730100365D66 /* CloudCoat.exp */, + 8BA05A680720730100365D66 /* CloudCoat.r */, + 8BA05A690720730100365D66 /* CloudCoatVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB6992B6D97E400ED532A /* CABundleLocker.h in Headers */, + 8B0BB6BA2B6D97E400ED532A /* CAAudioChannelLayout.h in Headers */, + 8B0BB6B02B6D97E400ED532A /* AUOutputBL.h in Headers */, + 8B0BB68B2B6D97E400ED532A /* CAHostTimeBase.h in Headers */, + 8B0BB6D32B6D97E400ED532A /* ComponentBase.h in Headers */, + 8B0BB6C32B6D97E400ED532A /* CAAtomicStack.h in Headers */, + 8B0BB6802B6D97E400ED532A /* CAAudioTimeStamp.h in Headers */, + 8B0BB69D2B6D97E400ED532A /* CAThreadSafeList.h in Headers */, + 8B0BB6782B6D97E400ED532A /* CAAUParameter.h in Headers */, + 8B0BB6EA2B6D97E400ED532A /* AUBaseHelper.h in Headers */, + 8B0BB6E22B6D97E400ED532A /* AUTimestampGenerator.h in Headers */, + 8B0BB6932B6D97E400ED532A /* CADebugPrintf.h in Headers */, + 8B0BB6CD2B6D97E400ED532A /* CACFMessagePort.h in Headers */, + 8B0BB67B2B6D97E400ED532A /* CAAUProcessor.h in Headers */, + 8B0BB6772B6D97E400ED532A /* CAAudioUnit.h in Headers */, + 8B0BB6D02B6D97E400ED532A /* AUViewLocalizedStringKeys.h in Headers */, + 8B0BB6B62B6D97E400ED532A /* CACFDistributedNotification.h in Headers */, + 8B0BB6752B6D97E400ED532A /* CAComponent.h in Headers */, + 8B0BB6832B6D97E400ED532A /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */, + 8B0BB6B72B6D97E400ED532A /* CAFilePathUtils.h in Headers */, + 8B0BB6792B6D97E400ED532A /* CAException.h in Headers */, + 8B0BB6702B6D97E400ED532A /* CAAtomic.h in Headers */, + 8B0BB66F2B6D97E400ED532A /* CAGuard.h in Headers */, + 8B0BB6D52B6D97E400ED532A /* AUInputElement.h in Headers */, + 8B0BB6AC2B6D97E400ED532A /* CACFPreferences.h in Headers */, + 8B0BB6C12B6D97E400ED532A /* CAByteOrder.h in Headers */, + 8B0BB6A42B6D97E400ED532A /* CARingBuffer.h in Headers */, + 8B0BB66B2B6D97E400ED532A /* CABool.h in Headers */, + 8B0BB6902B6D97E400ED532A /* CAMutex.h in Headers */, + 8B0BB6D62B6D97E400ED532A /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* CloudCoat.h in Headers */, + 8B0BB6882B6D97E400ED532A /* CACFString.h in Headers */, + 8B0BB6A72B6D97E400ED532A /* CASharedLibrary.h in Headers */, + 8B0BB6742B6D97E400ED532A /* CATokenMap.h in Headers */, + 8B0BB6692B6D97E400ED532A /* CAExtAudioFile.h in Headers */, + 8B0BB67E2B6D97E400ED532A /* CAPThread.h in Headers */, + 8B0BB69A2B6D97E400ED532A /* CAPropertyAddress.h in Headers */, + 8B0BB6C42B6D97E400ED532A /* CAReferenceCounted.h in Headers */, + 8B0BB6E92B6D97E400ED532A /* AUBuffer.h in Headers */, + 8B0BB6CB2B6D97E400ED532A /* CAMath.h in Headers */, + 8B0BB6AB2B6D97E400ED532A /* CAAutoDisposer.h in Headers */, + 8B0BB6722B6D97E400ED532A /* CACFObject.h in Headers */, + 8B0BB6922B6D97E400ED532A /* CASettingsStorage.h in Headers */, + 8B0BB69B2B6D97E400ED532A /* CAXException.h in Headers */, + 8B0BB6B82B6D97E400ED532A /* CATink.h in Headers */, + 8B0BB6E52B6D97E400ED532A /* AUInputFormatConverter.h in Headers */, + 8B0BB6C02B6D97E400ED532A /* CAVectorUnit.h in Headers */, + 8B0BB67C2B6D97E400ED532A /* CAProcess.h in Headers */, + 8B0BB6822B6D97E400ED532A /* CAAudioValueRange.h in Headers */, + 8B0BB6972B6D97E400ED532A /* CABitOperations.h in Headers */, + 8B0BB68D2B6D97E400ED532A /* CAAudioFileFormats.h in Headers */, + 8B0BB6862B6D97E400ED532A /* CACFNumber.h in Headers */, + 8B0BB69E2B6D97E400ED532A /* CAAudioUnitOutputCapturer.h in Headers */, + 8B0BB6AF2B6D97E400ED532A /* CADebugMacros.h in Headers */, + 8B0BB6E82B6D97E400ED532A /* AUMIDIDefs.h in Headers */, + 8B0BB6A82B6D97E400ED532A /* CACFData.h in Headers */, + 8B0BB6712B6D97E400ED532A /* CAStreamBasicDescription.h in Headers */, + 8B0BB6D72B6D97E400ED532A /* AUPlugInDispatch.h in Headers */, + 8B0BB6732B6D97E400ED532A /* CAStreamRangedDescription.h in Headers */, + 8B0BB6B32B6D97E400ED532A /* CACFPlugIn.h in Headers */, + 8B0BB6762B6D97E400ED532A /* CAAudioBufferList.h in Headers */, + 8B0BB68E2B6D97E400ED532A /* CAAUMIDIMapManager.h in Headers */, + 8B0BB6E12B6D97E400ED532A /* AUEffectBase.h in Headers */, + 8B0BB67D2B6D97E400ED532A /* CACFDictionary.h in Headers */, + 8B0BB6DE2B6D97E400ED532A /* AUScopeElement.h in Headers */, + 8B0BB6AE2B6D97E400ED532A /* CAComponentDescription.h in Headers */, + 8B0BB6E42B6D97E400ED532A /* AUSilentTimeout.h in Headers */, + 8B0BB6A62B6D97E400ED532A /* CABufferList.h in Headers */, + 8B0BB6D82B6D97E400ED532A /* AUDispatch.h in Headers */, + 8B0BB6DC2B6D97E400ED532A /* AUOutputElement.h in Headers */, + 8B0BB6A22B6D97E400ED532A /* CALogMacros.h in Headers */, + 8B0BB6962B6D97E400ED532A /* AUParamInfo.h in Headers */, + 8B0BB6B52B6D97E400ED532A /* CAMixMap.h in Headers */, + 8B0BB6C22B6D97E400ED532A /* CACFArray.h in Headers */, + 8B0BB66A2B6D97E400ED532A /* CACFMachPort.h in Headers */, + 8B0BB6952B6D97E400ED532A /* CAAUMIDIMap.h in Headers */, + 8B0BB66D2B6D97E400ED532A /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = CloudCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + ja, + Base, + en, + fr, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* CloudCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 = ( + 8B0BB6A52B6D97E400ED532A /* AUOutputBL.cpp in Sources */, + 8B0BB6CA2B6D97E400ED532A /* CAAudioFileFormats.cpp in Sources */, + 8B0BB6BC2B6D97E400ED532A /* CAHostTimeBase.cpp in Sources */, + 8B0BB6942B6D97E400ED532A /* CAXException.cpp in Sources */, + 8B0BB6BE2B6D97E400ED532A /* CAAudioBufferList.cpp in Sources */, + 8B0BB6812B6D97E400ED532A /* CAFilePathUtils.cpp in Sources */, + 8B0BB67F2B6D97E400ED532A /* CAAUParameter.cpp in Sources */, + 8B0BB6A12B6D97E400ED532A /* CAAUMIDIMap.cpp in Sources */, + 8B0BB6CE2B6D97E400ED532A /* CAAudioValueRange.cpp in Sources */, + 8B0BB6DD2B6D97E400ED532A /* AUDispatch.cpp in Sources */, + 8B0BB6982B6D97E400ED532A /* CACFPreferences.cpp in Sources */, + 8B0BB6DB2B6D97E400ED532A /* AUPlugInDispatch.cpp in Sources */, + 8B0BB67A2B6D97E400ED532A /* CAAUProcessor.cpp in Sources */, + 8B0BB68F2B6D97E400ED532A /* CACFDictionary.cpp in Sources */, + 8B0BB6E32B6D97E400ED532A /* AUBaseHelper.cpp in Sources */, + 8B0BB6C82B6D97E400ED532A /* CADebugger.cpp in Sources */, + 8B0BB69C2B6D97E400ED532A /* CAAudioChannelLayout.cpp in Sources */, + 8B0BB69F2B6D97E400ED532A /* AUParamInfo.cpp in Sources */, + 8B0BB6BD2B6D97E400ED532A /* CAPersistence.cpp in Sources */, + 8B0BB6B12B6D97E400ED532A /* CADebugPrintf.cpp in Sources */, + 8B0BB6E62B6D97E400ED532A /* AUTimestampGenerator.cpp in Sources */, + 8B0BB6B92B6D97E400ED532A /* CAStreamBasicDescription.cpp in Sources */, + 8B0BB6892B6D97E400ED532A /* CAAUMIDIMapManager.cpp in Sources */, + 8B0BB6B42B6D97E400ED532A /* CASettingsStorage.cpp in Sources */, + 8B0BB6D92B6D97E400ED532A /* AUOutputElement.cpp in Sources */, + 8B0BB6852B6D97E400ED532A /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */, + 8B0BB6C72B6D97E400ED532A /* CAMutex.cpp in Sources */, + 8B0BB6E02B6D97E400ED532A /* AUEffectBase.cpp in Sources */, + 8B0BB6C52B6D97E400ED532A /* CACFMachPort.cpp in Sources */, + 8B0BB6D42B6D97E400ED532A /* AUBase.cpp in Sources */, + 8B0BB6A02B6D97E400ED532A /* CASharedLibrary.cpp in Sources */, + 8B0BB6872B6D97E400ED532A /* CACFDistributedNotification.cpp in Sources */, + 8B0BB68A2B6D97E400ED532A /* CAComponentDescription.cpp in Sources */, + 8B0BB6912B6D97E400ED532A /* CACFString.cpp in Sources */, + 8B0BB6D12B6D97E400ED532A /* ComponentBase.cpp in Sources */, + 8B0BB6B22B6D97E400ED532A /* CARingBuffer.cpp in Sources */, + 8B0BB6D22B6D97E400ED532A /* AUScopeElement.cpp in Sources */, + 8B0BB6CF2B6D97E400ED532A /* CAAudioUnit.cpp in Sources */, + 8B0BB6CC2B6D97E400ED532A /* CACFArray.cpp in Sources */, + 8B0BB6C92B6D97E400ED532A /* CABundleLocker.cpp in Sources */, + 8B0BB6BB2B6D97E400ED532A /* CAProcess.cpp in Sources */, + 8B0BB6A92B6D97E400ED532A /* CAStreamRangedDescription.cpp in Sources */, + 8B0BB6AA2B6D97E400ED532A /* CAPThread.cpp in Sources */, + 8B0BB66C2B6D97E400ED532A /* CAComponent.cpp in Sources */, + 8B0BB6842B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B0BB6BF2B6D97E400ED532A /* CAAudioTimeStamp.cpp in Sources */, + 8B0BB6C62B6D97E400ED532A /* CABufferList.cpp in Sources */, + 8B0BB6A32B6D97E400ED532A /* CACFMessagePort.cpp in Sources */, + 8B0BB6AD2B6D97E400ED532A /* CAVectorUnit.cpp in Sources */, + 8B0BB6DF2B6D97E400ED532A /* AUInputElement.cpp in Sources */, + 8B0BB6E72B6D97E400ED532A /* AUBuffer.cpp in Sources */, + 8B0BB68C2B6D97E400ED532A /* CADebugMacros.cpp in Sources */, + 8B0BB66E2B6D97E400ED532A /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B0BB6EB2B6D988100ED532A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* 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 = CloudCoat.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 = CloudCoat; + 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 = CloudCoat.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 = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 000000000..bfe3f7e59 Binary files /dev/null and b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme new file mode 100644 index 000000000..fe2e2a793 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..1de29ce4e --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + CloudCoat.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h b/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h new file mode 100755 index 000000000..abb0fe642 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: CloudCoatVersion.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 __CloudCoatVersion_h__ +#define __CloudCoatVersion_h__ + + +#ifdef DEBUG + #define kCloudCoatVersion 0xFFFFFFFF +#else + #define kCloudCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define CloudCoat_COMP_MANF 'Dthr' +#define CloudCoat_COMP_SUBTYPE 'cloc' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/CloudCoat/Info.plist b/plugins/MacSignedAU/CloudCoat/Info.plist new file mode 100755 index 000000000..4cda2c157 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + cloc + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/CloudCoat/StarterAU_Prefix.pch b/plugins/MacSignedAU/CloudCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacSignedAU/CloudCoat/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/CloudCoat/en.lproj/InfoPlist.strings new file mode 100755 index 000000000..70c0bdccc Binary files /dev/null and b/plugins/MacSignedAU/CloudCoat/en.lproj/InfoPlist.strings differ diff --git a/plugins/MacSignedAU/CloudCoat/version.plist b/plugins/MacSignedAU/CloudCoat/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/kCathedral2/Info.plist b/plugins/MacSignedAU/kCathedral2/Info.plist new file mode 100755 index 000000000..c47c89480 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + kcti + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/kCathedral2/StarterAU_Prefix.pch b/plugins/MacSignedAU/kCathedral2/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacSignedAU/kCathedral2/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/kCathedral2/en.lproj/InfoPlist.strings new file mode 100755 index 000000000..1a8bc167e Binary files /dev/null and b/plugins/MacSignedAU/kCathedral2/en.lproj/InfoPlist.strings differ diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.cpp b/plugins/MacSignedAU/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..219c100a7 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.cpp @@ -0,0 +1,952 @@ +/* +* File: kCathedral2.cpp +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + kCathedral2.cpp + +=============================================================================*/ +#include "kCathedral2.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, kCathedral2) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +kCathedral2::kCathedral2(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 kCathedral2::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedral2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral2::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = GetParameter( kParam_One )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.exp b/plugins/MacSignedAU/kCathedral2/kCathedral2.exp new file mode 100755 index 000000000..0b0bb288d --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.exp @@ -0,0 +1,2 @@ +_kCathedral2Entry +_kCathedral2Factory diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.h b/plugins/MacSignedAU/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..dc51c2314 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.h @@ -0,0 +1,398 @@ +/* +* File: kCathedral2.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral2_h__ +#define __kCathedral2_h__ + + +#pragma mark ____kCathedral2 Parameters + +// parameters +static const float kDefaultValue_ParamOne = 1.0; +static CFStringRef kParameterOneName = CFSTR("Wetness"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + //Add your parameters here... + kNumberOfParameters=1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +#pragma mark ____kCathedral2 +class kCathedral2 : public AUEffectBase +{ +public: + kCathedral2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral2 () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kkCathedral2Version; } + + private: + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.r b/plugins/MacSignedAU/kCathedral2/kCathedral2.r new file mode 100755 index 000000000..c4a47c797 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral2.r +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 + +#include "kCathedral2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral2_COMP_SUBTYPE +#define COMP_MANUF kCathedral2_COMP_MANF + +#define VERSION kkCathedral2Version +#define NAME "Airwindows: kCathedral2" +#define DESCRIPTION "kCathedral2 AU" +#define ENTRY_POINT "kCathedral2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..89194afc5 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,142 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 186, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 728521365; + PBXWorkspaceStateSaveDate = 728521365; + }; + perUserProjectItems = { + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1254, 17496}}"; + sepNavSelRange = "{14513, 0}"; + sepNavVisRange = "{12994, 72}"; + sepNavWindowFrame = "{{27, 87}, {914, 759}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2920, 0}"; + sepNavVisRange = "{1174, 1809}"; + sepNavWindowFrame = "{{15, 63}, {691, 810}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 380"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 29; + vrLoc = 13026; + }; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; + name = "kCathedral2.h: 268"; + rLen = 0; + rLoc = 8771; + rType = 0; + vrLen = 712; + vrLoc = 4058; + }; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 368"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 72; + vrLoc = 12994; + }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5763, 7164}}"; + sepNavSelRange = "{6077, 4788}"; + sepNavVisRange = "{10121, 881}"; + sepNavWindowFrame = "{{38, 42}, {691, 810}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..0e5ef23ac --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B93D43A2B6B00F30079B481 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 632 + 632 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 485}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 503}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B93D4352B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B93D4362B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEC2B6C5C9D00F494DA + history + + 8BA3AEDA2B6C5A9A00F494DA + 8BA3AE882B6C555D00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {425, 69}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 69pt + + + Proportion + 429pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {425, 402}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {425, 352}} + + Module + PBXBuildResultsModule + + + + + Proportion + 425pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEDC2B6C5A9A00F494DA + 1CA23ED40692098700951B8B + 8BA3AEDD2B6C5A9A00F494DA + 8B93D4352B6B00F30079B481 + 8BA3AEDE2B6C5A9A00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728521885.04784501 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEED2B6C5C9D00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj + + WindowString + 59 108 632 544 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..1f98778c4 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B0BB7762B6D98D900ED532A /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */; }; + 8B0BB7772B6D98D900ED532A /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */; }; + 8B0BB7782B6D98D900ED532A /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F02B6D98D800ED532A /* CABool.h */; }; + 8B0BB7792B6D98D900ED532A /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */; }; + 8B0BB77A2B6D98D900ED532A /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F22B6D98D800ED532A /* CADebugger.h */; }; + 8B0BB77B2B6D98D900ED532A /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */; }; + 8B0BB77C2B6D98D900ED532A /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F42B6D98D800ED532A /* CAGuard.h */; }; + 8B0BB77D2B6D98D900ED532A /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */; }; + 8B0BB77E2B6D98D900ED532A /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */; }; + 8B0BB77F2B6D98D900ED532A /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F72B6D98D800ED532A /* CACFObject.h */; }; + 8B0BB7802B6D98D900ED532A /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */; }; + 8B0BB7812B6D98D900ED532A /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */; }; + 8B0BB7822B6D98D900ED532A /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */; }; + 8B0BB7832B6D98D900ED532A /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */; }; + 8B0BB7842B6D98D900ED532A /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */; }; + 8B0BB7852B6D98D900ED532A /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */; }; + 8B0BB7862B6D98D900ED532A /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FE2B6D98D800ED532A /* CAException.h */; }; + 8B0BB7872B6D98D900ED532A /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */; }; + 8B0BB7882B6D98D900ED532A /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */; }; + 8B0BB7892B6D98D900ED532A /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7012B6D98D800ED532A /* CAProcess.h */; }; + 8B0BB78A2B6D98D900ED532A /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */; }; + 8B0BB78B2B6D98D900ED532A /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7032B6D98D900ED532A /* CAPThread.h */; }; + 8B0BB78C2B6D98D900ED532A /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */; }; + 8B0BB78D2B6D98D900ED532A /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */; }; + 8B0BB78E2B6D98D900ED532A /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */; }; + 8B0BB78F2B6D98D900ED532A /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */; }; + 8B0BB7902B6D98D900ED532A /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */; }; + 8B0BB7912B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */; }; + 8B0BB7922B6D98D900ED532A /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */; }; + 8B0BB7932B6D98D900ED532A /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */; }; + 8B0BB7942B6D98D900ED532A /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */; }; + 8B0BB7952B6D98D900ED532A /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB70D2B6D98D900ED532A /* CACFString.h */; }; + 8B0BB7962B6D98D900ED532A /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */; }; + 8B0BB7972B6D98D900ED532A /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */; }; + 8B0BB7982B6D98D900ED532A /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */; }; + 8B0BB7992B6D98D900ED532A /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */; }; + 8B0BB79A2B6D98D900ED532A /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */; }; + 8B0BB79B2B6D98D900ED532A /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */; }; + 8B0BB79C2B6D98D900ED532A /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */; }; + 8B0BB79D2B6D98D900ED532A /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7152B6D98D900ED532A /* CAMutex.h */; }; + 8B0BB79E2B6D98D900ED532A /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7162B6D98D900ED532A /* CACFString.cpp */; }; + 8B0BB79F2B6D98D900ED532A /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */; }; + 8B0BB7A02B6D98D900ED532A /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */; }; + 8B0BB7A12B6D98D900ED532A /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7192B6D98D900ED532A /* CAXException.cpp */; }; + 8B0BB7A22B6D98D900ED532A /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */; }; + 8B0BB7A32B6D98D900ED532A /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */; }; + 8B0BB7A42B6D98D900ED532A /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */; }; + 8B0BB7A52B6D98D900ED532A /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */; }; + 8B0BB7A62B6D98D900ED532A /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */; }; + 8B0BB7A72B6D98D900ED532A /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */; }; + 8B0BB7A82B6D98D900ED532A /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7202B6D98D900ED532A /* CAXException.h */; }; + 8B0BB7A92B6D98D900ED532A /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */; }; + 8B0BB7AA2B6D98D900ED532A /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */; }; + 8B0BB7AB2B6D98D900ED532A /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */; }; + 8B0BB7AC2B6D98D900ED532A /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */; }; + 8B0BB7AD2B6D98D900ED532A /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */; }; + 8B0BB7AE2B6D98D900ED532A /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */; }; + 8B0BB7AF2B6D98D900ED532A /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7272B6D98D900ED532A /* CALogMacros.h */; }; + 8B0BB7B02B6D98D900ED532A /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */; }; + 8B0BB7B12B6D98D900ED532A /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */; }; + 8B0BB7B22B6D98D900ED532A /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */; }; + 8B0BB7B32B6D98D900ED532A /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72B2B6D98D900ED532A /* CABufferList.h */; }; + 8B0BB7B42B6D98D900ED532A /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */; }; + 8B0BB7B52B6D98D900ED532A /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72D2B6D98D900ED532A /* CACFData.h */; }; + 8B0BB7B62B6D98D900ED532A /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */; }; + 8B0BB7B72B6D98D900ED532A /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */; }; + 8B0BB7B82B6D98D900ED532A /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */; }; + 8B0BB7B92B6D98D900ED532A /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */; }; + 8B0BB7BA2B6D98D900ED532A /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */; }; + 8B0BB7BB2B6D98D900ED532A /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */; }; + 8B0BB7BC2B6D98D900ED532A /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */; }; + 8B0BB7BD2B6D98D900ED532A /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */; }; + 8B0BB7BE2B6D98D900ED532A /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */; }; + 8B0BB7BF2B6D98D900ED532A /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */; }; + 8B0BB7C02B6D98D900ED532A /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */; }; + 8B0BB7C12B6D98D900ED532A /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */; }; + 8B0BB7C22B6D98D900ED532A /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */; }; + 8B0BB7C32B6D98D900ED532A /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */; }; + 8B0BB7C42B6D98D900ED532A /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */; }; + 8B0BB7C52B6D98D900ED532A /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73D2B6D98D900ED532A /* CATink.h */; }; + 8B0BB7C62B6D98D900ED532A /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */; }; + 8B0BB7C72B6D98D900ED532A /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */; }; + 8B0BB7C82B6D98D900ED532A /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */; }; + 8B0BB7C92B6D98D900ED532A /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */; }; + 8B0BB7CA2B6D98D900ED532A /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */; }; + 8B0BB7CB2B6D98D900ED532A /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */; }; + 8B0BB7CC2B6D98D900ED532A /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */; }; + 8B0BB7CD2B6D98D900ED532A /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */; }; + 8B0BB7CE2B6D98D900ED532A /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */; }; + 8B0BB7CF2B6D98D900ED532A /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7472B6D98D900ED532A /* CACFArray.h */; }; + 8B0BB7D02B6D98D900ED532A /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */; }; + 8B0BB7D12B6D98D900ED532A /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */; }; + 8B0BB7D22B6D98D900ED532A /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */; }; + 8B0BB7D32B6D98D900ED532A /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */; }; + 8B0BB7D42B6D98D900ED532A /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */; }; + 8B0BB7D52B6D98D900ED532A /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */; }; + 8B0BB7D62B6D98D900ED532A /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */; }; + 8B0BB7D72B6D98D900ED532A /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */; }; + 8B0BB7D82B6D98D900ED532A /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7502B6D98D900ED532A /* CAMath.h */; }; + 8B0BB7D92B6D98D900ED532A /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */; }; + 8B0BB7DA2B6D98D900ED532A /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */; }; + 8B0BB7DB2B6D98D900ED532A /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */; }; + 8B0BB7DC2B6D98D900ED532A /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */; }; + 8B0BB7DD2B6D98D900ED532A /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */; }; + 8B0BB7DE2B6D98D900ED532A /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */; }; + 8B0BB7DF2B6D98D900ED532A /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */; }; + 8B0BB7E02B6D98D900ED532A /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */; }; + 8B0BB7E12B6D98D900ED532A /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */; }; + 8B0BB7E22B6D98D900ED532A /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */; }; + 8B0BB7E32B6D98D900ED532A /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75F2B6D98D900ED532A /* AUBase.h */; }; + 8B0BB7E42B6D98D900ED532A /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */; }; + 8B0BB7E52B6D98D900ED532A /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7612B6D98D900ED532A /* AUDispatch.h */; }; + 8B0BB7E62B6D98D900ED532A /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */; }; + 8B0BB7E82B6D98D900ED532A /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */; }; + 8B0BB7E92B6D98D900ED532A /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */; }; + 8B0BB7EA2B6D98D900ED532A /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */; }; + 8B0BB7EB2B6D98D900ED532A /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */; }; + 8B0BB7EC2B6D98D900ED532A /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */; }; + 8B0BB7ED2B6D98D900ED532A /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */; }; + 8B0BB7EE2B6D98D900ED532A /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */; }; + 8B0BB7EF2B6D98D900ED532A /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */; }; + 8B0BB7F02B6D98D900ED532A /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */; }; + 8B0BB7F12B6D98D900ED532A /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */; }; + 8B0BB7F22B6D98D900ED532A /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */; }; + 8B0BB7F32B6D98D900ED532A /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */; }; + 8B0BB7F42B6D98D900ED532A /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */; }; + 8B0BB7F52B6D98D900ED532A /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */; }; + 8B0BB7F62B6D98D900ED532A /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7742B6D98D900ED532A /* AUBuffer.h */; }; + 8B0BB7F72B6D98D900ED532A /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedral2Version.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B0BB6F02B6D98D800ED532A /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B0BB6F22B6D98D800ED532A /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B0BB6F42B6D98D800ED532A /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B0BB6F72B6D98D800ED532A /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B0BB6FE2B6D98D800ED532A /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B0BB7012B6D98D800ED532A /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B0BB7032B6D98D900ED532A /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B0BB70D2B6D98D900ED532A /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B0BB7152B6D98D900ED532A /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B0BB7162B6D98D900ED532A /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B0BB7192B6D98D900ED532A /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B0BB7202B6D98D900ED532A /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B0BB7272B6D98D900ED532A /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B0BB72B2B6D98D900ED532A /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B0BB72D2B6D98D900ED532A /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B0BB73D2B6D98D900ED532A /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B0BB7472B6D98D900ED532A /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B0BB7502B6D98D900ED532A /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B0BB75F2B6D98D900ED532A /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B0BB7612B6D98D900ED532A /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B0BB7632B6D98D900ED532A /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B0BB7742B6D98D900ED532A /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B0BB7F82B6D995100ED532A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2Version.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.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 /* kCathedral2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral2; + sourceTree = ""; + }; + 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 = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B0BB6EC2B6D98D800ED532A /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB6EC2B6D98D800ED532A /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B0BB6ED2B6D98D800ED532A /* PublicUtility */, + 8B0BB7552B6D98D900ED532A /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B0BB6ED2B6D98D800ED532A /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */, + 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */, + 8B0BB6F02B6D98D800ED532A /* CABool.h */, + 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */, + 8B0BB6F22B6D98D800ED532A /* CADebugger.h */, + 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */, + 8B0BB6F42B6D98D800ED532A /* CAGuard.h */, + 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */, + 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */, + 8B0BB6F72B6D98D800ED532A /* CACFObject.h */, + 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */, + 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */, + 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */, + 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */, + 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */, + 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */, + 8B0BB6FE2B6D98D800ED532A /* CAException.h */, + 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */, + 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */, + 8B0BB7012B6D98D800ED532A /* CAProcess.h */, + 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */, + 8B0BB7032B6D98D900ED532A /* CAPThread.h */, + 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */, + 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */, + 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */, + 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */, + 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */, + 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */, + 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */, + 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */, + 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */, + 8B0BB70D2B6D98D900ED532A /* CACFString.h */, + 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */, + 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */, + 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */, + 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */, + 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */, + 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */, + 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */, + 8B0BB7152B6D98D900ED532A /* CAMutex.h */, + 8B0BB7162B6D98D900ED532A /* CACFString.cpp */, + 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */, + 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */, + 8B0BB7192B6D98D900ED532A /* CAXException.cpp */, + 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */, + 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */, + 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */, + 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */, + 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */, + 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */, + 8B0BB7202B6D98D900ED532A /* CAXException.h */, + 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */, + 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */, + 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */, + 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */, + 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */, + 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */, + 8B0BB7272B6D98D900ED532A /* CALogMacros.h */, + 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */, + 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */, + 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */, + 8B0BB72B2B6D98D900ED532A /* CABufferList.h */, + 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */, + 8B0BB72D2B6D98D900ED532A /* CACFData.h */, + 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */, + 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */, + 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */, + 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */, + 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */, + 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */, + 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */, + 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */, + 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */, + 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */, + 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */, + 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */, + 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */, + 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */, + 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */, + 8B0BB73D2B6D98D900ED532A /* CATink.h */, + 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */, + 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */, + 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */, + 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */, + 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */, + 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */, + 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */, + 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */, + 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */, + 8B0BB7472B6D98D900ED532A /* CACFArray.h */, + 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */, + 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */, + 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */, + 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */, + 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */, + 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */, + 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */, + 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */, + 8B0BB7502B6D98D900ED532A /* CAMath.h */, + 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */, + 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */, + 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */, + 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B0BB7552B6D98D900ED532A /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B0BB7562B6D98D900ED532A /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B0BB7562B6D98D900ED532A /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B0BB7572B6D98D900ED532A /* AUViewBase */, + 8B0BB7592B6D98D900ED532A /* AUBase */, + 8B0BB7692B6D98D900ED532A /* OtherBases */, + 8B0BB76C2B6D98D900ED532A /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B0BB7572B6D98D900ED532A /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B0BB7592B6D98D900ED532A /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */, + 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */, + 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */, + 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */, + 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */, + 8B0BB75F2B6D98D900ED532A /* AUBase.h */, + 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */, + 8B0BB7612B6D98D900ED532A /* AUDispatch.h */, + 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */, + 8B0BB7632B6D98D900ED532A /* AUResources.r */, + 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */, + 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */, + 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */, + 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */, + 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B0BB7692B6D98D900ED532A /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */, + 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B0BB76C2B6D98D900ED532A /* Utility */ = { + isa = PBXGroup; + children = ( + 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */, + 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */, + 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */, + 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */, + 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */, + 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */, + 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */, + 8B0BB7742B6D98D900ED532A /* AUBuffer.h */, + 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral2.h */, + 8BA05A660720730100365D66 /* kCathedral2.cpp */, + 8BA05A670720730100365D66 /* kCathedral2.exp */, + 8BA05A680720730100365D66 /* kCathedral2.r */, + 8BA05A690720730100365D66 /* kCathedral2Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB7A62B6D98D900ED532A /* CABundleLocker.h in Headers */, + 8B0BB7C72B6D98D900ED532A /* CAAudioChannelLayout.h in Headers */, + 8B0BB7BD2B6D98D900ED532A /* AUOutputBL.h in Headers */, + 8B0BB7982B6D98D900ED532A /* CAHostTimeBase.h in Headers */, + 8B0BB7E02B6D98D900ED532A /* ComponentBase.h in Headers */, + 8B0BB7D02B6D98D900ED532A /* CAAtomicStack.h in Headers */, + 8B0BB78D2B6D98D900ED532A /* CAAudioTimeStamp.h in Headers */, + 8B0BB7AA2B6D98D900ED532A /* CAThreadSafeList.h in Headers */, + 8B0BB7852B6D98D900ED532A /* CAAUParameter.h in Headers */, + 8B0BB7F72B6D98D900ED532A /* AUBaseHelper.h in Headers */, + 8B0BB7EF2B6D98D900ED532A /* AUTimestampGenerator.h in Headers */, + 8B0BB7A02B6D98D900ED532A /* CADebugPrintf.h in Headers */, + 8B0BB7DA2B6D98D900ED532A /* CACFMessagePort.h in Headers */, + 8B0BB7882B6D98D900ED532A /* CAAUProcessor.h in Headers */, + 8B0BB7842B6D98D900ED532A /* CAAudioUnit.h in Headers */, + 8B0BB7DD2B6D98D900ED532A /* AUViewLocalizedStringKeys.h in Headers */, + 8B0BB7C32B6D98D900ED532A /* CACFDistributedNotification.h in Headers */, + 8B0BB7822B6D98D900ED532A /* CAComponent.h in Headers */, + 8B0BB7902B6D98D900ED532A /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */, + 8B0BB7C42B6D98D900ED532A /* CAFilePathUtils.h in Headers */, + 8B0BB7862B6D98D900ED532A /* CAException.h in Headers */, + 8B0BB77D2B6D98D900ED532A /* CAAtomic.h in Headers */, + 8B0BB77C2B6D98D900ED532A /* CAGuard.h in Headers */, + 8B0BB7E22B6D98D900ED532A /* AUInputElement.h in Headers */, + 8B0BB7B92B6D98D900ED532A /* CACFPreferences.h in Headers */, + 8B0BB7CE2B6D98D900ED532A /* CAByteOrder.h in Headers */, + 8B0BB7B12B6D98D900ED532A /* CARingBuffer.h in Headers */, + 8B0BB7782B6D98D900ED532A /* CABool.h in Headers */, + 8B0BB79D2B6D98D900ED532A /* CAMutex.h in Headers */, + 8B0BB7E32B6D98D900ED532A /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* kCathedral2.h in Headers */, + 8B0BB7952B6D98D900ED532A /* CACFString.h in Headers */, + 8B0BB7B42B6D98D900ED532A /* CASharedLibrary.h in Headers */, + 8B0BB7812B6D98D900ED532A /* CATokenMap.h in Headers */, + 8B0BB7762B6D98D900ED532A /* CAExtAudioFile.h in Headers */, + 8B0BB78B2B6D98D900ED532A /* CAPThread.h in Headers */, + 8B0BB7A72B6D98D900ED532A /* CAPropertyAddress.h in Headers */, + 8B0BB7D12B6D98D900ED532A /* CAReferenceCounted.h in Headers */, + 8B0BB7F62B6D98D900ED532A /* AUBuffer.h in Headers */, + 8B0BB7D82B6D98D900ED532A /* CAMath.h in Headers */, + 8B0BB7B82B6D98D900ED532A /* CAAutoDisposer.h in Headers */, + 8B0BB77F2B6D98D900ED532A /* CACFObject.h in Headers */, + 8B0BB79F2B6D98D900ED532A /* CASettingsStorage.h in Headers */, + 8B0BB7A82B6D98D900ED532A /* CAXException.h in Headers */, + 8B0BB7C52B6D98D900ED532A /* CATink.h in Headers */, + 8B0BB7F22B6D98D900ED532A /* AUInputFormatConverter.h in Headers */, + 8B0BB7CD2B6D98D900ED532A /* CAVectorUnit.h in Headers */, + 8B0BB7892B6D98D900ED532A /* CAProcess.h in Headers */, + 8B0BB78F2B6D98D900ED532A /* CAAudioValueRange.h in Headers */, + 8B0BB7A42B6D98D900ED532A /* CABitOperations.h in Headers */, + 8B0BB79A2B6D98D900ED532A /* CAAudioFileFormats.h in Headers */, + 8B0BB7932B6D98D900ED532A /* CACFNumber.h in Headers */, + 8B0BB7AB2B6D98D900ED532A /* CAAudioUnitOutputCapturer.h in Headers */, + 8B0BB7BC2B6D98D900ED532A /* CADebugMacros.h in Headers */, + 8B0BB7F52B6D98D900ED532A /* AUMIDIDefs.h in Headers */, + 8B0BB7B52B6D98D900ED532A /* CACFData.h in Headers */, + 8B0BB77E2B6D98D900ED532A /* CAStreamBasicDescription.h in Headers */, + 8B0BB7E42B6D98D900ED532A /* AUPlugInDispatch.h in Headers */, + 8B0BB7802B6D98D900ED532A /* CAStreamRangedDescription.h in Headers */, + 8B0BB7C02B6D98D900ED532A /* CACFPlugIn.h in Headers */, + 8B0BB7832B6D98D900ED532A /* CAAudioBufferList.h in Headers */, + 8B0BB79B2B6D98D900ED532A /* CAAUMIDIMapManager.h in Headers */, + 8B0BB7EE2B6D98D900ED532A /* AUEffectBase.h in Headers */, + 8B0BB78A2B6D98D900ED532A /* CACFDictionary.h in Headers */, + 8B0BB7EB2B6D98D900ED532A /* AUScopeElement.h in Headers */, + 8B0BB7BB2B6D98D900ED532A /* CAComponentDescription.h in Headers */, + 8B0BB7F12B6D98D900ED532A /* AUSilentTimeout.h in Headers */, + 8B0BB7B32B6D98D900ED532A /* CABufferList.h in Headers */, + 8B0BB7E52B6D98D900ED532A /* AUDispatch.h in Headers */, + 8B0BB7E92B6D98D900ED532A /* AUOutputElement.h in Headers */, + 8B0BB7AF2B6D98D900ED532A /* CALogMacros.h in Headers */, + 8B0BB7A32B6D98D900ED532A /* AUParamInfo.h in Headers */, + 8B0BB7C22B6D98D900ED532A /* CAMixMap.h in Headers */, + 8B0BB7CF2B6D98D900ED532A /* CACFArray.h in Headers */, + 8B0BB7772B6D98D900ED532A /* CACFMachPort.h in Headers */, + 8B0BB7A22B6D98D900ED532A /* CAAUMIDIMap.h in Headers */, + 8B0BB77A2B6D98D900ED532A /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral2; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + fr, + en, + ja, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 = ( + 8B0BB7B22B6D98D900ED532A /* AUOutputBL.cpp in Sources */, + 8B0BB7D72B6D98D900ED532A /* CAAudioFileFormats.cpp in Sources */, + 8B0BB7C92B6D98D900ED532A /* CAHostTimeBase.cpp in Sources */, + 8B0BB7A12B6D98D900ED532A /* CAXException.cpp in Sources */, + 8B0BB7CB2B6D98D900ED532A /* CAAudioBufferList.cpp in Sources */, + 8B0BB78E2B6D98D900ED532A /* CAFilePathUtils.cpp in Sources */, + 8B0BB78C2B6D98D900ED532A /* CAAUParameter.cpp in Sources */, + 8B0BB7AE2B6D98D900ED532A /* CAAUMIDIMap.cpp in Sources */, + 8B0BB7DB2B6D98D900ED532A /* CAAudioValueRange.cpp in Sources */, + 8B0BB7EA2B6D98D900ED532A /* AUDispatch.cpp in Sources */, + 8B0BB7A52B6D98D900ED532A /* CACFPreferences.cpp in Sources */, + 8B0BB7E82B6D98D900ED532A /* AUPlugInDispatch.cpp in Sources */, + 8B0BB7872B6D98D900ED532A /* CAAUProcessor.cpp in Sources */, + 8B0BB79C2B6D98D900ED532A /* CACFDictionary.cpp in Sources */, + 8B0BB7F02B6D98D900ED532A /* AUBaseHelper.cpp in Sources */, + 8B0BB7D52B6D98D900ED532A /* CADebugger.cpp in Sources */, + 8B0BB7A92B6D98D900ED532A /* CAAudioChannelLayout.cpp in Sources */, + 8B0BB7AC2B6D98D900ED532A /* AUParamInfo.cpp in Sources */, + 8B0BB7CA2B6D98D900ED532A /* CAPersistence.cpp in Sources */, + 8B0BB7BE2B6D98D900ED532A /* CADebugPrintf.cpp in Sources */, + 8B0BB7F32B6D98D900ED532A /* AUTimestampGenerator.cpp in Sources */, + 8B0BB7C62B6D98D900ED532A /* CAStreamBasicDescription.cpp in Sources */, + 8B0BB7962B6D98D900ED532A /* CAAUMIDIMapManager.cpp in Sources */, + 8B0BB7C12B6D98D900ED532A /* CASettingsStorage.cpp in Sources */, + 8B0BB7E62B6D98D900ED532A /* AUOutputElement.cpp in Sources */, + 8B0BB7922B6D98D900ED532A /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */, + 8B0BB7D42B6D98D900ED532A /* CAMutex.cpp in Sources */, + 8B0BB7ED2B6D98D900ED532A /* AUEffectBase.cpp in Sources */, + 8B0BB7D22B6D98D900ED532A /* CACFMachPort.cpp in Sources */, + 8B0BB7E12B6D98D900ED532A /* AUBase.cpp in Sources */, + 8B0BB7AD2B6D98D900ED532A /* CASharedLibrary.cpp in Sources */, + 8B0BB7942B6D98D900ED532A /* CACFDistributedNotification.cpp in Sources */, + 8B0BB7972B6D98D900ED532A /* CAComponentDescription.cpp in Sources */, + 8B0BB79E2B6D98D900ED532A /* CACFString.cpp in Sources */, + 8B0BB7DE2B6D98D900ED532A /* ComponentBase.cpp in Sources */, + 8B0BB7BF2B6D98D900ED532A /* CARingBuffer.cpp in Sources */, + 8B0BB7DF2B6D98D900ED532A /* AUScopeElement.cpp in Sources */, + 8B0BB7DC2B6D98D900ED532A /* CAAudioUnit.cpp in Sources */, + 8B0BB7D92B6D98D900ED532A /* CACFArray.cpp in Sources */, + 8B0BB7D62B6D98D900ED532A /* CABundleLocker.cpp in Sources */, + 8B0BB7C82B6D98D900ED532A /* CAProcess.cpp in Sources */, + 8B0BB7B62B6D98D900ED532A /* CAStreamRangedDescription.cpp in Sources */, + 8B0BB7B72B6D98D900ED532A /* CAPThread.cpp in Sources */, + 8B0BB7792B6D98D900ED532A /* CAComponent.cpp in Sources */, + 8B0BB7912B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B0BB7CC2B6D98D900ED532A /* CAAudioTimeStamp.cpp in Sources */, + 8B0BB7D32B6D98D900ED532A /* CABufferList.cpp in Sources */, + 8B0BB7B02B6D98D900ED532A /* CACFMessagePort.cpp in Sources */, + 8B0BB7BA2B6D98D900ED532A /* CAVectorUnit.cpp in Sources */, + 8B0BB7EC2B6D98D900ED532A /* AUInputElement.cpp in Sources */, + 8B0BB7F42B6D98D900ED532A /* AUBuffer.cpp in Sources */, + 8B0BB7992B6D98D900ED532A /* CADebugMacros.cpp in Sources */, + 8B0BB77B2B6D98D900ED532A /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B0BB7F82B6D995100ED532A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* 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 = kCathedral2.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 = kCathedral2; + 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 = kCathedral2.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 = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 000000000..d9f94bb29 Binary files /dev/null and b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme new file mode 100644 index 000000000..10e57f957 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..5499c688c --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral2.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h b/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h new file mode 100755 index 000000000..78900e821 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h @@ -0,0 +1,58 @@ +/* +* File: kCathedral2Version.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 __kCathedral2Version_h__ +#define __kCathedral2Version_h__ + + +#ifdef DEBUG + #define kkCathedral2Version 0xFFFFFFFF +#else + #define kkCathedral2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral2_COMP_MANF 'Dthr' +#define kCathedral2_COMP_SUBTYPE 'kcti' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/kCathedral2/version.plist b/plugins/MacSignedAU/kCathedral2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..ae8984fd4 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,132 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728517667; + PBXWorkspaceStateSaveDate = 728517667; + }; + perUserProjectItems = { + 8B4E05102B6489750018872B /* PBXTextBookmark */ = 8B4E05102B6489750018872B /* PBXTextBookmark */; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4482}}"; + sepNavSelRange = "{3218, 0}"; + sepNavVisRange = "{5778, 1801}"; + sepNavWindowFrame = "{{539, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 4104}}"; + sepNavSelRange = "{3938, 0}"; + sepNavVisRange = "{3921, 77}"; + sepNavWindowFrame = "{{518, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1299, 15750}}"; + sepNavSelRange = "{47754, 0}"; + sepNavVisRange = "{47286, 1370}"; + sepNavWindowFrame = "{{543, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8B4E05102B6489750018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 112; + vrLoc = 3906; + }; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 77; + vrLoc = 3921; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d603f460f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + _historyCapacity + 0 + bookmark + 8BA3AE562B6C509C00F494DA + history + + 8B4E05102B6489750018872B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 117pt + + + Proportion + 324pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 297}} + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AE572B6C509C00F494DA + 1CA23ED40692098700951B8B + 8BA3AE582B6C509C00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AE592B6C509C00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728518812.94769704 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AE5A2B6C509C00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj + + WindowString + 636 320 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2a7324c9c --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */; }; + 245463B90991757100464AD3 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* CloudCoat.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* CloudCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B0BB80B2B6D99A300ED532A /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */; }; + 8B0BB80C2B6D99A300ED532A /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8002B6D99A300ED532A /* aeffect.h */; }; + 8B0BB80D2B6D99A300ED532A /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8012B6D99A300ED532A /* aeffectx.h */; }; + 8B0BB80E2B6D99A300ED532A /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8052B6D99A300ED532A /* audioeffectx.h */; }; + 8B0BB80F2B6D99A300ED532A /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */; }; + 8B0BB8102B6D99A300ED532A /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */; }; + 8B0BB8112B6D99A300ED532A /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8082B6D99A300ED532A /* aeffeditor.h */; }; + 8B0BB8122B6D99A300ED532A /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */; }; + 8B0BB8132B6D99A300ED532A /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB80A2B6D99A300ED532A /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* CloudCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoat.cpp; path = source/CloudCoat.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CloudCoat.h; path = source/CloudCoat.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoatProc.cpp; path = source/CloudCoatProc.cpp; sourceTree = ""; }; + 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; }; + 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B0BB8002B6D99A300ED532A /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B0BB8012B6D99A300ED532A /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B0BB8052B6D99A300ED532A /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B0BB8082B6D99A300ED532A /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B0BB80A2B6D99A300ED532A /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B0BB7FC2B6D99A300ED532A /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */, + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */, + 245463B80991757100464AD3 /* CloudCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* CloudCoat.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB7FC2B6D99A300ED532A /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B0BB7FD2B6D99A300ED532A /* pluginterfaces */, + 8B0BB8022B6D99A300ED532A /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B0BB7FD2B6D99A300ED532A /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B0BB7FE2B6D99A300ED532A /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B0BB7FE2B6D99A300ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */, + 8B0BB8002B6D99A300ED532A /* aeffect.h */, + 8B0BB8012B6D99A300ED532A /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B0BB8022B6D99A300ED532A /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B0BB8032B6D99A300ED532A /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B0BB8032B6D99A300ED532A /* source */ = { + isa = PBXGroup; + children = ( + 8B0BB8042B6D99A300ED532A /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B0BB8042B6D99A300ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB8052B6D99A300ED532A /* audioeffectx.h */, + 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */, + 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */, + 8B0BB8082B6D99A300ED532A /* aeffeditor.h */, + 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */, + 8B0BB80A2B6D99A300ED532A /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB8112B6D99A300ED532A /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* CloudCoat.h in Headers */, + 8B0BB8132B6D99A300ED532A /* audioeffect.h in Headers */, + 8B0BB80C2B6D99A300ED532A /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B0BB80E2B6D99A300ED532A /* audioeffectx.h in Headers */, + 8B0BB80B2B6D99A300ED532A /* vstfxstore.h in Headers */, + 8B0BB80D2B6D99A300ED532A /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + en, + de, + fr, + ja, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 = ( + 8B0BB8102B6D99A300ED532A /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */, + 8B0BB80F2B6D99A300ED532A /* audioeffect.cpp in Sources */, + 8B0BB8122B6D99A300ED532A /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* CloudCoatProc.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.CloudCoat; + PRODUCT_NAME = CloudCoat; + 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.CloudCoat; + PRODUCT_NAME = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..544d993a8 Binary files /dev/null and b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser @@ -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 = ""; + }; +} diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme new file mode 100644 index 000000000..587e2ba2e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..d7238d2e2 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + CloudCoat.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/mac/Info.plist b/plugins/MacSignedVST/CloudCoat/mac/Info.plist new file mode 100755 index 000000000..356743a7f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + CloudCoat + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/CloudCoat/mac/PkgInfo b/plugins/MacSignedVST/CloudCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h @@ -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 \ No newline at end of file diff --git a/plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + 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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::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 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp b/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 CloudCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..97afa4e64 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,126 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + 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 = 728520238; + PBXWorkspaceStateSaveDate = 728520238; + }; + perUserProjectItems = { + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {786, 5238}}"; + sepNavSelRange = "{9271, 0}"; + sepNavVisRange = "{8319, 279}"; + sepNavWindowFrame = "{{533, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {848, 7110}}"; + sepNavSelRange = "{8442, 0}"; + sepNavVisRange = "{7713, 808}"; + sepNavWindowFrame = "{{657, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1065, 25452}}"; + sepNavSelRange = "{63743, 0}"; + sepNavVisRange = "{63165, 1477}"; + sepNavWindowFrame = "{{541, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + }; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 262"; + rLen = 0; + rLoc = 9271; + rType = 0; + vrLen = 279; + vrLoc = 8319; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..f1fb71efe --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEF2B6C5C9F00F494DA + history + + 8BA3AEEE2B6C5C9F00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 132}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 132pt + + + Proportion + 309pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEF02B6C5C9F00F494DA + 1CA23ED40692098700951B8B + 8BA3AEF12B6C5C9F00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AEF22B6C5C9F00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728521887.06748402 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEF32B6C5C9F00F494DA + /Users/christopherjohnson/Desktop/kCathedral2/kCathedral2.xcodeproj + + WindowString + 626 230 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..6ebeb865d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; }; + 245463B90991757100464AD3 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral2.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* kCathedral2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B0BB8262B6D9A9C00ED532A /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */; }; + 8B0BB8272B6D9A9C00ED532A /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */; }; + 8B0BB8282B6D9A9C00ED532A /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */; }; + 8B0BB8292B6D9A9C00ED532A /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */; }; + 8B0BB82A2B6D9A9C00ED532A /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */; }; + 8B0BB82B2B6D9A9C00ED532A /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */; }; + 8B0BB82C2B6D9A9C00ED532A /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */; }; + 8B0BB82D2B6D9A9C00ED532A /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */; }; + 8B0BB82E2B6D9A9C00ED532A /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8252B6D9A9C00ED532A /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* kCathedral2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2.cpp; path = source/kCathedral2.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral2.h; path = source/kCathedral2.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2Proc.cpp; path = source/kCathedral2Proc.cpp; sourceTree = ""; }; + 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; }; + 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B0BB8252B6D9A9C00ED532A /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B0BB8172B6D9A9C00ED532A /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */, + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */, + 245463B80991757100464AD3 /* kCathedral2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral2.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB8172B6D9A9C00ED532A /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B0BB8182B6D9A9C00ED532A /* pluginterfaces */, + 8B0BB81D2B6D9A9C00ED532A /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B0BB8182B6D9A9C00ED532A /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B0BB8192B6D9A9C00ED532A /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B0BB8192B6D9A9C00ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */, + 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */, + 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B0BB81D2B6D9A9C00ED532A /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B0BB81E2B6D9A9C00ED532A /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B0BB81E2B6D9A9C00ED532A /* source */ = { + isa = PBXGroup; + children = ( + 8B0BB81F2B6D9A9C00ED532A /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B0BB81F2B6D9A9C00ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */, + 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */, + 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */, + 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */, + 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */, + 8B0BB8252B6D9A9C00ED532A /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB82C2B6D9A9C00ED532A /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* kCathedral2.h in Headers */, + 8B0BB82E2B6D9A9C00ED532A /* audioeffect.h in Headers */, + 8B0BB8272B6D9A9C00ED532A /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B0BB8292B6D9A9C00ED532A /* audioeffectx.h in Headers */, + 8B0BB8262B6D9A9C00ED532A /* vstfxstore.h in Headers */, + 8B0BB8282B6D9A9C00ED532A /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + en, + ja, + fr, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 = ( + 8B0BB82B2B6D9A9C00ED532A /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */, + 8B0BB82A2B6D9A9C00ED532A /* audioeffect.cpp in Sources */, + 8B0BB82D2B6D9A9C00ED532A /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedral2Proc.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.kCathedral2; + PRODUCT_NAME = kCathedral2; + 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.kCathedral2; + PRODUCT_NAME = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..ce301c1dd Binary files /dev/null and b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser @@ -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 = ""; + }; +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme new file mode 100644 index 000000000..ac36d941b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..e4220df9c --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral2.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/mac/Info.plist b/plugins/MacSignedVST/kCathedral2/mac/Info.plist new file mode 100755 index 000000000..a09dfd427 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral2 + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/kCathedral2/mac/PkgInfo b/plugins/MacSignedVST/kCathedral2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h @@ -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 \ No newline at end of file diff --git a/plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void kCathedral2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp b/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..ae8984fd4 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,132 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728517667; + PBXWorkspaceStateSaveDate = 728517667; + }; + perUserProjectItems = { + 8B4E05102B6489750018872B /* PBXTextBookmark */ = 8B4E05102B6489750018872B /* PBXTextBookmark */; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4482}}"; + sepNavSelRange = "{3218, 0}"; + sepNavVisRange = "{5778, 1801}"; + sepNavWindowFrame = "{{539, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 4104}}"; + sepNavSelRange = "{3938, 0}"; + sepNavVisRange = "{3921, 77}"; + sepNavWindowFrame = "{{518, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1299, 15750}}"; + sepNavSelRange = "{47754, 0}"; + sepNavVisRange = "{47286, 1370}"; + sepNavWindowFrame = "{{543, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8B4E05102B6489750018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 112; + vrLoc = 3906; + }; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 77; + vrLoc = 3921; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d603f460f --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + _historyCapacity + 0 + bookmark + 8BA3AE562B6C509C00F494DA + history + + 8B4E05102B6489750018872B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 117pt + + + Proportion + 324pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 297}} + RubberWindowFrame + 636 320 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AE572B6C509C00F494DA + 1CA23ED40692098700951B8B + 8BA3AE582B6C509C00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AE592B6C509C00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728518812.94769704 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AE5A2B6C509C00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj + + WindowString + 636 320 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..65653c251 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */; }; + 245463B90991757100464AD3 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* CloudCoat.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* CloudCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* CloudCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoat.cpp; path = source/CloudCoat.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CloudCoat.h; path = source/CloudCoat.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoatProc.cpp; path = source/CloudCoatProc.cpp; sourceTree = ""; }; + 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; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */, + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */, + 245463B80991757100464AD3 /* CloudCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* CloudCoat.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* CloudCoat.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* CloudCoat.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "CloudCoat" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase 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 = ( + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */, + 24D8287009A914000093AEF8 /* CloudCoatProc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + 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 = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + 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 = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = CloudCoat; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..5c38f9460 Binary files /dev/null and b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser @@ -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 = ""; + }; +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/CloudCoat/mac/Info.plist b/plugins/MacVST/CloudCoat/mac/Info.plist new file mode 100755 index 000000000..a93940ec9 --- /dev/null +++ b/plugins/MacVST/CloudCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + CloudCoat + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.CloudCoat + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/CloudCoat/mac/PkgInfo b/plugins/MacVST/CloudCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/CloudCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h b/plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h @@ -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 \ No newline at end of file diff --git a/plugins/MacVST/CloudCoat/source/CloudCoat.cpp b/plugins/MacVST/CloudCoat/source/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + 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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::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 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/CloudCoat/source/CloudCoat.h b/plugins/MacVST/CloudCoat/source/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp b/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 CloudCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..97afa4e64 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,126 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + 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 = 728520238; + PBXWorkspaceStateSaveDate = 728520238; + }; + perUserProjectItems = { + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {786, 5238}}"; + sepNavSelRange = "{9271, 0}"; + sepNavVisRange = "{8319, 279}"; + sepNavWindowFrame = "{{533, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {848, 7110}}"; + sepNavSelRange = "{8442, 0}"; + sepNavVisRange = "{7713, 808}"; + sepNavWindowFrame = "{{657, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1065, 25452}}"; + sepNavSelRange = "{63743, 0}"; + sepNavVisRange = "{63165, 1477}"; + sepNavWindowFrame = "{{541, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + }; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 262"; + rLen = 0; + rLoc = 9271; + rType = 0; + vrLen = 279; + vrLoc = 8319; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..f1fb71efe --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEF2B6C5C9F00F494DA + history + + 8BA3AEEE2B6C5C9F00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 132}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 132pt + + + Proportion + 309pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEF02B6C5C9F00F494DA + 1CA23ED40692098700951B8B + 8BA3AEF12B6C5C9F00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AEF22B6C5C9F00F494DA + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 728521887.06748402 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEF32B6C5C9F00F494DA + /Users/christopherjohnson/Desktop/kCathedral2/kCathedral2.xcodeproj + + WindowString + 626 230 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2fa6c1113 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; }; + 245463B90991757100464AD3 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral2.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* kCathedral2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* kCathedral2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2.cpp; path = source/kCathedral2.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral2.h; path = source/kCathedral2.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2Proc.cpp; path = source/kCathedral2Proc.cpp; sourceTree = ""; }; + 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; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */, + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */, + 245463B80991757100464AD3 /* kCathedral2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral2.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* kCathedral2.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral2.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral2" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase 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 = ( + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedral2Proc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + 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 = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + 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 = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = kCathedral2; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..5c38f9460 Binary files /dev/null and b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser @@ -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 = ""; + }; +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral2/mac/Info.plist b/plugins/MacVST/kCathedral2/mac/Info.plist new file mode 100755 index 000000000..64a46f8dd --- /dev/null +++ b/plugins/MacVST/kCathedral2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral2 + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.kCathedral2 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/kCathedral2/mac/PkgInfo b/plugins/MacVST/kCathedral2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/kCathedral2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h b/plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h @@ -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 \ No newline at end of file diff --git a/plugins/MacVST/kCathedral2/source/kCathedral2.cpp b/plugins/MacVST/kCathedral2/source/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void kCathedral2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/kCathedral2/source/kCathedral2.h b/plugins/MacVST/kCathedral2/source/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp b/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/WinVST/CloudCoat/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/CloudCoat/.vs/Console4Channel64/v14/.suo new file mode 100755 index 000000000..777b84637 Binary files /dev/null and b/plugins/WinVST/CloudCoat/.vs/Console4Channel64/v14/.suo differ diff --git a/plugins/WinVST/CloudCoat/.vs/VSTProject/v14/.suo b/plugins/WinVST/CloudCoat/.vs/VSTProject/v14/.suo new file mode 100755 index 000000000..865cc3c04 Binary files /dev/null and b/plugins/WinVST/CloudCoat/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/CloudCoat/CloudCoat.cpp b/plugins/WinVST/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/WinVST/CloudCoat/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevcloudcoat = -1; + + 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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::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 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/CloudCoat/CloudCoat.h b/plugins/WinVST/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/WinVST/CloudCoat/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/WinVST/CloudCoat/CloudCoatProc.cpp b/plugins/WinVST/CloudCoat/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/WinVST/CloudCoat/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 CloudCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (cloudcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + outMR += aMR[countMR-((countMR > shortM)?shortM+1:0)]; + + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/WinVST/CloudCoat/VSTProject.sln b/plugins/WinVST/CloudCoat/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/CloudCoat/VSTProject.sln @@ -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 diff --git a/plugins/WinVST/CloudCoat/VSTProject.vcxproj b/plugins/WinVST/CloudCoat/VSTProject.vcxproj new file mode 100755 index 000000000..7fc54dc0f --- /dev/null +++ b/plugins/WinVST/CloudCoat/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + CloudCoat64 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + 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) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + 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) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + 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) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + 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) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/CloudCoat/VSTProject.vcxproj.filters b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.filters new file mode 100755 index 000000000..20e5edf89 --- /dev/null +++ b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/CloudCoat/VSTProject.vcxproj.user b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/CloudCoat/vstplug.def b/plugins/WinVST/CloudCoat/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/CloudCoat/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/plugins/WinVST/kCathedral2/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/kCathedral2/.vs/Console4Channel64/v14/.suo new file mode 100755 index 000000000..777b84637 Binary files /dev/null and b/plugins/WinVST/kCathedral2/.vs/Console4Channel64/v14/.suo differ diff --git a/plugins/WinVST/kCathedral2/.vs/VSTProject/v14/.suo b/plugins/WinVST/kCathedral2/.vs/VSTProject/v14/.suo new file mode 100755 index 000000000..af151a21d Binary files /dev/null and b/plugins/WinVST/kCathedral2/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/kCathedral2/VSTProject.sln b/plugins/WinVST/kCathedral2/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/kCathedral2/VSTProject.sln @@ -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 diff --git a/plugins/WinVST/kCathedral2/VSTProject.vcxproj b/plugins/WinVST/kCathedral2/VSTProject.vcxproj new file mode 100755 index 000000000..66d0727c6 --- /dev/null +++ b/plugins/WinVST/kCathedral2/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + kCathedral264 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + 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) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + 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) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + 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) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + 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) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral2/VSTProject.vcxproj.filters b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.filters new file mode 100755 index 000000000..8c5480db8 --- /dev/null +++ b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral2/VSTProject.vcxproj.user b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral2/kCathedral2.cpp b/plugins/WinVST/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 0.0; + //from SubTight + + 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void kCathedral2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/kCathedral2/kCathedral2.h b/plugins/WinVST/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + double pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp b/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.00187; + double outSampleR = inputSampleR * 0.00187; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + //-------- four + + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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++; + } +} diff --git a/plugins/WinVST/kCathedral2/vstplug.def b/plugins/WinVST/kCathedral2/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/kCathedral2/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/what.txt b/what.txt index db40f31e3..01f724b7b 100644 --- a/what.txt +++ b/what.txt @@ -62,6 +62,7 @@ ClearCoat is an array of bright ambience reverbs. ClipOnly is a clipper plugin that suppresses the brightness of digital clipping without affecting unclipped samples. ClipOnly2 suppresses the brightness of digital clipping without affecting unclipped samples, at any sample rate. ClipSoftly is ClipOnly2 but as a softclipper: a very handy building block. +CloudCoat is an array of blur effects with a taste for evil. Coils models the types of distortion you'll find in transformers. Coils2 is a transformer overdrive emulator. Cojones is a new kind of distorty.