mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-15 14:16:00 -06:00
ToTape7
This commit is contained in:
parent
4ae6d34724
commit
b77a11bab5
182 changed files with 49572 additions and 106 deletions
|
|
@ -43,7 +43,7 @@ Stereo: Srsly, Srsly2, Wider, StereoFX, ToVinyl4, AutoPan, LRFlipTimer, MSFlipTi
|
|||
|
||||
Subtlety: Discontinuity, Hype, Shape, Inflamer, Sweeten, PurestWarm2, PurestWarm, Coils2, Interstage, PhaseNudge, Remap, SingleEndedTriode, Coils, Desk, TransDesk, TubeDesk
|
||||
|
||||
Tape: ToTape6, FromTape, Tape, IronOxideClassic2, IronOxide5, ToTape5, IronOxideClassic
|
||||
Tape: ToTape7, ToTape6, FromTape, Tape, IronOxideClassic2, IronOxide5, ToTape5, IronOxideClassic
|
||||
|
||||
Tone Color: BussColors4, Channel9, Apicolypse, Neverland, Elation, Calibre, Cider, Crystal, Precious, Luxor, Channel8, Channel7, Channel6, Channel5, Channel4
|
||||
|
||||
|
|
@ -4512,6 +4512,31 @@ The dry/wet control has a trick in store: it only works in the normal way if you
|
|||
|
||||
Oh, one more thing: ToTape6 has the guts of ADClip built into it as a safety clipper. So you can use it as a final loudenator, at which it ought to be about as good as they get: if the tape slam isn’t getting you there, you can push the output volume past 0 dB to intentionally clip harder, or pull it back to make sure ToTape is the only distortion stage. If you’re seeing extended periods of -0.09 dB you’re seeing ADClip working.
|
||||
|
||||
|
||||
############ ToTape7 is Airwindows tape emulation with Bias and Dubly.
|
||||
|
||||
So about that simplification of ToTape? Nah. But… set everything to the middle and you can ignore all the many controls.
|
||||
|
||||
ToTape7 not only upgrades pretty much every single thing about ToTape, but it brings new functionality beyond any previous version (even when they're good) and it lets you go completely bonkers tailoring signature new sounds however you like them. This is the ToTape for people who wanted all the controls, and more. It's the ToTape for salvaging any sort of audio no matter how DAW-like it is… and it's the ToTape that can be stripped right down to serve as its own FromTape, anytime you like, or if you're trying to run lots of channels of it because you want to tape all the things and then mix them down also to tape. Which it's great at, by the way, as it soaks up loudness super well and even has a ClipOnly2 built in so it can serve, standalone, as your ultimate loudness clipper.
|
||||
|
||||
ToTape7 has exactly as many controls as you can fit in Airwindows Consolidated, which means it'll also run in VCV Rack. That means there are some possible controls it skips, and exactly one control that's dual-ganged with two things riding on one single knob. It's just a different knob this time: used to be dual-ganged on the knob marked Soften. The controls from top to bottom operate Dubly Encode, Drive, Flutter, Bias, Head Bump, and Dubly Decode. Again, set everything to the middle for 'normal', but you can go way past normal if you want.
|
||||
|
||||
Dubly Encode (not the same thing but the same concept as a famous noise reduction system) applies a brightened and compressed boost to the audio pre-tape, with the amount governed by Amt and the highs cutoff by Freq. (Dubly Decode is exactly the same, except it simply subtracts the effect it makes: this is the secret Seventies tape sound, especially when you tune the Dublies to produce effects). Match them to get mostly 'normal' sound, mismatch them for effect: mind that you don't boost Decode Amt too much or it will produce sort of anti-crunch sound, going past 'cancellation' to obvious distortion. (or do it if you feel like it, I'm not your boss)
|
||||
|
||||
Tape Drive is your boost (or pad). 0.5 is unity gain. Boost if you want lots of tape drive, or to loudenate. You should have a good ability to do this and make it sound the way you want. Since Dubly was added, it's even better at allowing for clean gain here, as Dubly tends to suppress harmonics from distortion.
|
||||
|
||||
Flutter is like Flutter2, but is NOT exactly the same. It's updated, even since Flutter2, for the purpose of letting the '3D tape' emulation (letting tape bend laterally as well as stretch) be more accurate. It's also toned down a bit so 0.5 gives you a reasonable, real-world flutter effect. The two channels will use their randomness to try and chase each other a little, much like how TPDFWide does the same thing to be LESS correlated. Turns out with default settings this is really, really good at getting a spacious tape realism without letting the imaging go too weird. You can also bypass the whole thing by setting Flutter to zero: if you're running at low sample rate, consider doing that if you're running lots of ToTape and losing the extreme highs. I might not run Flutter on multitracks, just the buss.
|
||||
|
||||
Bias is usually set to slight overbiasing. It's like GoldenSlew, but it's simplified and it's being run between Dubly encode and decode, so it's acting differently from the standalone GoldenSlew. Underbiasing also works but is a different algorithm that's probably not going to be people's first choice, but you can do it. Slight overbiasing is your best weapoon against unpleasant tizzy highs.
|
||||
|
||||
Head Bump is like DubSub2, but it too is updated even more to get more out of ToTape7. There's a highpass built in at 0.5 setting that balances the bump against the rest of the audio, making it so if you stack up the plugin it doesn't get too messy, modeled after references of real tape machines doing multiple generations. Anywhere you set the head bump frequency should get reasonable results with Head Bump at 0.5. If you pull it back OR boost it, you begin to drop the highpass as you do that, meaning it will either crossfade over to the original digital bass (with extended subs) as you reduce the bump, or it'll start adding even more exaggerated bump to the original bass as you crank. So, it's a special voicing for doing all of the things, with 0.5 as the 'peak realism' and most restrictive setting. Ouside that, just pick whether you want less 'tape bass', or 'mega bass' by combining the source and the bump.
|
||||
|
||||
Said bump still does the thing from DubSub2 where it's also giving a mild notch at double the frequency, which is characteristic of pretty much all real tape machines. You get to pick the frequency, because why would you be tied to a given machine when they're all different frequencies already, and when the heart of the effect is not getting the frequencyu right, but the unusual Airwindows head bump algorithm that'll work just fine however you voice it?
|
||||
|
||||
And Dubly Decode helps you get even smoother, more compressed sound out of the tape saturation, and lets you dial it in by both amount and frequency. Be aware that it's a really gentle treble-slope, so making subtle changes to frequency will have an effect on the character of the sound but won't produce wild effects. Basically, if Dubly mostly balances but Enc is crossing over lower than Dec, there will be a sort of lower midrange hype that comes through: if Dec is lower than Enc, it's going to be drying up that energy and making it a bit tighter. They're supposed to cancel out, but half the reason classic records all sound different from each other is that this system in real life required a lot of fussy tuning, and some people set it up by ear and ended up with distinct tone qualities for their studios when they did. It's not so much 'EQ' qualities as texture. Experiment with it to see if you have preferences.
|
||||
|
||||
And that's ToTape7! Ought to hold people for a while, and be a decent upgrade from ToTape6, even though people really like that one (and it's still there so you can still have it anytime you want).
|
||||
|
||||
############ ToVinyl4 is a vinyl-mastering simulator bringing several vinyl-type colors.
|
||||
|
||||
ToVinyl has several uses. You can use it to reshape the bass in your track, making it more mono or tightening up the center. It’s a special multipole IIR filter that acts almost like a ‘mega-bass’ plugin: it doesn’t just take away, it rearranges (so don’t expect it to act like a normal digital cut, you might see increased peak energy down low.)
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ add_airwindows_plugin(C5RawBuss)
|
|||
add_airwindows_plugin(C5RawChannel)
|
||||
add_airwindows_plugin(Cabs)
|
||||
add_airwindows_plugin(Calibre)
|
||||
add_airwindows_plugin(Cans)
|
||||
add_airwindows_plugin(Capacitor)
|
||||
add_airwindows_plugin(Capacitor2)
|
||||
add_airwindows_plugin(Chamber)
|
||||
|
|
@ -220,6 +221,7 @@ add_airwindows_plugin(IronOxideClassic)
|
|||
add_airwindows_plugin(IronOxideClassic2)
|
||||
add_airwindows_plugin(Isolator)
|
||||
add_airwindows_plugin(Isolator2)
|
||||
add_airwindows_plugin(Isolator3)
|
||||
add_airwindows_plugin(Kalman)
|
||||
add_airwindows_plugin(kCathedral)
|
||||
add_airwindows_plugin(kCathedral2)
|
||||
|
|
|
|||
236
plugins/LinuxVST/src/Cans/Cans.cpp
Executable file
236
plugins/LinuxVST/src/Cans/Cans.cpp
Executable file
|
|
@ -0,0 +1,236 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#include "Cans.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Cans(audioMaster);}
|
||||
|
||||
Cans::Cans(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.5;
|
||||
B = 0.5;
|
||||
C = 0.5;
|
||||
D = 0.5;
|
||||
E = 0.5;
|
||||
|
||||
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;
|
||||
feedbackAR = 0.0;
|
||||
feedbackBR = 0.0;
|
||||
feedbackCR = 0.0;
|
||||
feedbackDR = 0.0;
|
||||
|
||||
iirInL = 0.0;
|
||||
iirFAL = 0.0;
|
||||
iirFBL = 0.0;
|
||||
iirFCL = 0.0;
|
||||
iirFDL = 0.0;
|
||||
iirOutL = 0.0;
|
||||
iirInR = 0.0;
|
||||
iirFAR = 0.0;
|
||||
iirFBR = 0.0;
|
||||
iirFCR = 0.0;
|
||||
iirFDR = 0.0;
|
||||
iirOutR = 0.0;
|
||||
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
shortA = 23;
|
||||
shortB = 357;
|
||||
shortC = 305;
|
||||
shortD = 186;
|
||||
shortE = 104;
|
||||
shortF = 255;
|
||||
shortG = 163;
|
||||
shortH = 147;
|
||||
shortI = 56;
|
||||
shortJ = 480;
|
||||
shortK = 317;
|
||||
shortL = 107;
|
||||
shortM = 11;
|
||||
shortN = 704;
|
||||
shortO = 26;
|
||||
shortP = 543;
|
||||
prevclearcoat = -1;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
|
||||
bez[bez_cycle] = 1.0;
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
Cans::~Cans() {}
|
||||
VstInt32 Cans::getVendorVersion () {return 1000;}
|
||||
void Cans::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void Cans::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 Cans::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
chunkData[3] = D;
|
||||
chunkData[4] = E;
|
||||
/* 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 Cans::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
D = pinParameter(chunkData[3]);
|
||||
E = pinParameter(chunkData[4]);
|
||||
/* 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 Cans::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
case kParamD: D = value; break;
|
||||
case kParamE: E = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float Cans::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; break;
|
||||
case kParamD: return D; break;
|
||||
case kParamE: return E; break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} return 0.0; //we only need to update the relevant name, this is simple to manage
|
||||
}
|
||||
|
||||
void Cans::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Room", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Diffuse", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Damping", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Crossfd", kVstMaxParamStrLen); break;
|
||||
case kParamE: 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 Cans::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: switch((VstInt32)( A * 4.999 )) //0 to almost edge of # of params
|
||||
{ case 0: vst_strncpy (text, "StudioA", kVstMaxParamStrLen); break;
|
||||
case 1: vst_strncpy (text, "StudioB", kVstMaxParamStrLen); break;
|
||||
case 2: vst_strncpy (text, "StudioC", kVstMaxParamStrLen); break;
|
||||
case 3: vst_strncpy (text, "StudioD", kVstMaxParamStrLen); break;
|
||||
case 4: vst_strncpy (text, "StudioE", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} break; //Z as example 'popup' parameter with four values */
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
|
||||
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
|
||||
case kParamE: float2string (E, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void Cans::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 Cans::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool Cans::getEffectName(char* name) {
|
||||
vst_strncpy(name, "Cans", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory Cans::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool Cans::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows Cans", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool Cans::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
197
plugins/LinuxVST/src/Cans/Cans.h
Executable file
197
plugins/LinuxVST/src/Cans/Cans.h
Executable file
|
|
@ -0,0 +1,197 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) Airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#define __Cans_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA =0,
|
||||
kParamB =1,
|
||||
kParamC =2,
|
||||
kParamD =3,
|
||||
kParamE =4,
|
||||
kNumParameters = 5
|
||||
}; //
|
||||
|
||||
const int kshortA = 193;
|
||||
const int kshortB = 588;
|
||||
const int kshortC = 551;
|
||||
const int kshortD = 325;
|
||||
const int kshortE = 166;
|
||||
const int kshortF = 427;
|
||||
const int kshortG = 313;
|
||||
const int kshortH = 575;
|
||||
const int kshortI = 101;
|
||||
const int kshortJ = 794;
|
||||
const int kshortK = 789;
|
||||
const int kshortL = 385;
|
||||
const int kshortM = 12;
|
||||
const int kshortN = 1009;
|
||||
const int kshortO = 64;
|
||||
const int kshortP = 544;
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'cans'; //Change this to what the AU identity is!
|
||||
|
||||
class Cans :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
Cans(audioMasterCallback audioMaster);
|
||||
~Cans();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
float D;
|
||||
float E;
|
||||
|
||||
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 feedbackAR;
|
||||
double feedbackBR;
|
||||
double feedbackCR;
|
||||
double feedbackDR;
|
||||
|
||||
double iirInL;
|
||||
double iirFAL;
|
||||
double iirFBL;
|
||||
double iirFCL;
|
||||
double iirFDL;
|
||||
double iirOutL;
|
||||
double iirInR;
|
||||
double iirFAR;
|
||||
double iirFBR;
|
||||
double iirFCR;
|
||||
double iirFDR;
|
||||
double iirOutR;
|
||||
|
||||
int countA;
|
||||
int countB;
|
||||
int countC;
|
||||
int countD;
|
||||
int countE;
|
||||
int countF;
|
||||
int countG;
|
||||
int countH;
|
||||
int countI;
|
||||
int countJ;
|
||||
int countK;
|
||||
int countL;
|
||||
int countM;
|
||||
int countN;
|
||||
int countO;
|
||||
int countP;
|
||||
|
||||
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 prevclearcoat;
|
||||
|
||||
enum {
|
||||
bez_AL,
|
||||
bez_AR,
|
||||
bez_BL,
|
||||
bez_BR,
|
||||
bez_CL,
|
||||
bez_CR,
|
||||
bez_InL,
|
||||
bez_InR,
|
||||
bez_UnInL,
|
||||
bez_UnInR,
|
||||
bez_SampL,
|
||||
bez_SampR,
|
||||
bez_cycle,
|
||||
bez_total
|
||||
}; //the new undersampling. bez signifies the bezier curve reconstruction
|
||||
double bez[bez_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
};
|
||||
|
||||
#endif
|
||||
886
plugins/LinuxVST/src/Cans/CansProc.cpp
Executable file
886
plugins/LinuxVST/src/Cans/CansProc.cpp
Executable file
|
|
@ -0,0 +1,886 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#include "Cans.h"
|
||||
#endif
|
||||
|
||||
void Cans::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 clearcoat = (int)(A * 4.999);
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(B,1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-C,1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-D,1.618033988749894848204586));
|
||||
double wet = pow(E,1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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 Cans::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 clearcoat = (int)(A * 4.999);
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(B,1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-C,1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-D,1.618033988749894848204586));
|
||||
double wet = pow(E,1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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++;
|
||||
}
|
||||
}
|
||||
153
plugins/LinuxVST/src/Isolator3/Isolator3.cpp
Executable file
153
plugins/LinuxVST/src/Isolator3/Isolator3.cpp
Executable file
|
|
@ -0,0 +1,153 @@
|
|||
/* ========================================
|
||||
* Isolator3 - Isolator3.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Isolator3_H
|
||||
#include "Isolator3.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Isolator3(audioMaster);}
|
||||
|
||||
Isolator3::Isolator3(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.5;
|
||||
B = 0.0;
|
||||
|
||||
for (int x = 0; x < biq_total; x++) {
|
||||
biquadA[x] = 0.0;
|
||||
biquadB[x] = 0.0;
|
||||
biquadC[x] = 0.0;
|
||||
biquadD[x] = 0.0;
|
||||
biquadE[x] = 0.0;
|
||||
biquadF[x] = 0.0;
|
||||
biquadG[x] = 0.0;
|
||||
hiquadA[x] = 0.0;
|
||||
hiquadB[x] = 0.0;
|
||||
hiquadC[x] = 0.0;
|
||||
hiquadD[x] = 0.0;
|
||||
hiquadE[x] = 0.0;
|
||||
hiquadF[x] = 0.0;
|
||||
hiquadG[x] = 0.0;
|
||||
}
|
||||
|
||||
lastSampleL = 0.0;
|
||||
wasPosClipL = false;
|
||||
wasNegClipL = false;
|
||||
lastSampleR = 0.0;
|
||||
wasPosClipR = false;
|
||||
wasNegClipR = false;
|
||||
for (int x = 0; x < 16; x++) {intermediateL[x] = 0.0;intermediateR[x] = 0.0;}
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
Isolator3::~Isolator3() {}
|
||||
VstInt32 Isolator3::getVendorVersion () {return 1000;}
|
||||
void Isolator3::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void Isolator3::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 Isolator3::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
/* 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 Isolator3::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
/* 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 Isolator3::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float Isolator3::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; 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 Isolator3::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Iso", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Q", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this is our labels for displaying in the VST host
|
||||
}
|
||||
|
||||
void Isolator3::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: float2string (A, text, kVstMaxParamStrLen); break;
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void Isolator3::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 Isolator3::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool Isolator3::getEffectName(char* name) {
|
||||
vst_strncpy(name, "Isolator3", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory Isolator3::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool Isolator3::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows Isolator3", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool Isolator3::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
112
plugins/LinuxVST/src/Isolator3/Isolator3.h
Executable file
112
plugins/LinuxVST/src/Isolator3/Isolator3.h
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
/* ========================================
|
||||
* Isolator3 - Isolator3.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) Airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Isolator3_H
|
||||
#define __Isolator3_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA =0,
|
||||
kParamB =1,
|
||||
kNumParameters = 2
|
||||
}; //
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'ison'; //Change this to what the AU identity is!
|
||||
|
||||
class Isolator3 :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
Isolator3(audioMasterCallback audioMaster);
|
||||
~Isolator3();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
float A;
|
||||
float B;
|
||||
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
double biquadA[biq_total];
|
||||
double biquadB[biq_total];
|
||||
double biquadC[biq_total];
|
||||
double biquadD[biq_total];
|
||||
double biquadE[biq_total];
|
||||
double biquadF[biq_total];
|
||||
double biquadG[biq_total];
|
||||
double hiquadA[biq_total];
|
||||
double hiquadB[biq_total];
|
||||
double hiquadC[biq_total];
|
||||
double hiquadD[biq_total];
|
||||
double hiquadE[biq_total];
|
||||
double hiquadF[biq_total];
|
||||
double hiquadG[biq_total];
|
||||
|
||||
double lastSampleL;
|
||||
double intermediateL[16];
|
||||
bool wasPosClipL;
|
||||
bool wasNegClipL;
|
||||
double lastSampleR;
|
||||
double intermediateR[16];
|
||||
bool wasPosClipR;
|
||||
bool wasNegClipR;
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
};
|
||||
|
||||
#endif
|
||||
1038
plugins/LinuxVST/src/Isolator3/Isolator3Proc.cpp
Executable file
1038
plugins/LinuxVST/src/Isolator3/Isolator3Proc.cpp
Executable file
File diff suppressed because it is too large
Load diff
|
|
@ -15,7 +15,7 @@ ToTape7::ToTape7(audioMasterCallback audioMaster) :
|
|||
A = 0.5;
|
||||
B = 0.5;
|
||||
C = 0.5;
|
||||
D = 0.25;
|
||||
D = 0.5;
|
||||
E = 0.5;
|
||||
F = 0.5;
|
||||
G = 0.5;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ void ToTape7::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
|
|||
double iirEncFreq = B/overallscale;
|
||||
double iirMidFreq = ((B * 0.618) + 0.382)/overallscale;
|
||||
double inputGain = pow(C*2.0,2.0);
|
||||
double flutDepth = pow(D,5)*overallscale*60;
|
||||
double flutDepth = pow(D,6)*overallscale*50;
|
||||
if (flutDepth > 498.0) flutDepth = 498.0;
|
||||
double flutFrequency = (0.02*pow(E,3))/overallscale;
|
||||
double bias = (F*2.0)-1.0;
|
||||
|
|
@ -116,7 +116,13 @@ void ToTape7::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
|
|||
int count = gcount;
|
||||
double offset = flutDepth + (flutDepth * sin(sweepL));
|
||||
sweepL += nextmaxL * flutFrequency;
|
||||
if (sweepL > (M_PI*2.0)) {sweepL -= M_PI*2.0; nextmaxL = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepL > (M_PI*2.0)) {
|
||||
sweepL -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
double flutB = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepR+nextmaxR))<fabs(flutB-sin(sweepR+nextmaxR))) nextmaxL = flutA; else nextmaxL = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleL = (dL[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleL += (dL[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
@ -124,7 +130,13 @@ void ToTape7::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
|
|||
count = gcount;
|
||||
offset = flutDepth + (flutDepth * sin(sweepR));
|
||||
sweepR += nextmaxR * flutFrequency;
|
||||
if (sweepR > (M_PI*2.0)) {sweepR -= M_PI*2.0; nextmaxR = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepR > (M_PI*2.0)) {
|
||||
sweepR -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
double flutB = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepL+nextmaxL))<fabs(flutB-sin(sweepL+nextmaxL))) nextmaxR = flutA; else nextmaxR = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleR = (dR[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleR += (dR[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
@ -299,7 +311,7 @@ void ToTape7::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
double iirEncFreq = B/overallscale;
|
||||
double iirMidFreq = ((B * 0.618) + 0.382)/overallscale;
|
||||
double inputGain = pow(C*2.0,2.0);
|
||||
double flutDepth = pow(D,5)*overallscale*60;
|
||||
double flutDepth = pow(D,6)*overallscale*50;
|
||||
if (flutDepth > 498.0) flutDepth = 498.0;
|
||||
double flutFrequency = (0.02*pow(E,3))/overallscale;
|
||||
double bias = (F*2.0)-1.0;
|
||||
|
|
@ -390,7 +402,13 @@ void ToTape7::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
int count = gcount;
|
||||
double offset = flutDepth + (flutDepth * sin(sweepL));
|
||||
sweepL += nextmaxL * flutFrequency;
|
||||
if (sweepL > (M_PI*2.0)) {sweepL -= M_PI*2.0; nextmaxL = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepL > (M_PI*2.0)) {
|
||||
sweepL -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
double flutB = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepR+nextmaxR))<fabs(flutB-sin(sweepR+nextmaxR))) nextmaxL = flutA; else nextmaxL = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleL = (dL[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleL += (dL[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
@ -398,7 +416,13 @@ void ToTape7::processDoubleReplacing(double **inputs, double **outputs, VstInt32
|
|||
count = gcount;
|
||||
offset = flutDepth + (flutDepth * sin(sweepR));
|
||||
sweepR += nextmaxR * flutFrequency;
|
||||
if (sweepR > (M_PI*2.0)) {sweepR -= M_PI*2.0; nextmaxR = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepR > (M_PI*2.0)) {
|
||||
sweepR -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
double flutB = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepL+nextmaxL))<fabs(flutB-sin(sweepL+nextmaxL))) nextmaxR = flutA; else nextmaxR = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleR = (dR[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleR += (dR[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
|
|||
753
plugins/MacAU/Cans/Cans.cpp
Executable file
753
plugins/MacAU/Cans/Cans.cpp
Executable file
|
|
@ -0,0 +1,753 @@
|
|||
/*
|
||||
* File: Cans.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
Cans.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "Cans.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
COMPONENT_ENTRY(Cans)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::Cans
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Cans::Cans(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_A, kDefaultValue_ParamA );
|
||||
SetParameter(kParam_B, kDefaultValue_ParamB );
|
||||
SetParameter(kParam_C, kDefaultValue_ParamC );
|
||||
SetParameter(kParam_D, kDefaultValue_ParamD );
|
||||
SetParameter(kParam_E, kDefaultValue_ParamE );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
if ((inScope == kAudioUnitScope_Global) && (inParameterID == kParam_A)) //ID must be actual name of parameter identifier, not number
|
||||
{
|
||||
if (outStrings == NULL) return noErr;
|
||||
CFStringRef strings [] =
|
||||
{
|
||||
kMenuItem_A,
|
||||
kMenuItem_B,
|
||||
kMenuItem_C,
|
||||
kMenuItem_D,
|
||||
kMenuItem_E,
|
||||
};
|
||||
*outStrings = CFArrayCreate (
|
||||
NULL,
|
||||
(const void **) strings,
|
||||
(sizeof (strings) / sizeof (strings [0])),
|
||||
NULL
|
||||
);
|
||||
return noErr;
|
||||
}
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_A:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterAName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
|
||||
outParameterInfo.minValue = kA;
|
||||
outParameterInfo.maxValue = kE;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamA;
|
||||
break;
|
||||
case kParam_B:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterBName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamB;
|
||||
break;
|
||||
case kParam_C:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterCName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamC;
|
||||
break;
|
||||
case kParam_D:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamD;
|
||||
break;
|
||||
case kParam_E:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamE;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::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 Cans::SupportedNumChannels(const AUChannelInfo ** outInfo)
|
||||
{
|
||||
if (outInfo != NULL)
|
||||
{
|
||||
static AUChannelInfo info;
|
||||
info.inChannels = 2;
|
||||
info.outChannels = 2;
|
||||
*outInfo = &info;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// Cans::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____CansEffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::CansKernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::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;
|
||||
feedbackAR = 0.0;
|
||||
feedbackBR = 0.0;
|
||||
feedbackCR = 0.0;
|
||||
feedbackDR = 0.0;
|
||||
|
||||
iirInL = 0.0;
|
||||
iirFAL = 0.0;
|
||||
iirFBL = 0.0;
|
||||
iirFCL = 0.0;
|
||||
iirFDL = 0.0;
|
||||
iirOutL = 0.0;
|
||||
iirInR = 0.0;
|
||||
iirFAR = 0.0;
|
||||
iirFBR = 0.0;
|
||||
iirFCR = 0.0;
|
||||
iirFDR = 0.0;
|
||||
iirOutR = 0.0;
|
||||
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
shortA = 23;
|
||||
shortB = 357;
|
||||
shortC = 305;
|
||||
shortD = 186;
|
||||
shortE = 104;
|
||||
shortF = 255;
|
||||
shortG = 163;
|
||||
shortH = 147;
|
||||
shortI = 56;
|
||||
shortJ = 480;
|
||||
shortK = 317;
|
||||
shortL = 107;
|
||||
shortM = 11;
|
||||
shortN = 704;
|
||||
shortO = 26;
|
||||
shortP = 543;
|
||||
prevclearcoat = -1;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
|
||||
bez[bez_cycle] = 1.0;
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
return noErr;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::ProcessBufferLists
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
OSStatus Cans::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 clearcoat = GetParameter( kParam_A );
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(GetParameter( kParam_B ),1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-GetParameter( kParam_C ),1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-GetParameter( kParam_D ),1.618033988749894848204586));
|
||||
double wet = pow(GetParameter( kParam_E ),1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
1
plugins/MacAU/Cans/Cans.exp
Executable file
1
plugins/MacAU/Cans/Cans.exp
Executable file
|
|
@ -0,0 +1 @@
|
|||
_CansEntry
|
||||
268
plugins/MacAU/Cans/Cans.h
Executable file
268
plugins/MacAU/Cans/Cans.h
Executable file
|
|
@ -0,0 +1,268 @@
|
|||
/*
|
||||
* File: Cans.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 "CansVersion.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __Cans_h__
|
||||
#define __Cans_h__
|
||||
|
||||
|
||||
#pragma mark ____Cans Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamB = 0.5;
|
||||
static const float kDefaultValue_ParamC = 0.5;
|
||||
static const float kDefaultValue_ParamD = 0.5;
|
||||
static const float kDefaultValue_ParamE = 0.5;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Room");
|
||||
static CFStringRef kParameterBName = CFSTR("Diffuse");
|
||||
static CFStringRef kParameterCName = CFSTR("Damping");
|
||||
static CFStringRef kParameterDName = CFSTR("Crossfd");
|
||||
static CFStringRef kParameterEName = CFSTR("Dry/Wet");
|
||||
|
||||
static const int kA = 1;
|
||||
static const int kB = 2;
|
||||
static const int kC = 3;
|
||||
static const int kD = 4;
|
||||
static const int kE = 5;
|
||||
static const int kDefaultValue_ParamA = kC;
|
||||
static CFStringRef kMenuItem_A = CFSTR ("Studio A");
|
||||
static CFStringRef kMenuItem_B = CFSTR ("Studio B");
|
||||
static CFStringRef kMenuItem_C = CFSTR ("Studio C");
|
||||
static CFStringRef kMenuItem_D = CFSTR ("Studio D");
|
||||
static CFStringRef kMenuItem_E = CFSTR ("Studio E");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
kParam_B =1,
|
||||
kParam_C =2,
|
||||
kParam_D =3,
|
||||
kParam_E =4,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=5
|
||||
};
|
||||
|
||||
const int kshortA = 193;
|
||||
const int kshortB = 588;
|
||||
const int kshortC = 551;
|
||||
const int kshortD = 325;
|
||||
const int kshortE = 166;
|
||||
const int kshortF = 427;
|
||||
const int kshortG = 313;
|
||||
const int kshortH = 575;
|
||||
const int kshortI = 101;
|
||||
const int kshortJ = 794;
|
||||
const int kshortK = 789;
|
||||
const int kshortL = 385;
|
||||
const int kshortM = 12;
|
||||
const int kshortN = 1009;
|
||||
const int kshortO = 64;
|
||||
const int kshortP = 544;
|
||||
|
||||
#pragma mark ____Cans
|
||||
class Cans : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
Cans(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~Cans () { 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 kCansVersion; }
|
||||
|
||||
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 feedbackAR;
|
||||
double feedbackBR;
|
||||
double feedbackCR;
|
||||
double feedbackDR;
|
||||
|
||||
double iirInL;
|
||||
double iirFAL;
|
||||
double iirFBL;
|
||||
double iirFCL;
|
||||
double iirFDL;
|
||||
double iirOutL;
|
||||
double iirInR;
|
||||
double iirFAR;
|
||||
double iirFBR;
|
||||
double iirFCR;
|
||||
double iirFDR;
|
||||
double iirOutR;
|
||||
|
||||
int countA;
|
||||
int countB;
|
||||
int countC;
|
||||
int countD;
|
||||
int countE;
|
||||
int countF;
|
||||
int countG;
|
||||
int countH;
|
||||
int countI;
|
||||
int countJ;
|
||||
int countK;
|
||||
int countL;
|
||||
int countM;
|
||||
int countN;
|
||||
int countO;
|
||||
int countP;
|
||||
|
||||
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 prevclearcoat;
|
||||
|
||||
enum {
|
||||
bez_AL,
|
||||
bez_AR,
|
||||
bez_BL,
|
||||
bez_BR,
|
||||
bez_CL,
|
||||
bez_CR,
|
||||
bez_InL,
|
||||
bez_InR,
|
||||
bez_UnInL,
|
||||
bez_UnInR,
|
||||
bez_SampL,
|
||||
bez_SampR,
|
||||
bez_cycle,
|
||||
bez_total
|
||||
}; //the new undersampling. bez signifies the bezier curve reconstruction
|
||||
double bez[bez_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacAU/Cans/Cans.r
Executable file
61
plugins/MacAU/Cans/Cans.r
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: Cans.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 <AudioUnit/AudioUnit.r>
|
||||
|
||||
#include "CansVersion.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_Cans 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cans~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_Cans
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE Cans_COMP_SUBTYPE
|
||||
#define COMP_MANUF Cans_COMP_MANF
|
||||
|
||||
#define VERSION kCansVersion
|
||||
#define NAME "Airwindows: Cans"
|
||||
#define DESCRIPTION "Cans AU"
|
||||
#define ENTRY_POINT "CansEntry"
|
||||
|
||||
#include "AUResources.r"
|
||||
1359
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.mode1v3
Executable file
1359
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
144
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
144
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,144 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Cans */;
|
||||
breakpoints = (
|
||||
);
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
364,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
188,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 745281184;
|
||||
PBXWorkspaceStateSaveDate = 745281184;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B32048D2C6BD60500B257FE /* PBXTextBookmark */ = 8B32048D2C6BD60500B257FE /* PBXTextBookmark */;
|
||||
8B32057E2C6C09D400B257FE /* PBXTextBookmark */ = 8B32057E2C6C09D400B257FE /* PBXTextBookmark */;
|
||||
8B3205B52C6C19AD00B257FE /* PBXTextBookmark */ = 8B3205B52C6C19AD00B257FE /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B32048D2C6BD60500B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BC6025B073B072D006C4272 /* Cans.h */;
|
||||
name = "Cans.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 22;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8B32057E2C6C09D400B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Cans.cpp */;
|
||||
name = "Cans.cpp: 613";
|
||||
rLen = 0;
|
||||
rLoc = 29215;
|
||||
rType = 0;
|
||||
vrLen = 118;
|
||||
vrLoc = 31708;
|
||||
};
|
||||
8B3205B52C6C19AD00B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Cans.cpp */;
|
||||
name = "Cans.cpp: 613";
|
||||
rLen = 0;
|
||||
rLoc = 29215;
|
||||
rType = 0;
|
||||
vrLen = 0;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8BA05A660720730100365D66 /* Cans.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {678, 13536}}";
|
||||
sepNavSelRange = "{29215, 0}";
|
||||
sepNavVisRange = "{0, 0}";
|
||||
sepNavWindowFrame = "{{600, 63}, {988, 815}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* CansVersion.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
|
||||
sepNavSelRange = "{2870, 0}";
|
||||
sepNavVisRange = "{961, 1972}";
|
||||
sepNavWindowFrame = "{{15, 58}, {988, 815}}";
|
||||
};
|
||||
};
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 1336}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* Cans.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 4770}}";
|
||||
sepNavSelRange = "{5926, 1853}";
|
||||
sepNavVisRange = "{2754, 1132}";
|
||||
sepNavWindowFrame = "{{707, 38}, {1117, 840}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1505
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
1505
plugins/MacAU/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
490
plugins/MacAU/Cans/Cans.xcodeproj/project.pbxproj
Executable file
490
plugins/MacAU/Cans/Cans.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,490 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
|
||||
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
|
||||
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
|
||||
8B4119B70749654200361ABE /* Cans.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* Cans.r */; };
|
||||
8BA05A6B0720730100365D66 /* Cans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* Cans.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* CansVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CansVersion.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 /* Cans.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* Cans.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
|
||||
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* Cans.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Cans.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* Cans.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = Cans.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* Cans.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = Cans.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* CansVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CansVersion.h; sourceTree = "<group>"; };
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8BC6025B073B072D006C4272 /* Cans.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Cans.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* Cans.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cans.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 /* Cans */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Cans;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */,
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */,
|
||||
8BA05A7D072073D200365D66 /* AUPublic */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* Cans.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* Cans.h */,
|
||||
8BA05A660720730100365D66 /* Cans.cpp */,
|
||||
8BA05A670720730100365D66 /* Cans.exp */,
|
||||
8BA05A680720730100365D66 /* Cans.r */,
|
||||
8BA05A690720730100365D66 /* CansVersion.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A7D072073D200365D66 /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7E072073D200365D66 /* AUBase */,
|
||||
8BA05A99072073D200365D66 /* OtherBases */,
|
||||
8BA05AA6072073D200365D66 /* Utility */,
|
||||
);
|
||||
name = AUPublic;
|
||||
path = Extras/CoreAudio/AudioUnits/AUPublic;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
8BA05A7E072073D200365D66 /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */,
|
||||
8BA05A80072073D200365D66 /* AUBase.h */,
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */,
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */,
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */,
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */,
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */,
|
||||
8BA05A87072073D200365D66 /* AUResources.r */,
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */,
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A99072073D200365D66 /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AA6072073D200365D66 /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
|
||||
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */,
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */,
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */,
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */,
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */,
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
|
||||
);
|
||||
name = PublicUtility;
|
||||
path = Extras/CoreAudio/PublicUtility;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6E0720730100365D66 /* CansVersion.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 /* Cans.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 /* Cans */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Cans" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
8D01CCCF0486CAD60068D4B7 /* Rez */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Cans;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = Cans;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* Cans.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 "Cans" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* Cans */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */,
|
||||
);
|
||||
};
|
||||
/* 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 /* Cans.r in Rez */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXRezBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6B0720730100365D66 /* Cans.cpp in Sources */,
|
||||
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
|
||||
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
|
||||
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
|
||||
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
|
||||
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
|
||||
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
|
||||
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
|
||||
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
|
||||
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
|
||||
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
|
||||
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C167EFE841241C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
EXPORTED_SYMBOLS_FILE = Cans.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 = Cans;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA245089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
x86_64,
|
||||
);
|
||||
EXPORTED_SYMBOLS_FILE = Cans.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 = Cans;
|
||||
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 "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
58
plugins/MacAU/Cans/CansVersion.h
Executable file
58
plugins/MacAU/Cans/CansVersion.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: CansVersion.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 __CansVersion_h__
|
||||
#define __CansVersion_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kCansVersion 0xFFFFFFFF
|
||||
#else
|
||||
#define kCansVersion 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define Cans_COMP_MANF 'Dthr'
|
||||
#define Cans_COMP_SUBTYPE 'cans'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
BIN
plugins/MacAU/Cans/English.lproj/InfoPlist.strings
Executable file
BIN
plugins/MacAU/Cans/English.lproj/InfoPlist.strings
Executable file
Binary file not shown.
28
plugins/MacAU/Cans/Info.plist
Executable file
28
plugins/MacAU/Cans/Info.plist
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>Dthr</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
5
plugins/MacAU/Cans/StarterAU_Prefix.pch
Executable file
5
plugins/MacAU/Cans/StarterAU_Prefix.pch
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
//
|
||||
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
|
||||
//
|
||||
|
||||
#include <CoreServices/CoreServices.h>
|
||||
16
plugins/MacAU/Cans/version.plist
Executable file
16
plugins/MacAU/Cans/version.plist
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildVersion</key>
|
||||
<string>3</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>ProjectName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>SourceVersion</key>
|
||||
<string>590000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
plugins/MacAU/Isolator3/English.lproj/InfoPlist.strings
Executable file
BIN
plugins/MacAU/Isolator3/English.lproj/InfoPlist.strings
Executable file
Binary file not shown.
28
plugins/MacAU/Isolator3/Info.plist
Executable file
28
plugins/MacAU/Isolator3/Info.plist
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>DthX</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
630
plugins/MacAU/Isolator3/Isolator3.cpp
Executable file
630
plugins/MacAU/Isolator3/Isolator3.cpp
Executable file
|
|
@ -0,0 +1,630 @@
|
|||
/*
|
||||
* File: Isolator3.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
Isolator3.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "Isolator3.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
COMPONENT_ENTRY(Isolator3)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Isolator3::Isolator3(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_A, kDefaultValue_ParamA );
|
||||
SetParameter(kParam_B, kDefaultValue_ParamB );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_A:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterAName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamA;
|
||||
break;
|
||||
case kParam_B:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterBName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamB;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetPropertyInfo (AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable)
|
||||
{
|
||||
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// Isolator3::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____Isolator3EffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3Kernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Isolator3::Isolator3Kernel::Reset()
|
||||
{
|
||||
for (int x = 0; x < biq_total; x++) {
|
||||
biquadA[x] = 0.0;
|
||||
biquadB[x] = 0.0;
|
||||
biquadC[x] = 0.0;
|
||||
biquadD[x] = 0.0;
|
||||
biquadE[x] = 0.0;
|
||||
biquadF[x] = 0.0;
|
||||
biquadG[x] = 0.0;
|
||||
hiquadA[x] = 0.0;
|
||||
hiquadB[x] = 0.0;
|
||||
hiquadC[x] = 0.0;
|
||||
hiquadD[x] = 0.0;
|
||||
hiquadE[x] = 0.0;
|
||||
hiquadF[x] = 0.0;
|
||||
hiquadG[x] = 0.0;
|
||||
}
|
||||
|
||||
lastSampleL = 0.0;
|
||||
wasPosClipL = false;
|
||||
wasNegClipL = false;
|
||||
for (int x = 0; x < 16; x++) {intermediateL[x] = 0.0;}
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3Kernel::Process
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Isolator3::Isolator3Kernel::Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence )
|
||||
{
|
||||
UInt32 nSampleFrames = inFramesToProcess;
|
||||
const Float32 *sourceP = inSourceP;
|
||||
Float32 *destP = inDestP;
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= GetSampleRate();
|
||||
int spacing = floor(overallscale); //should give us working basic scaling, usually 2 or 4
|
||||
if (spacing < 1) spacing = 1; if (spacing > 16) spacing = 16;
|
||||
|
||||
double f = GetParameter( kParam_A );
|
||||
double q = GetParameter( kParam_B );
|
||||
double isoFreq = ((f*2.0)*(1.0-q))+(f*q);
|
||||
double hisoFreq = (((f*2.0)-1.0)*(1.0-q))+(f*q);
|
||||
|
||||
if (isoFreq > 1.0) isoFreq = 1.0;
|
||||
if (hisoFreq < 0.0) hisoFreq = 0.0;
|
||||
|
||||
biquadA[biq_freq] = pow(isoFreq,(2.0*sqrt(overallscale)))*0.4999;
|
||||
if (biquadA[biq_freq] < 0.00025) biquadA[biq_freq] = 0.00025;
|
||||
biquadG[biq_freq] = biquadF[biq_freq] = biquadE[biq_freq] = biquadD[biq_freq] = biquadC[biq_freq] = biquadB[biq_freq] = biquadA[biq_freq];
|
||||
|
||||
hiquadA[biq_freq] = pow(hisoFreq,(2.0*sqrt(overallscale)))*0.4999;
|
||||
if (hiquadA[biq_freq] < 0.00025) hiquadA[biq_freq] = 0.00025;
|
||||
hiquadG[biq_freq] = hiquadF[biq_freq] = hiquadE[biq_freq] = hiquadD[biq_freq] = hiquadC[biq_freq] = hiquadB[biq_freq] = hiquadA[biq_freq];
|
||||
|
||||
hiquadA[biq_reso] = biquadA[biq_reso] = 4.46570214;
|
||||
hiquadB[biq_reso] = biquadB[biq_reso] = 1.51387132;
|
||||
hiquadC[biq_reso] = biquadC[biq_reso] = 0.93979296;
|
||||
hiquadD[biq_reso] = biquadD[biq_reso] = 0.70710678;
|
||||
hiquadE[biq_reso] = biquadE[biq_reso] = 0.59051105;
|
||||
hiquadF[biq_reso] = biquadF[biq_reso] = 0.52972649;
|
||||
hiquadG[biq_reso] = biquadG[biq_reso] = 0.50316379;
|
||||
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
|
||||
biquadB[biq_aA0] = biquadB[biq_aB0];
|
||||
biquadB[biq_aA1] = biquadB[biq_aB1];
|
||||
biquadB[biq_aA2] = biquadB[biq_aB2];
|
||||
biquadB[biq_bA1] = biquadB[biq_bB1];
|
||||
biquadB[biq_bA2] = biquadB[biq_bB2];
|
||||
|
||||
biquadC[biq_aA0] = biquadC[biq_aB0];
|
||||
biquadC[biq_aA1] = biquadC[biq_aB1];
|
||||
biquadC[biq_aA2] = biquadC[biq_aB2];
|
||||
biquadC[biq_bA1] = biquadC[biq_bB1];
|
||||
biquadC[biq_bA2] = biquadC[biq_bB2];
|
||||
|
||||
biquadD[biq_aA0] = biquadD[biq_aB0];
|
||||
biquadD[biq_aA1] = biquadD[biq_aB1];
|
||||
biquadD[biq_aA2] = biquadD[biq_aB2];
|
||||
biquadD[biq_bA1] = biquadD[biq_bB1];
|
||||
biquadD[biq_bA2] = biquadD[biq_bB2];
|
||||
|
||||
biquadE[biq_aA0] = biquadE[biq_aB0];
|
||||
biquadE[biq_aA1] = biquadE[biq_aB1];
|
||||
biquadE[biq_aA2] = biquadE[biq_aB2];
|
||||
biquadE[biq_bA1] = biquadE[biq_bB1];
|
||||
biquadE[biq_bA2] = biquadE[biq_bB2];
|
||||
|
||||
biquadF[biq_aA0] = biquadF[biq_aB0];
|
||||
biquadF[biq_aA1] = biquadF[biq_aB1];
|
||||
biquadF[biq_aA2] = biquadF[biq_aB2];
|
||||
biquadF[biq_bA1] = biquadF[biq_bB1];
|
||||
biquadF[biq_bA2] = biquadF[biq_bB2];
|
||||
|
||||
biquadG[biq_aA0] = biquadG[biq_aB0];
|
||||
biquadG[biq_aA1] = biquadG[biq_aB1];
|
||||
biquadG[biq_aA2] = biquadG[biq_aB2];
|
||||
biquadG[biq_bA1] = biquadG[biq_bB1];
|
||||
biquadG[biq_bA2] = biquadG[biq_bB2];
|
||||
|
||||
hiquadA[biq_aA0] = hiquadA[biq_aB0];
|
||||
hiquadA[biq_aA1] = hiquadA[biq_aB1];
|
||||
hiquadA[biq_aA2] = hiquadA[biq_aB2];
|
||||
hiquadA[biq_bA1] = hiquadA[biq_bB1];
|
||||
hiquadA[biq_bA2] = hiquadA[biq_bB2];
|
||||
|
||||
hiquadB[biq_aA0] = hiquadB[biq_aB0];
|
||||
hiquadB[biq_aA1] = hiquadB[biq_aB1];
|
||||
hiquadB[biq_aA2] = hiquadB[biq_aB2];
|
||||
hiquadB[biq_bA1] = hiquadB[biq_bB1];
|
||||
hiquadB[biq_bA2] = hiquadB[biq_bB2];
|
||||
|
||||
hiquadC[biq_aA0] = hiquadC[biq_aB0];
|
||||
hiquadC[biq_aA1] = hiquadC[biq_aB1];
|
||||
hiquadC[biq_aA2] = hiquadC[biq_aB2];
|
||||
hiquadC[biq_bA1] = hiquadC[biq_bB1];
|
||||
hiquadC[biq_bA2] = hiquadC[biq_bB2];
|
||||
|
||||
hiquadD[biq_aA0] = hiquadD[biq_aB0];
|
||||
hiquadD[biq_aA1] = hiquadD[biq_aB1];
|
||||
hiquadD[biq_aA2] = hiquadD[biq_aB2];
|
||||
hiquadD[biq_bA1] = hiquadD[biq_bB1];
|
||||
hiquadD[biq_bA2] = hiquadD[biq_bB2];
|
||||
|
||||
hiquadE[biq_aA0] = hiquadE[biq_aB0];
|
||||
hiquadE[biq_aA1] = hiquadE[biq_aB1];
|
||||
hiquadE[biq_aA2] = hiquadE[biq_aB2];
|
||||
hiquadE[biq_bA1] = hiquadE[biq_bB1];
|
||||
hiquadE[biq_bA2] = hiquadE[biq_bB2];
|
||||
|
||||
hiquadF[biq_aA0] = hiquadF[biq_aB0];
|
||||
hiquadF[biq_aA1] = hiquadF[biq_aB1];
|
||||
hiquadF[biq_aA2] = hiquadF[biq_aB2];
|
||||
hiquadF[biq_bA1] = hiquadF[biq_bB1];
|
||||
hiquadF[biq_bA2] = hiquadF[biq_bB2];
|
||||
|
||||
hiquadG[biq_aA0] = hiquadG[biq_aB0];
|
||||
hiquadG[biq_aA1] = hiquadG[biq_aB1];
|
||||
hiquadG[biq_aA2] = hiquadG[biq_aB2];
|
||||
hiquadG[biq_bA1] = hiquadG[biq_bB1];
|
||||
hiquadG[biq_bA2] = hiquadG[biq_bB2];
|
||||
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = K * K * norm;
|
||||
biquadA[biq_aB1] = 2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadB[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadB[biq_reso] + K * K);
|
||||
biquadB[biq_aB0] = K * K * norm;
|
||||
biquadB[biq_aB1] = 2.0 * biquadB[biq_aB0];
|
||||
biquadB[biq_aB2] = biquadB[biq_aB0];
|
||||
biquadB[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadB[biq_bB2] = (1.0 - K / biquadB[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadC[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadC[biq_reso] + K * K);
|
||||
biquadC[biq_aB0] = K * K * norm;
|
||||
biquadC[biq_aB1] = 2.0 * biquadC[biq_aB0];
|
||||
biquadC[biq_aB2] = biquadC[biq_aB0];
|
||||
biquadC[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadC[biq_bB2] = (1.0 - K / biquadC[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadD[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadD[biq_reso] + K * K);
|
||||
biquadD[biq_aB0] = K * K * norm;
|
||||
biquadD[biq_aB1] = 2.0 * biquadD[biq_aB0];
|
||||
biquadD[biq_aB2] = biquadD[biq_aB0];
|
||||
biquadD[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadD[biq_bB2] = (1.0 - K / biquadD[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadE[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadE[biq_reso] + K * K);
|
||||
biquadE[biq_aB0] = K * K * norm;
|
||||
biquadE[biq_aB1] = 2.0 * biquadE[biq_aB0];
|
||||
biquadE[biq_aB2] = biquadE[biq_aB0];
|
||||
biquadE[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadE[biq_bB2] = (1.0 - K / biquadE[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadF[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadF[biq_reso] + K * K);
|
||||
biquadF[biq_aB0] = K * K * norm;
|
||||
biquadF[biq_aB1] = 2.0 * biquadF[biq_aB0];
|
||||
biquadF[biq_aB2] = biquadF[biq_aB0];
|
||||
biquadF[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadF[biq_bB2] = (1.0 - K / biquadF[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadG[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadG[biq_reso] + K * K);
|
||||
biquadG[biq_aB0] = K * K * norm;
|
||||
biquadG[biq_aB1] = 2.0 * biquadG[biq_aB0];
|
||||
biquadG[biq_aB2] = biquadG[biq_aB0];
|
||||
biquadG[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadG[biq_bB2] = (1.0 - K / biquadG[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadA[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadA[biq_reso] + K * K);
|
||||
hiquadA[biq_aB0] = K * K * norm;
|
||||
hiquadA[biq_aB1] = 2.0 * hiquadA[biq_aB0];
|
||||
hiquadA[biq_aB2] = hiquadA[biq_aB0];
|
||||
hiquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadA[biq_bB2] = (1.0 - K / hiquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadB[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadB[biq_reso] + K * K);
|
||||
hiquadB[biq_aB0] = K * K * norm;
|
||||
hiquadB[biq_aB1] = 2.0 * hiquadB[biq_aB0];
|
||||
hiquadB[biq_aB2] = hiquadB[biq_aB0];
|
||||
hiquadB[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadB[biq_bB2] = (1.0 - K / hiquadB[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadC[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadC[biq_reso] + K * K);
|
||||
hiquadC[biq_aB0] = K * K * norm;
|
||||
hiquadC[biq_aB1] = 2.0 * hiquadC[biq_aB0];
|
||||
hiquadC[biq_aB2] = hiquadC[biq_aB0];
|
||||
hiquadC[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadC[biq_bB2] = (1.0 - K / hiquadC[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadD[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadD[biq_reso] + K * K);
|
||||
hiquadD[biq_aB0] = K * K * norm;
|
||||
hiquadD[biq_aB1] = 2.0 * hiquadD[biq_aB0];
|
||||
hiquadD[biq_aB2] = hiquadD[biq_aB0];
|
||||
hiquadD[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadD[biq_bB2] = (1.0 - K / hiquadD[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadE[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadE[biq_reso] + K * K);
|
||||
hiquadE[biq_aB0] = K * K * norm;
|
||||
hiquadE[biq_aB1] = 2.0 * hiquadE[biq_aB0];
|
||||
hiquadE[biq_aB2] = hiquadE[biq_aB0];
|
||||
hiquadE[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadE[biq_bB2] = (1.0 - K / hiquadE[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadF[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadF[biq_reso] + K * K);
|
||||
hiquadF[biq_aB0] = K * K * norm;
|
||||
hiquadF[biq_aB1] = 2.0 * hiquadF[biq_aB0];
|
||||
hiquadF[biq_aB2] = hiquadF[biq_aB0];
|
||||
hiquadF[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadF[biq_bB2] = (1.0 - K / hiquadF[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadG[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadG[biq_reso] + K * K);
|
||||
hiquadG[biq_aB0] = K * K * norm;
|
||||
hiquadG[biq_aB1] = 2.0 * hiquadG[biq_aB0];
|
||||
hiquadG[biq_aB2] = hiquadG[biq_aB0];
|
||||
hiquadG[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadG[biq_bB2] = (1.0 - K / hiquadG[biq_reso] + K * K) * norm;
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
double inputSample = *sourceP;
|
||||
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
|
||||
double drySample = inputSample;
|
||||
|
||||
double temp = (double)nSampleFrames/inFramesToProcess;
|
||||
|
||||
hiquadA[biq_a0] = (hiquadA[biq_aA0]*temp)+(hiquadA[biq_aB0]*(1.0-temp));
|
||||
hiquadA[biq_a1] = (hiquadA[biq_aA1]*temp)+(hiquadA[biq_aB1]*(1.0-temp));
|
||||
hiquadA[biq_a2] = (hiquadA[biq_aA2]*temp)+(hiquadA[biq_aB2]*(1.0-temp));
|
||||
hiquadA[biq_b1] = (hiquadA[biq_bA1]*temp)+(hiquadA[biq_bB1]*(1.0-temp));
|
||||
hiquadA[biq_b2] = (hiquadA[biq_bA2]*temp)+(hiquadA[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadB[biq_a0] = (hiquadB[biq_aA0]*temp)+(hiquadB[biq_aB0]*(1.0-temp));
|
||||
hiquadB[biq_a1] = (hiquadB[biq_aA1]*temp)+(hiquadB[biq_aB1]*(1.0-temp));
|
||||
hiquadB[biq_a2] = (hiquadB[biq_aA2]*temp)+(hiquadB[biq_aB2]*(1.0-temp));
|
||||
hiquadB[biq_b1] = (hiquadB[biq_bA1]*temp)+(hiquadB[biq_bB1]*(1.0-temp));
|
||||
hiquadB[biq_b2] = (hiquadB[biq_bA2]*temp)+(hiquadB[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadC[biq_a0] = (hiquadC[biq_aA0]*temp)+(hiquadC[biq_aB0]*(1.0-temp));
|
||||
hiquadC[biq_a1] = (hiquadC[biq_aA1]*temp)+(hiquadC[biq_aB1]*(1.0-temp));
|
||||
hiquadC[biq_a2] = (hiquadC[biq_aA2]*temp)+(hiquadC[biq_aB2]*(1.0-temp));
|
||||
hiquadC[biq_b1] = (hiquadC[biq_bA1]*temp)+(hiquadC[biq_bB1]*(1.0-temp));
|
||||
hiquadC[biq_b2] = (hiquadC[biq_bA2]*temp)+(hiquadC[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadD[biq_a0] = (hiquadD[biq_aA0]*temp)+(hiquadD[biq_aB0]*(1.0-temp));
|
||||
hiquadD[biq_a1] = (hiquadD[biq_aA1]*temp)+(hiquadD[biq_aB1]*(1.0-temp));
|
||||
hiquadD[biq_a2] = (hiquadD[biq_aA2]*temp)+(hiquadD[biq_aB2]*(1.0-temp));
|
||||
hiquadD[biq_b1] = (hiquadD[biq_bA1]*temp)+(hiquadD[biq_bB1]*(1.0-temp));
|
||||
hiquadD[biq_b2] = (hiquadD[biq_bA2]*temp)+(hiquadD[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadE[biq_a0] = (hiquadE[biq_aA0]*temp)+(hiquadE[biq_aB0]*(1.0-temp));
|
||||
hiquadE[biq_a1] = (hiquadE[biq_aA1]*temp)+(hiquadE[biq_aB1]*(1.0-temp));
|
||||
hiquadE[biq_a2] = (hiquadE[biq_aA2]*temp)+(hiquadE[biq_aB2]*(1.0-temp));
|
||||
hiquadE[biq_b1] = (hiquadE[biq_bA1]*temp)+(hiquadE[biq_bB1]*(1.0-temp));
|
||||
hiquadE[biq_b2] = (hiquadE[biq_bA2]*temp)+(hiquadE[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadF[biq_a0] = (hiquadF[biq_aA0]*temp)+(hiquadF[biq_aB0]*(1.0-temp));
|
||||
hiquadF[biq_a1] = (hiquadF[biq_aA1]*temp)+(hiquadF[biq_aB1]*(1.0-temp));
|
||||
hiquadF[biq_a2] = (hiquadF[biq_aA2]*temp)+(hiquadF[biq_aB2]*(1.0-temp));
|
||||
hiquadF[biq_b1] = (hiquadF[biq_bA1]*temp)+(hiquadF[biq_bB1]*(1.0-temp));
|
||||
hiquadF[biq_b2] = (hiquadF[biq_bA2]*temp)+(hiquadF[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadG[biq_a0] = (hiquadG[biq_aA0]*temp)+(hiquadG[biq_aB0]*(1.0-temp));
|
||||
hiquadG[biq_a1] = (hiquadG[biq_aA1]*temp)+(hiquadG[biq_aB1]*(1.0-temp));
|
||||
hiquadG[biq_a2] = (hiquadG[biq_aA2]*temp)+(hiquadG[biq_aB2]*(1.0-temp));
|
||||
hiquadG[biq_b1] = (hiquadG[biq_bA1]*temp)+(hiquadG[biq_bB1]*(1.0-temp));
|
||||
hiquadG[biq_b2] = (hiquadG[biq_bA2]*temp)+(hiquadG[biq_bB2]*(1.0-temp));
|
||||
//this is the interpolation code for the hiquad
|
||||
|
||||
double outSample = (inputSample * hiquadA[biq_a0]) + hiquadA[biq_sL1];
|
||||
hiquadA[biq_sL1] = (inputSample * hiquadA[biq_a1]) - (outSample * hiquadA[biq_b1]) + hiquadA[biq_sL2];
|
||||
hiquadA[biq_sL2] = (inputSample * hiquadA[biq_a2]) - (outSample * hiquadA[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadB[biq_a0]) + hiquadB[biq_sL1];
|
||||
hiquadB[biq_sL1] = (inputSample * hiquadB[biq_a1]) - (outSample * hiquadB[biq_b1]) + hiquadB[biq_sL2];
|
||||
hiquadB[biq_sL2] = (inputSample * hiquadB[biq_a2]) - (outSample * hiquadB[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadC[biq_a0]) + hiquadC[biq_sL1];
|
||||
hiquadC[biq_sL1] = (inputSample * hiquadC[biq_a1]) - (outSample * hiquadC[biq_b1]) + hiquadC[biq_sL2];
|
||||
hiquadC[biq_sL2] = (inputSample * hiquadC[biq_a2]) - (outSample * hiquadC[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadD[biq_a0]) + hiquadD[biq_sL1];
|
||||
hiquadD[biq_sL1] = (inputSample * hiquadD[biq_a1]) - (outSample * hiquadD[biq_b1]) + hiquadD[biq_sL2];
|
||||
hiquadD[biq_sL2] = (inputSample * hiquadD[biq_a2]) - (outSample * hiquadD[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadE[biq_a0]) + hiquadE[biq_sL1];
|
||||
hiquadE[biq_sL1] = (inputSample * hiquadE[biq_a1]) - (outSample * hiquadE[biq_b1]) + hiquadE[biq_sL2];
|
||||
hiquadE[biq_sL2] = (inputSample * hiquadE[biq_a2]) - (outSample * hiquadE[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadF[biq_a0]) + hiquadF[biq_sL1];
|
||||
hiquadF[biq_sL1] = (inputSample * hiquadF[biq_a1]) - (outSample * hiquadF[biq_b1]) + hiquadF[biq_sL2];
|
||||
hiquadF[biq_sL2] = (inputSample * hiquadF[biq_a2]) - (outSample * hiquadF[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadG[biq_a0]) + hiquadG[biq_sL1];
|
||||
hiquadG[biq_sL1] = (inputSample * hiquadG[biq_a1]) - (outSample * hiquadG[biq_b1]) + hiquadG[biq_sL2];
|
||||
hiquadG[biq_sL2] = (inputSample * hiquadG[biq_a2]) - (outSample * hiquadG[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
inputSample = (drySample - inputSample);
|
||||
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*temp)+(biquadA[biq_aB0]*(1.0-temp));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*temp)+(biquadA[biq_aB1]*(1.0-temp));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*temp)+(biquadA[biq_aB2]*(1.0-temp));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*temp)+(biquadA[biq_bB1]*(1.0-temp));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*temp)+(biquadA[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadB[biq_a0] = (biquadB[biq_aA0]*temp)+(biquadB[biq_aB0]*(1.0-temp));
|
||||
biquadB[biq_a1] = (biquadB[biq_aA1]*temp)+(biquadB[biq_aB1]*(1.0-temp));
|
||||
biquadB[biq_a2] = (biquadB[biq_aA2]*temp)+(biquadB[biq_aB2]*(1.0-temp));
|
||||
biquadB[biq_b1] = (biquadB[biq_bA1]*temp)+(biquadB[biq_bB1]*(1.0-temp));
|
||||
biquadB[biq_b2] = (biquadB[biq_bA2]*temp)+(biquadB[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadC[biq_a0] = (biquadC[biq_aA0]*temp)+(biquadC[biq_aB0]*(1.0-temp));
|
||||
biquadC[biq_a1] = (biquadC[biq_aA1]*temp)+(biquadC[biq_aB1]*(1.0-temp));
|
||||
biquadC[biq_a2] = (biquadC[biq_aA2]*temp)+(biquadC[biq_aB2]*(1.0-temp));
|
||||
biquadC[biq_b1] = (biquadC[biq_bA1]*temp)+(biquadC[biq_bB1]*(1.0-temp));
|
||||
biquadC[biq_b2] = (biquadC[biq_bA2]*temp)+(biquadC[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadD[biq_a0] = (biquadD[biq_aA0]*temp)+(biquadD[biq_aB0]*(1.0-temp));
|
||||
biquadD[biq_a1] = (biquadD[biq_aA1]*temp)+(biquadD[biq_aB1]*(1.0-temp));
|
||||
biquadD[biq_a2] = (biquadD[biq_aA2]*temp)+(biquadD[biq_aB2]*(1.0-temp));
|
||||
biquadD[biq_b1] = (biquadD[biq_bA1]*temp)+(biquadD[biq_bB1]*(1.0-temp));
|
||||
biquadD[biq_b2] = (biquadD[biq_bA2]*temp)+(biquadD[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadE[biq_a0] = (biquadE[biq_aA0]*temp)+(biquadE[biq_aB0]*(1.0-temp));
|
||||
biquadE[biq_a1] = (biquadE[biq_aA1]*temp)+(biquadE[biq_aB1]*(1.0-temp));
|
||||
biquadE[biq_a2] = (biquadE[biq_aA2]*temp)+(biquadE[biq_aB2]*(1.0-temp));
|
||||
biquadE[biq_b1] = (biquadE[biq_bA1]*temp)+(biquadE[biq_bB1]*(1.0-temp));
|
||||
biquadE[biq_b2] = (biquadE[biq_bA2]*temp)+(biquadE[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadF[biq_a0] = (biquadF[biq_aA0]*temp)+(biquadF[biq_aB0]*(1.0-temp));
|
||||
biquadF[biq_a1] = (biquadF[biq_aA1]*temp)+(biquadF[biq_aB1]*(1.0-temp));
|
||||
biquadF[biq_a2] = (biquadF[biq_aA2]*temp)+(biquadF[biq_aB2]*(1.0-temp));
|
||||
biquadF[biq_b1] = (biquadF[biq_bA1]*temp)+(biquadF[biq_bB1]*(1.0-temp));
|
||||
biquadF[biq_b2] = (biquadF[biq_bA2]*temp)+(biquadF[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadG[biq_a0] = (biquadG[biq_aA0]*temp)+(biquadG[biq_aB0]*(1.0-temp));
|
||||
biquadG[biq_a1] = (biquadG[biq_aA1]*temp)+(biquadG[biq_aB1]*(1.0-temp));
|
||||
biquadG[biq_a2] = (biquadG[biq_aA2]*temp)+(biquadG[biq_aB2]*(1.0-temp));
|
||||
biquadG[biq_b1] = (biquadG[biq_bA1]*temp)+(biquadG[biq_bB1]*(1.0-temp));
|
||||
biquadG[biq_b2] = (biquadG[biq_bA2]*temp)+(biquadG[biq_bB2]*(1.0-temp));
|
||||
//this is the interpolation code for the biquad
|
||||
|
||||
outSample = (inputSample * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
biquadA[biq_sL1] = (inputSample * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSample * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
biquadB[biq_sL1] = (inputSample * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSample * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
biquadC[biq_sL1] = (inputSample * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSample * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
biquadD[biq_sL1] = (inputSample * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSample * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadE[biq_a0]) + biquadE[biq_sL1];
|
||||
biquadE[biq_sL1] = (inputSample * biquadE[biq_a1]) - (outSample * biquadE[biq_b1]) + biquadE[biq_sL2];
|
||||
biquadE[biq_sL2] = (inputSample * biquadE[biq_a2]) - (outSample * biquadE[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadF[biq_a0]) + biquadF[biq_sL1];
|
||||
biquadF[biq_sL1] = (inputSample * biquadF[biq_a1]) - (outSample * biquadF[biq_b1]) + biquadF[biq_sL2];
|
||||
biquadF[biq_sL2] = (inputSample * biquadF[biq_a2]) - (outSample * biquadF[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadG[biq_a0]) + biquadG[biq_sL1];
|
||||
biquadG[biq_sL1] = (inputSample * biquadG[biq_a1]) - (outSample * biquadG[biq_b1]) + biquadG[biq_sL2];
|
||||
biquadG[biq_sL2] = (inputSample * biquadG[biq_a2]) - (outSample * biquadG[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
|
||||
//begin ClipOnly2 as a little, compressed chunk that can be dropped into code
|
||||
if (inputSample > 4.0) inputSample = 4.0; if (inputSample < -4.0) inputSample = -4.0;
|
||||
if (wasPosClipL == true) { //current will be over
|
||||
if (inputSample<lastSampleL) lastSampleL=0.7058208+(inputSample*0.2609148);
|
||||
else lastSampleL = 0.2491717+(lastSampleL*0.7390851);
|
||||
} wasPosClipL = false;
|
||||
if (inputSample>0.9549925859) {wasPosClipL=true;inputSample=0.7058208+(lastSampleL*0.2609148);}
|
||||
if (wasNegClipL == true) { //current will be -over
|
||||
if (inputSample > lastSampleL) lastSampleL=-0.7058208+(inputSample*0.2609148);
|
||||
else lastSampleL=-0.2491717+(lastSampleL*0.7390851);
|
||||
} wasNegClipL = false;
|
||||
if (inputSample<-0.9549925859) {wasNegClipL=true;inputSample=-0.7058208+(lastSampleL*0.2609148);}
|
||||
intermediateL[spacing] = inputSample;
|
||||
inputSample = lastSampleL; //Latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) intermediateL[x-1] = intermediateL[x];
|
||||
lastSampleL = intermediateL[0]; //run a little buffer to handle this
|
||||
//end ClipOnly2 as a little, compressed chunk that can be dropped into code
|
||||
|
||||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSample, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
||||
sourceP += inNumChannels; destP += inNumChannels;
|
||||
}
|
||||
}
|
||||
|
||||
1
plugins/MacAU/Isolator3/Isolator3.exp
Executable file
1
plugins/MacAU/Isolator3/Isolator3.exp
Executable file
|
|
@ -0,0 +1 @@
|
|||
_Isolator3Entry
|
||||
181
plugins/MacAU/Isolator3/Isolator3.h
Executable file
181
plugins/MacAU/Isolator3/Isolator3.h
Executable file
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* File: Isolator3.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 "Isolator3Version.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __Isolator3_h__
|
||||
#define __Isolator3_h__
|
||||
|
||||
|
||||
#pragma mark ____Isolator3 Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamA = 0.5;
|
||||
static const float kDefaultValue_ParamB = 0.0;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Iso");
|
||||
static CFStringRef kParameterBName = CFSTR("Q");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
kParam_B =1,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=2
|
||||
};
|
||||
|
||||
#pragma mark ____Isolator3
|
||||
class Isolator3 : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
Isolator3(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~Isolator3 () { delete mDebugDispatcher; }
|
||||
#endif
|
||||
|
||||
virtual AUKernelBase * NewKernel() { return new Isolator3Kernel(this); }
|
||||
|
||||
virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings);
|
||||
|
||||
virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo);
|
||||
|
||||
virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable );
|
||||
|
||||
virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData);
|
||||
|
||||
virtual ComponentResult Initialize();
|
||||
virtual bool SupportsTail () { return true; }
|
||||
virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
|
||||
virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
|
||||
|
||||
/*! @method Version */
|
||||
virtual ComponentResult Version() { return kIsolator3Version; }
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
class Isolator3Kernel : public AUKernelBase // most of the real work happens here
|
||||
{
|
||||
public:
|
||||
Isolator3Kernel(AUEffectBase *inAudioUnit )
|
||||
: AUKernelBase(inAudioUnit)
|
||||
{
|
||||
}
|
||||
|
||||
// *Required* overides for the process method for this effect
|
||||
// processes one channel of interleaved samples
|
||||
virtual void Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence);
|
||||
|
||||
virtual void Reset();
|
||||
|
||||
private:
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
double biquadA[biq_total];
|
||||
double biquadB[biq_total];
|
||||
double biquadC[biq_total];
|
||||
double biquadD[biq_total];
|
||||
double biquadE[biq_total];
|
||||
double biquadF[biq_total];
|
||||
double biquadG[biq_total];
|
||||
double hiquadA[biq_total];
|
||||
double hiquadB[biq_total];
|
||||
double hiquadC[biq_total];
|
||||
double hiquadD[biq_total];
|
||||
double hiquadE[biq_total];
|
||||
double hiquadF[biq_total];
|
||||
double hiquadG[biq_total];
|
||||
|
||||
double lastSampleL;
|
||||
double intermediateL[16];
|
||||
bool wasPosClipL;
|
||||
bool wasNegClipL;
|
||||
|
||||
uint32_t fpd;
|
||||
};
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacAU/Isolator3/Isolator3.r
Executable file
61
plugins/MacAU/Isolator3/Isolator3.r
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: Isolator3.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 <AudioUnit/AudioUnit.r>
|
||||
|
||||
#include "Isolator3Version.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_Isolator3 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Isolator3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_Isolator3
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE Isolator3_COMP_SUBTYPE
|
||||
#define COMP_MANUF Isolator3_COMP_MANF
|
||||
|
||||
#define VERSION kIsolator3Version
|
||||
#define NAME "Airwindows: Isolator3"
|
||||
#define DESCRIPTION "Isolator3 AU"
|
||||
#define ENTRY_POINT "Isolator3Entry"
|
||||
|
||||
#include "AUResources.r"
|
||||
1358
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.mode1v3
Executable file
1358
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
137
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
137
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,137 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Isolator3 */;
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
292,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
252,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 745439533;
|
||||
PBXWorkspaceStateSaveDate = 745439533;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8BF640762C6E5F94001BB3AB /* PlistBookmark */ = 8BF640762C6E5F94001BB3AB /* PlistBookmark */;
|
||||
8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */ = 8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */;
|
||||
8BF641582C6E840F001BB3AB /* PBXTextBookmark */ = 8BF641582C6E840F001BB3AB /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1290, 11160}}";
|
||||
sepNavSelRange = "{9421, 0}";
|
||||
sepNavVisRange = "{18874, 606}";
|
||||
sepNavWindowFrame = "{{645, 85}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1151, 1062}}";
|
||||
sepNavSelRange = "{2906, 0}";
|
||||
sepNavVisRange = "{1270, 1699}";
|
||||
sepNavWindowFrame = "{{15, 80}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1151, 3258}}";
|
||||
sepNavSelRange = "{5850, 93}";
|
||||
sepNavVisRange = "{5289, 779}";
|
||||
sepNavWindowFrame = "{{922, 85}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8BF640762C6E5F94001BB3AB /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
CFBundleName,
|
||||
);
|
||||
name = /Users/christopherjohnson/Desktop/Isolator3/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Isolator3.cpp */;
|
||||
name = "Isolator3.cpp: 220";
|
||||
rLen = 0;
|
||||
rLoc = 9421;
|
||||
rType = 0;
|
||||
vrLen = 681;
|
||||
vrLoc = 18874;
|
||||
};
|
||||
8BF641582C6E840F001BB3AB /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Isolator3.cpp */;
|
||||
name = "Isolator3.cpp: 220";
|
||||
rLen = 0;
|
||||
rLoc = 9421;
|
||||
rType = 0;
|
||||
vrLen = 606;
|
||||
vrLoc = 18874;
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1507
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
1507
plugins/MacAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
490
plugins/MacAU/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
490
plugins/MacAU/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,490 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
|
||||
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
|
||||
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
|
||||
8B4119B70749654200361ABE /* Isolator3.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* Isolator3.r */; };
|
||||
8BA05A6B0720730100365D66 /* Isolator3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* Isolator3.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* Isolator3Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* Isolator3Version.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 /* Isolator3.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* Isolator3.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
|
||||
F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Isolator3.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* Isolator3.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = Isolator3.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* Isolator3.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = Isolator3.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Isolator3Version.h; sourceTree = "<group>"; };
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Isolator3.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* Isolator3.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Isolator3.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 /* Isolator3 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Isolator3;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */,
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */,
|
||||
8BA05A7D072073D200365D66 /* AUPublic */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* Isolator3.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */,
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */,
|
||||
8BA05A670720730100365D66 /* Isolator3.exp */,
|
||||
8BA05A680720730100365D66 /* Isolator3.r */,
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A7D072073D200365D66 /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7E072073D200365D66 /* AUBase */,
|
||||
8BA05A99072073D200365D66 /* OtherBases */,
|
||||
8BA05AA6072073D200365D66 /* Utility */,
|
||||
);
|
||||
name = AUPublic;
|
||||
path = Extras/CoreAudio/AudioUnits/AUPublic;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
8BA05A7E072073D200365D66 /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */,
|
||||
8BA05A80072073D200365D66 /* AUBase.h */,
|
||||
8BA05A81072073D200365D66 /* AUDispatch.cpp */,
|
||||
8BA05A82072073D200365D66 /* AUDispatch.h */,
|
||||
8BA05A83072073D200365D66 /* AUInputElement.cpp */,
|
||||
8BA05A84072073D200365D66 /* AUInputElement.h */,
|
||||
8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
|
||||
8BA05A86072073D200365D66 /* AUOutputElement.h */,
|
||||
8BA05A87072073D200365D66 /* AUResources.r */,
|
||||
8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
|
||||
8BA05A89072073D200365D66 /* AUScopeElement.h */,
|
||||
8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
|
||||
8BA05A8B072073D200365D66 /* ComponentBase.h */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A99072073D200365D66 /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
|
||||
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AA6072073D200365D66 /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
|
||||
F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
|
||||
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
|
||||
8BA05AA8072073D200365D66 /* AUBuffer.h */,
|
||||
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
|
||||
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
|
||||
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
|
||||
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
|
||||
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05AEB0720742700365D66 /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BA05B050720754400365D66 /* CAAUParameter.cpp */,
|
||||
8BA05B060720754400365D66 /* CAAUParameter.h */,
|
||||
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
|
||||
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
|
||||
8BA05AE10720742100365D66 /* CAMutex.cpp */,
|
||||
8BA05AE20720742100365D66 /* CAMutex.h */,
|
||||
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
|
||||
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
|
||||
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
|
||||
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
|
||||
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
|
||||
);
|
||||
name = PublicUtility;
|
||||
path = Extras/CoreAudio/PublicUtility;
|
||||
sourceTree = SYSTEM_DEVELOPER_DIR;
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6E0720730100365D66 /* Isolator3Version.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 /* Isolator3.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 /* Isolator3 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Isolator3" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
8D01CCCF0486CAD60068D4B7 /* Rez */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Isolator3;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = Isolator3;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* Isolator3.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 "Isolator3" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* Isolator3 */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */,
|
||||
);
|
||||
};
|
||||
/* 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 /* Isolator3.r in Rez */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXRezBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BA05A6B0720730100365D66 /* Isolator3.cpp in Sources */,
|
||||
8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
|
||||
8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
|
||||
8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
|
||||
8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
|
||||
8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
|
||||
8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
|
||||
8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
|
||||
8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
|
||||
8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
|
||||
8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
|
||||
8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
|
||||
3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
|
||||
F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C167EFE841241C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
EXPORTED_SYMBOLS_FILE = Isolator3.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 = Isolator3;
|
||||
WRAPPER_EXTENSION = component;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3E4BA245089833B7007656EC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
x86_64,
|
||||
);
|
||||
EXPORTED_SYMBOLS_FILE = Isolator3.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 = Isolator3;
|
||||
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 "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
58
plugins/MacAU/Isolator3/Isolator3Version.h
Executable file
58
plugins/MacAU/Isolator3/Isolator3Version.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: Isolator3Version.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 __Isolator3Version_h__
|
||||
#define __Isolator3Version_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kIsolator3Version 0xFFFFFFFF
|
||||
#else
|
||||
#define kIsolator3Version 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define Isolator3_COMP_MANF 'Dthr'
|
||||
#define Isolator3_COMP_SUBTYPE 'ison'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
16
plugins/MacAU/Isolator3/version.plist
Executable file
16
plugins/MacAU/Isolator3/version.plist
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildVersion</key>
|
||||
<string>3</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>ProjectName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>SourceVersion</key>
|
||||
<string>590000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -310,7 +310,7 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
double iirEncFreq = GetParameter( kParam_B )/overallscale;
|
||||
double iirMidFreq = ((GetParameter( kParam_B ) * 0.618) + 0.382)/overallscale;
|
||||
double inputGain = pow(GetParameter( kParam_C )*2.0,2.0);
|
||||
double flutDepth = pow(GetParameter( kParam_D ),5)*overallscale*60;
|
||||
double flutDepth = pow(GetParameter( kParam_D ),6)*overallscale*50;
|
||||
if (flutDepth > 498.0) flutDepth = 498.0;
|
||||
double flutFrequency = (0.02*pow(GetParameter( kParam_E ),3))/overallscale;
|
||||
double bias = (GetParameter( kParam_F )*2.0)-1.0;
|
||||
|
|
@ -400,7 +400,13 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
int count = gcount;
|
||||
double offset = flutDepth + (flutDepth * sin(sweepL));
|
||||
sweepL += nextmaxL * flutFrequency;
|
||||
if (sweepL > (M_PI*2.0)) {sweepL -= M_PI*2.0; nextmaxL = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepL > (M_PI*2.0)) {
|
||||
sweepL -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
double flutB = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepR+nextmaxR))<fabs(flutB-sin(sweepR+nextmaxR))) nextmaxL = flutA; else nextmaxL = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleL = (dL[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleL += (dL[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
@ -408,7 +414,13 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
count = gcount;
|
||||
offset = flutDepth + (flutDepth * sin(sweepR));
|
||||
sweepR += nextmaxR * flutFrequency;
|
||||
if (sweepR > (M_PI*2.0)) {sweepR -= M_PI*2.0; nextmaxR = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepR > (M_PI*2.0)) {
|
||||
sweepR -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
double flutB = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepL+nextmaxL))<fabs(flutB-sin(sweepL+nextmaxL))) nextmaxR = flutA; else nextmaxR = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleR = (dR[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleR += (dR[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
static const float kDefaultValue_ParamA = 0.5;
|
||||
static const float kDefaultValue_ParamB = 0.5;
|
||||
static const float kDefaultValue_ParamC = 0.5;
|
||||
static const float kDefaultValue_ParamD = 0.25;
|
||||
static const float kDefaultValue_ParamD = 0.5;
|
||||
static const float kDefaultValue_ParamE = 0.5;
|
||||
static const float kDefaultValue_ParamF = 0.5;
|
||||
static const float kDefaultValue_ParamG = 0.5;
|
||||
|
|
|
|||
|
|
@ -51,43 +51,54 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 744827133;
|
||||
PBXWorkspaceStateSaveDate = 744827133;
|
||||
PBXPerProjectTemplateStateSaveDate = 745275741;
|
||||
PBXWorkspaceStateSaveDate = 745275741;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B140D0E2C6545E700644D94 /* PBXTextBookmark */ = 8B140D0E2C6545E700644D94 /* PBXTextBookmark */;
|
||||
8B140D0F2C6545E700644D94 /* PBXTextBookmark */ = 8B140D0F2C6545E700644D94 /* PBXTextBookmark */;
|
||||
8B3204542C6BC90700B257FE /* PBXTextBookmark */ = 8B3204542C6BC90700B257FE /* PBXTextBookmark */;
|
||||
8B32051C2C6BFFB800B257FE /* PBXTextBookmark */ = 8B32051C2C6BFFB800B257FE /* PBXTextBookmark */;
|
||||
8B32052D2C6C017200B257FE /* PBXTextBookmark */ = 8B32052D2C6C017200B257FE /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B140D0E2C6545E700644D94 /* PBXTextBookmark */ = {
|
||||
8B3204542C6BC90700B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ToTape7.cpp */;
|
||||
name = "ToTape7.cpp: 420";
|
||||
fRef = 8BC6025B073B072D006C4272 /* ToTape7.h */;
|
||||
name = "ToTape7.h: 60";
|
||||
rLen = 0;
|
||||
rLoc = 18158;
|
||||
rLoc = 3004;
|
||||
rType = 0;
|
||||
vrLen = 400;
|
||||
vrLoc = 23155;
|
||||
vrLen = 56;
|
||||
vrLoc = 3937;
|
||||
};
|
||||
8B140D0F2C6545E700644D94 /* PBXTextBookmark */ = {
|
||||
8B32051C2C6BFFB800B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ToTape7.cpp */;
|
||||
name = "ToTape7.cpp: 419";
|
||||
name = "ToTape7.cpp: 431";
|
||||
rLen = 0;
|
||||
rLoc = 18158;
|
||||
rLoc = 18674;
|
||||
rType = 0;
|
||||
vrLen = 420;
|
||||
vrLoc = 23385;
|
||||
vrLen = 64;
|
||||
vrLoc = 23442;
|
||||
};
|
||||
8B32052D2C6C017200B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* ToTape7.cpp */;
|
||||
name = "ToTape7.cpp: 431";
|
||||
rLen = 0;
|
||||
rLoc = 18674;
|
||||
rType = 0;
|
||||
vrLen = 64;
|
||||
vrLoc = 23442;
|
||||
};
|
||||
8BA05A660720730100365D66 /* ToTape7.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {975, 10296}}";
|
||||
sepNavSelRange = "{18158, 0}";
|
||||
sepNavVisRange = "{23385, 420}";
|
||||
sepNavWindowFrame = "{{15, 44}, {1194, 834}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {840, 10638}}";
|
||||
sepNavSelRange = "{18674, 0}";
|
||||
sepNavVisRange = "{23442, 64}";
|
||||
sepNavWindowFrame = "{{16, 44}, {1194, 834}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* ToTape7Version.h */ = {
|
||||
|
|
@ -107,9 +118,9 @@
|
|||
};
|
||||
8BC6025B073B072D006C4272 /* ToTape7.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 3348}}";
|
||||
sepNavSelRange = "{3005, 0}";
|
||||
sepNavVisRange = "{3937, 1262}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 3312}}";
|
||||
sepNavSelRange = "{3004, 0}";
|
||||
sepNavVisRange = "{2142, 1530}";
|
||||
sepNavWindowFrame = "{{95, 43}, {944, 835}}";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>4</integer>
|
||||
<integer>3</integer>
|
||||
<integer>2</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
|
|
@ -352,10 +352,11 @@
|
|||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8B140D0F2C6545E700644D94</string>
|
||||
<string>8B32052D2C6C017200B257FE</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8B140D0E2C6545E700644D94</string>
|
||||
<string>8B3204542C6BC90700B257FE</string>
|
||||
<string>8B32051C2C6BFFB800B257FE</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
|
@ -369,18 +370,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {603, 132}}</string>
|
||||
<string>{{0, 0}, {603, 69}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>14 282 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>132pt</string>
|
||||
<string>69pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>309pt</string>
|
||||
<string>372pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
@ -394,7 +395,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {603, 282}}</string>
|
||||
<string>{{10, 27}, {603, 345}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>14 282 810 487 0 0 1440 878 </string>
|
||||
</dict>
|
||||
|
|
@ -450,7 +451,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {603, 414}}</string>
|
||||
<string>{{10, 27}, {603, 328}}</string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXBuildResultsModule</string>
|
||||
|
|
@ -478,11 +479,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8B140D102C6545E700644D94</string>
|
||||
<string>8B32052E2C6C017200B257FE</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>8B140D112C6545E700644D94</string>
|
||||
<string>8B32052F2C6C017200B257FE</string>
|
||||
<string>8B5E010C2C626F2F0007F2E4</string>
|
||||
<string>8B140D122C6545E700644D94</string>
|
||||
<string>8B3205302C6C017200B257FE</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
|
@ -655,7 +656,7 @@
|
|||
<key>StatusbarIsVisible</key>
|
||||
<true/>
|
||||
<key>TimeStamp</key>
|
||||
<real>744834535.40969002</real>
|
||||
<real>745275762.46281302</real>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarDisplayMode</key>
|
||||
|
|
@ -672,6 +673,7 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8B3205312C6C017200B257FE</string>
|
||||
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ToTape7/ToTape7.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
|
|
|||
753
plugins/MacSignedAU/Cans/Cans.cpp
Executable file
753
plugins/MacSignedAU/Cans/Cans.cpp
Executable file
|
|
@ -0,0 +1,753 @@
|
|||
/*
|
||||
* File: Cans.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
Cans.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "Cans.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
AUDIOCOMPONENT_ENTRY(AUBaseFactory, Cans)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::Cans
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Cans::Cans(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_A, kDefaultValue_ParamA );
|
||||
SetParameter(kParam_B, kDefaultValue_ParamB );
|
||||
SetParameter(kParam_C, kDefaultValue_ParamC );
|
||||
SetParameter(kParam_D, kDefaultValue_ParamD );
|
||||
SetParameter(kParam_E, kDefaultValue_ParamE );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
if ((inScope == kAudioUnitScope_Global) && (inParameterID == kParam_A)) //ID must be actual name of parameter identifier, not number
|
||||
{
|
||||
if (outStrings == NULL) return noErr;
|
||||
CFStringRef strings [] =
|
||||
{
|
||||
kMenuItem_A,
|
||||
kMenuItem_B,
|
||||
kMenuItem_C,
|
||||
kMenuItem_D,
|
||||
kMenuItem_E,
|
||||
};
|
||||
*outStrings = CFArrayCreate (
|
||||
NULL,
|
||||
(const void **) strings,
|
||||
(sizeof (strings) / sizeof (strings [0])),
|
||||
NULL
|
||||
);
|
||||
return noErr;
|
||||
}
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_A:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterAName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
|
||||
outParameterInfo.minValue = kA;
|
||||
outParameterInfo.maxValue = kE;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamA;
|
||||
break;
|
||||
case kParam_B:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterBName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamB;
|
||||
break;
|
||||
case kParam_C:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterCName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamC;
|
||||
break;
|
||||
case kParam_D:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterDName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamD;
|
||||
break;
|
||||
case kParam_E:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterEName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamE;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::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 Cans::SupportedNumChannels(const AUChannelInfo ** outInfo)
|
||||
{
|
||||
if (outInfo != NULL)
|
||||
{
|
||||
static AUChannelInfo info;
|
||||
info.inChannels = 2;
|
||||
info.outChannels = 2;
|
||||
*outInfo = &info;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// Cans::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____CansEffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::CansKernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Cans::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;
|
||||
feedbackAR = 0.0;
|
||||
feedbackBR = 0.0;
|
||||
feedbackCR = 0.0;
|
||||
feedbackDR = 0.0;
|
||||
|
||||
iirInL = 0.0;
|
||||
iirFAL = 0.0;
|
||||
iirFBL = 0.0;
|
||||
iirFCL = 0.0;
|
||||
iirFDL = 0.0;
|
||||
iirOutL = 0.0;
|
||||
iirInR = 0.0;
|
||||
iirFAR = 0.0;
|
||||
iirFBR = 0.0;
|
||||
iirFCR = 0.0;
|
||||
iirFDR = 0.0;
|
||||
iirOutR = 0.0;
|
||||
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
shortA = 23;
|
||||
shortB = 357;
|
||||
shortC = 305;
|
||||
shortD = 186;
|
||||
shortE = 104;
|
||||
shortF = 255;
|
||||
shortG = 163;
|
||||
shortH = 147;
|
||||
shortI = 56;
|
||||
shortJ = 480;
|
||||
shortK = 317;
|
||||
shortL = 107;
|
||||
shortM = 11;
|
||||
shortN = 704;
|
||||
shortO = 26;
|
||||
shortP = 543;
|
||||
prevclearcoat = -1;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
|
||||
bez[bez_cycle] = 1.0;
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
return noErr;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Cans::ProcessBufferLists
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
OSStatus Cans::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 clearcoat = GetParameter( kParam_A );
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(GetParameter( kParam_B ),1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-GetParameter( kParam_C ),1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-GetParameter( kParam_D ),1.618033988749894848204586));
|
||||
double wet = pow(GetParameter( kParam_E ),1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
2
plugins/MacSignedAU/Cans/Cans.exp
Executable file
2
plugins/MacSignedAU/Cans/Cans.exp
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
_CansEntry
|
||||
_CansFactory
|
||||
268
plugins/MacSignedAU/Cans/Cans.h
Executable file
268
plugins/MacSignedAU/Cans/Cans.h
Executable file
|
|
@ -0,0 +1,268 @@
|
|||
/*
|
||||
* File: Cans.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 "CansVersion.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __Cans_h__
|
||||
#define __Cans_h__
|
||||
|
||||
|
||||
#pragma mark ____Cans Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamB = 0.5;
|
||||
static const float kDefaultValue_ParamC = 0.5;
|
||||
static const float kDefaultValue_ParamD = 0.5;
|
||||
static const float kDefaultValue_ParamE = 0.5;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Room");
|
||||
static CFStringRef kParameterBName = CFSTR("Diffuse");
|
||||
static CFStringRef kParameterCName = CFSTR("Damping");
|
||||
static CFStringRef kParameterDName = CFSTR("Crossfd");
|
||||
static CFStringRef kParameterEName = CFSTR("Dry/Wet");
|
||||
|
||||
static const int kA = 1;
|
||||
static const int kB = 2;
|
||||
static const int kC = 3;
|
||||
static const int kD = 4;
|
||||
static const int kE = 5;
|
||||
static const int kDefaultValue_ParamA = kC;
|
||||
static CFStringRef kMenuItem_A = CFSTR ("Studio A");
|
||||
static CFStringRef kMenuItem_B = CFSTR ("Studio B");
|
||||
static CFStringRef kMenuItem_C = CFSTR ("Studio C");
|
||||
static CFStringRef kMenuItem_D = CFSTR ("Studio D");
|
||||
static CFStringRef kMenuItem_E = CFSTR ("Studio E");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
kParam_B =1,
|
||||
kParam_C =2,
|
||||
kParam_D =3,
|
||||
kParam_E =4,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=5
|
||||
};
|
||||
|
||||
const int kshortA = 193;
|
||||
const int kshortB = 588;
|
||||
const int kshortC = 551;
|
||||
const int kshortD = 325;
|
||||
const int kshortE = 166;
|
||||
const int kshortF = 427;
|
||||
const int kshortG = 313;
|
||||
const int kshortH = 575;
|
||||
const int kshortI = 101;
|
||||
const int kshortJ = 794;
|
||||
const int kshortK = 789;
|
||||
const int kshortL = 385;
|
||||
const int kshortM = 12;
|
||||
const int kshortN = 1009;
|
||||
const int kshortO = 64;
|
||||
const int kshortP = 544;
|
||||
|
||||
#pragma mark ____Cans
|
||||
class Cans : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
Cans(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~Cans () { 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 kCansVersion; }
|
||||
|
||||
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 feedbackAR;
|
||||
double feedbackBR;
|
||||
double feedbackCR;
|
||||
double feedbackDR;
|
||||
|
||||
double iirInL;
|
||||
double iirFAL;
|
||||
double iirFBL;
|
||||
double iirFCL;
|
||||
double iirFDL;
|
||||
double iirOutL;
|
||||
double iirInR;
|
||||
double iirFAR;
|
||||
double iirFBR;
|
||||
double iirFCR;
|
||||
double iirFDR;
|
||||
double iirOutR;
|
||||
|
||||
int countA;
|
||||
int countB;
|
||||
int countC;
|
||||
int countD;
|
||||
int countE;
|
||||
int countF;
|
||||
int countG;
|
||||
int countH;
|
||||
int countI;
|
||||
int countJ;
|
||||
int countK;
|
||||
int countL;
|
||||
int countM;
|
||||
int countN;
|
||||
int countO;
|
||||
int countP;
|
||||
|
||||
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 prevclearcoat;
|
||||
|
||||
enum {
|
||||
bez_AL,
|
||||
bez_AR,
|
||||
bez_BL,
|
||||
bez_BR,
|
||||
bez_CL,
|
||||
bez_CR,
|
||||
bez_InL,
|
||||
bez_InR,
|
||||
bez_UnInL,
|
||||
bez_UnInR,
|
||||
bez_SampL,
|
||||
bez_SampR,
|
||||
bez_cycle,
|
||||
bez_total
|
||||
}; //the new undersampling. bez signifies the bezier curve reconstruction
|
||||
double bez[bez_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacSignedAU/Cans/Cans.r
Executable file
61
plugins/MacSignedAU/Cans/Cans.r
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: Cans.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 <AudioUnit/AudioUnit.r>
|
||||
|
||||
#include "CansVersion.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_Cans 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cans~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_Cans
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE Cans_COMP_SUBTYPE
|
||||
#define COMP_MANUF Cans_COMP_MANF
|
||||
|
||||
#define VERSION kCansVersion
|
||||
#define NAME "Airwindows: Cans"
|
||||
#define DESCRIPTION "Cans AU"
|
||||
#define ENTRY_POINT "CansEntry"
|
||||
|
||||
#include "AUResources.r"
|
||||
1359
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.mode1v3
Executable file
1359
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
144
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
144
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,144 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Cans */;
|
||||
breakpoints = (
|
||||
);
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
364,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
188,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 745281184;
|
||||
PBXWorkspaceStateSaveDate = 745281184;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8B32048D2C6BD60500B257FE /* PBXTextBookmark */ = 8B32048D2C6BD60500B257FE /* PBXTextBookmark */;
|
||||
8B32057E2C6C09D400B257FE /* PBXTextBookmark */ = 8B32057E2C6C09D400B257FE /* PBXTextBookmark */;
|
||||
8B3205B52C6C19AD00B257FE /* PBXTextBookmark */ = 8B3205B52C6C19AD00B257FE /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8B32048D2C6BD60500B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BC6025B073B072D006C4272 /* Cans.h */;
|
||||
name = "Cans.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 22;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8B32057E2C6C09D400B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Cans.cpp */;
|
||||
name = "Cans.cpp: 613";
|
||||
rLen = 0;
|
||||
rLoc = 29215;
|
||||
rType = 0;
|
||||
vrLen = 118;
|
||||
vrLoc = 31708;
|
||||
};
|
||||
8B3205B52C6C19AD00B257FE /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Cans.cpp */;
|
||||
name = "Cans.cpp: 613";
|
||||
rLen = 0;
|
||||
rLoc = 29215;
|
||||
rType = 0;
|
||||
vrLen = 0;
|
||||
vrLoc = 0;
|
||||
};
|
||||
8BA05A660720730100365D66 /* Cans.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {678, 13536}}";
|
||||
sepNavSelRange = "{29215, 0}";
|
||||
sepNavVisRange = "{0, 0}";
|
||||
sepNavWindowFrame = "{{600, 63}, {988, 815}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* CansVersion.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}";
|
||||
sepNavSelRange = "{2870, 0}";
|
||||
sepNavVisRange = "{961, 1972}";
|
||||
sepNavWindowFrame = "{{15, 58}, {988, 815}}";
|
||||
};
|
||||
};
|
||||
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 1336}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* Cans.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1146, 4770}}";
|
||||
sepNavSelRange = "{5926, 1853}";
|
||||
sepNavVisRange = "{2754, 1132}";
|
||||
sepNavWindowFrame = "{{707, 38}, {1117, 840}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1505
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
1505
plugins/MacSignedAU/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
965
plugins/MacSignedAU/Cans/Cans.xcodeproj/project.pbxproj
Executable file
965
plugins/MacSignedAU/Cans/Cans.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,965 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8BA05A6B0720730100365D66 /* Cans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* Cans.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* CansVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CansVersion.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 */; };
|
||||
8BC2EABC2C6D32F1002B352B /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA342C6D32F1002B352B /* CAExtAudioFile.h */; };
|
||||
8BC2EABD2C6D32F1002B352B /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA352C6D32F1002B352B /* CACFMachPort.h */; };
|
||||
8BC2EABE2C6D32F1002B352B /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA362C6D32F1002B352B /* CABool.h */; };
|
||||
8BC2EABF2C6D32F1002B352B /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA372C6D32F1002B352B /* CAComponent.cpp */; };
|
||||
8BC2EAC02C6D32F1002B352B /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA382C6D32F1002B352B /* CADebugger.h */; };
|
||||
8BC2EAC12C6D32F1002B352B /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA392C6D32F1002B352B /* CACFNumber.cpp */; };
|
||||
8BC2EAC22C6D32F1002B352B /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3A2C6D32F1002B352B /* CAGuard.h */; };
|
||||
8BC2EAC32C6D32F1002B352B /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3B2C6D32F1002B352B /* CAAtomic.h */; };
|
||||
8BC2EAC42C6D32F1002B352B /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3C2C6D32F1002B352B /* CAStreamBasicDescription.h */; };
|
||||
8BC2EAC52C6D32F1002B352B /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3D2C6D32F1002B352B /* CACFObject.h */; };
|
||||
8BC2EAC62C6D32F1002B352B /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3E2C6D32F1002B352B /* CAStreamRangedDescription.h */; };
|
||||
8BC2EAC72C6D32F1002B352B /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA3F2C6D32F1002B352B /* CATokenMap.h */; };
|
||||
8BC2EAC82C6D32F1002B352B /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA402C6D32F1002B352B /* CAComponent.h */; };
|
||||
8BC2EAC92C6D32F1002B352B /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA412C6D32F1002B352B /* CAAudioBufferList.h */; };
|
||||
8BC2EACA2C6D32F1002B352B /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA422C6D32F1002B352B /* CAAudioUnit.h */; };
|
||||
8BC2EACB2C6D32F1002B352B /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA432C6D32F1002B352B /* CAAUParameter.h */; };
|
||||
8BC2EACC2C6D32F1002B352B /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA442C6D32F1002B352B /* CAException.h */; };
|
||||
8BC2EACD2C6D32F1002B352B /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA452C6D32F1002B352B /* CAAUProcessor.cpp */; };
|
||||
8BC2EACE2C6D32F1002B352B /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA462C6D32F1002B352B /* CAAUProcessor.h */; };
|
||||
8BC2EACF2C6D32F1002B352B /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA472C6D32F1002B352B /* CAProcess.h */; };
|
||||
8BC2EAD02C6D32F1002B352B /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA482C6D32F1002B352B /* CACFDictionary.h */; };
|
||||
8BC2EAD12C6D32F1002B352B /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA492C6D32F1002B352B /* CAPThread.h */; };
|
||||
8BC2EAD22C6D32F1002B352B /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA4A2C6D32F1002B352B /* CAAUParameter.cpp */; };
|
||||
8BC2EAD32C6D32F1002B352B /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA4B2C6D32F1002B352B /* CAAudioTimeStamp.h */; };
|
||||
8BC2EAD42C6D32F1002B352B /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA4C2C6D32F1002B352B /* CAFilePathUtils.cpp */; };
|
||||
8BC2EAD52C6D32F1002B352B /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA4D2C6D32F1002B352B /* CAAudioValueRange.h */; };
|
||||
8BC2EAD62C6D32F1002B352B /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA4E2C6D32F1002B352B /* CAVectorUnitTypes.h */; };
|
||||
8BC2EAD72C6D32F1002B352B /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA4F2C6D32F1002B352B /* CAAudioChannelLayoutObject.cpp */; };
|
||||
8BC2EAD82C6D32F1002B352B /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA502C6D32F1002B352B /* CAGuard.cpp */; };
|
||||
8BC2EAD92C6D32F1002B352B /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA512C6D32F1002B352B /* CACFNumber.h */; };
|
||||
8BC2EADA2C6D32F1002B352B /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA522C6D32F1002B352B /* CACFDistributedNotification.cpp */; };
|
||||
8BC2EADB2C6D32F1002B352B /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA532C6D32F1002B352B /* CACFString.h */; };
|
||||
8BC2EADC2C6D32F1002B352B /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA542C6D32F1002B352B /* CAAUMIDIMapManager.cpp */; };
|
||||
8BC2EADD2C6D32F1002B352B /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA552C6D32F1002B352B /* CAComponentDescription.cpp */; };
|
||||
8BC2EADE2C6D32F1002B352B /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA562C6D32F1002B352B /* CAHostTimeBase.h */; };
|
||||
8BC2EADF2C6D32F1002B352B /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA572C6D32F1002B352B /* CADebugMacros.cpp */; };
|
||||
8BC2EAE02C6D32F1002B352B /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA582C6D32F1002B352B /* CAAudioFileFormats.h */; };
|
||||
8BC2EAE12C6D32F1002B352B /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA592C6D32F1002B352B /* CAAUMIDIMapManager.h */; };
|
||||
8BC2EAE22C6D32F1002B352B /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA5A2C6D32F1002B352B /* CACFDictionary.cpp */; };
|
||||
8BC2EAE32C6D32F1002B352B /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA5B2C6D32F1002B352B /* CAMutex.h */; };
|
||||
8BC2EAE42C6D32F1002B352B /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA5C2C6D32F1002B352B /* CACFString.cpp */; };
|
||||
8BC2EAE52C6D32F1002B352B /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA5D2C6D32F1002B352B /* CASettingsStorage.h */; };
|
||||
8BC2EAE62C6D32F1002B352B /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA5E2C6D32F1002B352B /* CADebugPrintf.h */; };
|
||||
8BC2EAE72C6D32F1002B352B /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA5F2C6D32F1002B352B /* CAXException.cpp */; };
|
||||
8BC2EAE82C6D32F1002B352B /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA602C6D32F1002B352B /* CAAUMIDIMap.h */; };
|
||||
8BC2EAE92C6D32F1002B352B /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA612C6D32F1002B352B /* AUParamInfo.h */; };
|
||||
8BC2EAEA2C6D32F1002B352B /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA622C6D32F1002B352B /* CABitOperations.h */; };
|
||||
8BC2EAEB2C6D32F1002B352B /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA632C6D32F1002B352B /* CACFPreferences.cpp */; };
|
||||
8BC2EAEC2C6D32F1002B352B /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA642C6D32F1002B352B /* CABundleLocker.h */; };
|
||||
8BC2EAED2C6D32F1002B352B /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA652C6D32F1002B352B /* CAPropertyAddress.h */; };
|
||||
8BC2EAEE2C6D32F1002B352B /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA662C6D32F1002B352B /* CAXException.h */; };
|
||||
8BC2EAEF2C6D32F1002B352B /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA672C6D32F1002B352B /* CAAudioChannelLayout.cpp */; };
|
||||
8BC2EAF02C6D32F1002B352B /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA682C6D32F1002B352B /* CAThreadSafeList.h */; };
|
||||
8BC2EAF12C6D32F1002B352B /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA692C6D32F1002B352B /* CAAudioUnitOutputCapturer.h */; };
|
||||
8BC2EAF22C6D32F1002B352B /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA6A2C6D32F1002B352B /* AUParamInfo.cpp */; };
|
||||
8BC2EAF32C6D32F1002B352B /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA6B2C6D32F1002B352B /* CASharedLibrary.cpp */; };
|
||||
8BC2EAF42C6D32F1002B352B /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA6C2C6D32F1002B352B /* CAAUMIDIMap.cpp */; };
|
||||
8BC2EAF52C6D32F1002B352B /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA6D2C6D32F1002B352B /* CALogMacros.h */; };
|
||||
8BC2EAF62C6D32F1002B352B /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA6E2C6D32F1002B352B /* CACFMessagePort.cpp */; };
|
||||
8BC2EAF72C6D32F1002B352B /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA6F2C6D32F1002B352B /* CARingBuffer.h */; };
|
||||
8BC2EAF82C6D32F1002B352B /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA702C6D32F1002B352B /* AUOutputBL.cpp */; };
|
||||
8BC2EAF92C6D32F1002B352B /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA712C6D32F1002B352B /* CABufferList.h */; };
|
||||
8BC2EAFA2C6D32F1002B352B /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA722C6D32F1002B352B /* CASharedLibrary.h */; };
|
||||
8BC2EAFB2C6D32F1002B352B /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA732C6D32F1002B352B /* CACFData.h */; };
|
||||
8BC2EAFC2C6D32F1002B352B /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA742C6D32F1002B352B /* CAStreamRangedDescription.cpp */; };
|
||||
8BC2EAFD2C6D32F1002B352B /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA752C6D32F1002B352B /* CAPThread.cpp */; };
|
||||
8BC2EAFE2C6D32F1002B352B /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA762C6D32F1002B352B /* CAAutoDisposer.h */; };
|
||||
8BC2EAFF2C6D32F1002B352B /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA772C6D32F1002B352B /* CACFPreferences.h */; };
|
||||
8BC2EB002C6D32F1002B352B /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA782C6D32F1002B352B /* CAVectorUnit.cpp */; };
|
||||
8BC2EB012C6D32F1002B352B /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA792C6D32F1002B352B /* CAComponentDescription.h */; };
|
||||
8BC2EB022C6D32F1002B352B /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA7A2C6D32F1002B352B /* CADebugMacros.h */; };
|
||||
8BC2EB032C6D32F1002B352B /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA7B2C6D32F1002B352B /* AUOutputBL.h */; };
|
||||
8BC2EB042C6D32F1002B352B /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA7C2C6D32F1002B352B /* CADebugPrintf.cpp */; };
|
||||
8BC2EB052C6D32F1002B352B /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA7D2C6D32F1002B352B /* CARingBuffer.cpp */; };
|
||||
8BC2EB062C6D32F1002B352B /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA7E2C6D32F1002B352B /* CACFPlugIn.h */; };
|
||||
8BC2EB072C6D32F1002B352B /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA7F2C6D32F1002B352B /* CASettingsStorage.cpp */; };
|
||||
8BC2EB082C6D32F1002B352B /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA802C6D32F1002B352B /* CAMixMap.h */; };
|
||||
8BC2EB092C6D32F1002B352B /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA812C6D32F1002B352B /* CACFDistributedNotification.h */; };
|
||||
8BC2EB0A2C6D32F1002B352B /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA822C6D32F1002B352B /* CAFilePathUtils.h */; };
|
||||
8BC2EB0B2C6D32F1002B352B /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA832C6D32F1002B352B /* CATink.h */; };
|
||||
8BC2EB0C2C6D32F1002B352B /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA842C6D32F1002B352B /* CAStreamBasicDescription.cpp */; };
|
||||
8BC2EB0D2C6D32F1002B352B /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA852C6D32F1002B352B /* CAAudioChannelLayout.h */; };
|
||||
8BC2EB0E2C6D32F1002B352B /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA862C6D32F1002B352B /* CAProcess.cpp */; };
|
||||
8BC2EB0F2C6D32F1002B352B /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA872C6D32F1002B352B /* CAHostTimeBase.cpp */; };
|
||||
8BC2EB102C6D32F1002B352B /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA882C6D32F1002B352B /* CAPersistence.cpp */; };
|
||||
8BC2EB112C6D32F1002B352B /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA892C6D32F1002B352B /* CAAudioBufferList.cpp */; };
|
||||
8BC2EB122C6D32F1002B352B /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA8A2C6D32F1002B352B /* CAAudioTimeStamp.cpp */; };
|
||||
8BC2EB132C6D32F1002B352B /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA8B2C6D32F1002B352B /* CAVectorUnit.h */; };
|
||||
8BC2EB142C6D32F1002B352B /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA8C2C6D32F1002B352B /* CAByteOrder.h */; };
|
||||
8BC2EB152C6D32F1002B352B /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA8D2C6D32F1002B352B /* CACFArray.h */; };
|
||||
8BC2EB162C6D32F1002B352B /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA8E2C6D32F1002B352B /* CAAtomicStack.h */; };
|
||||
8BC2EB172C6D32F1002B352B /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA8F2C6D32F1002B352B /* CAReferenceCounted.h */; };
|
||||
8BC2EB182C6D32F1002B352B /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA902C6D32F1002B352B /* CACFMachPort.cpp */; };
|
||||
8BC2EB192C6D32F1002B352B /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA912C6D32F1002B352B /* CABufferList.cpp */; };
|
||||
8BC2EB1A2C6D32F1002B352B /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA922C6D32F1002B352B /* CAMutex.cpp */; };
|
||||
8BC2EB1B2C6D32F1002B352B /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA932C6D32F1002B352B /* CADebugger.cpp */; };
|
||||
8BC2EB1C2C6D32F1002B352B /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA942C6D32F1002B352B /* CABundleLocker.cpp */; };
|
||||
8BC2EB1D2C6D32F1002B352B /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA952C6D32F1002B352B /* CAAudioFileFormats.cpp */; };
|
||||
8BC2EB1E2C6D32F1002B352B /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA962C6D32F1002B352B /* CAMath.h */; };
|
||||
8BC2EB1F2C6D32F1002B352B /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA972C6D32F1002B352B /* CACFArray.cpp */; };
|
||||
8BC2EB202C6D32F1002B352B /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA982C6D32F1002B352B /* CACFMessagePort.h */; };
|
||||
8BC2EB212C6D32F1002B352B /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA992C6D32F1002B352B /* CAAudioValueRange.cpp */; };
|
||||
8BC2EB222C6D32F1002B352B /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EA9A2C6D32F1002B352B /* CAAudioUnit.cpp */; };
|
||||
8BC2EB232C6D32F1002B352B /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EA9E2C6D32F1002B352B /* AUViewLocalizedStringKeys.h */; };
|
||||
8BC2EB242C6D32F1002B352B /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAA02C6D32F1002B352B /* ComponentBase.cpp */; };
|
||||
8BC2EB252C6D32F1002B352B /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAA12C6D32F1002B352B /* AUScopeElement.cpp */; };
|
||||
8BC2EB262C6D32F1002B352B /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAA22C6D32F1002B352B /* ComponentBase.h */; };
|
||||
8BC2EB272C6D32F1002B352B /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAA32C6D32F1002B352B /* AUBase.cpp */; };
|
||||
8BC2EB282C6D32F1002B352B /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAA42C6D32F1002B352B /* AUInputElement.h */; };
|
||||
8BC2EB292C6D32F1002B352B /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAA52C6D32F1002B352B /* AUBase.h */; };
|
||||
8BC2EB2A2C6D32F1002B352B /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAA62C6D32F1002B352B /* AUPlugInDispatch.h */; };
|
||||
8BC2EB2B2C6D32F1002B352B /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAA72C6D32F1002B352B /* AUDispatch.h */; };
|
||||
8BC2EB2C2C6D32F1002B352B /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAA82C6D32F1002B352B /* AUOutputElement.cpp */; };
|
||||
8BC2EB2E2C6D32F1002B352B /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAAA2C6D32F1002B352B /* AUPlugInDispatch.cpp */; };
|
||||
8BC2EB2F2C6D32F1002B352B /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAAB2C6D32F1002B352B /* AUOutputElement.h */; };
|
||||
8BC2EB302C6D32F1002B352B /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAAC2C6D32F1002B352B /* AUDispatch.cpp */; };
|
||||
8BC2EB312C6D32F1002B352B /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAAD2C6D32F1002B352B /* AUScopeElement.h */; };
|
||||
8BC2EB322C6D32F1002B352B /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAAE2C6D32F1002B352B /* AUInputElement.cpp */; };
|
||||
8BC2EB332C6D32F1002B352B /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAB02C6D32F1002B352B /* AUEffectBase.cpp */; };
|
||||
8BC2EB342C6D32F1002B352B /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAB12C6D32F1002B352B /* AUEffectBase.h */; };
|
||||
8BC2EB352C6D32F1002B352B /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAB32C6D32F1002B352B /* AUTimestampGenerator.h */; };
|
||||
8BC2EB362C6D32F1002B352B /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAB42C6D32F1002B352B /* AUBaseHelper.cpp */; };
|
||||
8BC2EB372C6D32F1002B352B /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAB52C6D32F1002B352B /* AUSilentTimeout.h */; };
|
||||
8BC2EB382C6D32F1002B352B /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAB62C6D32F1002B352B /* AUInputFormatConverter.h */; };
|
||||
8BC2EB392C6D32F1002B352B /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAB72C6D32F1002B352B /* AUTimestampGenerator.cpp */; };
|
||||
8BC2EB3A2C6D32F1002B352B /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EAB82C6D32F1002B352B /* AUBuffer.cpp */; };
|
||||
8BC2EB3B2C6D32F1002B352B /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EAB92C6D32F1002B352B /* AUMIDIDefs.h */; };
|
||||
8BC2EB3C2C6D32F1002B352B /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EABA2C6D32F1002B352B /* AUBuffer.h */; };
|
||||
8BC2EB3D2C6D32F1002B352B /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EABB2C6D32F1002B352B /* AUBaseHelper.h */; };
|
||||
8BC6025C073B072D006C4272 /* Cans.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* Cans.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* Cans.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Cans.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* Cans.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = Cans.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* Cans.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = Cans.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* CansVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CansVersion.h; sourceTree = "<group>"; };
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
8BC2EA342C6D32F1002B352B /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
|
||||
8BC2EA352C6D32F1002B352B /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
|
||||
8BC2EA362C6D32F1002B352B /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
|
||||
8BC2EA372C6D32F1002B352B /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA382C6D32F1002B352B /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
|
||||
8BC2EA392C6D32F1002B352B /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA3A2C6D32F1002B352B /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
|
||||
8BC2EA3B2C6D32F1002B352B /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
|
||||
8BC2EA3C2C6D32F1002B352B /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8BC2EA3D2C6D32F1002B352B /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
|
||||
8BC2EA3E2C6D32F1002B352B /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
|
||||
8BC2EA3F2C6D32F1002B352B /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
|
||||
8BC2EA402C6D32F1002B352B /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
|
||||
8BC2EA412C6D32F1002B352B /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
|
||||
8BC2EA422C6D32F1002B352B /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
|
||||
8BC2EA432C6D32F1002B352B /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8BC2EA442C6D32F1002B352B /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
|
||||
8BC2EA452C6D32F1002B352B /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA462C6D32F1002B352B /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
|
||||
8BC2EA472C6D32F1002B352B /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
|
||||
8BC2EA482C6D32F1002B352B /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
|
||||
8BC2EA492C6D32F1002B352B /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
|
||||
8BC2EA4A2C6D32F1002B352B /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA4B2C6D32F1002B352B /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
|
||||
8BC2EA4C2C6D32F1002B352B /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA4D2C6D32F1002B352B /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
|
||||
8BC2EA4E2C6D32F1002B352B /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8BC2EA4F2C6D32F1002B352B /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA502C6D32F1002B352B /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA512C6D32F1002B352B /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
|
||||
8BC2EA522C6D32F1002B352B /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA532C6D32F1002B352B /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
|
||||
8BC2EA542C6D32F1002B352B /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA552C6D32F1002B352B /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA562C6D32F1002B352B /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
|
||||
8BC2EA572C6D32F1002B352B /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA582C6D32F1002B352B /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
|
||||
8BC2EA592C6D32F1002B352B /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
|
||||
8BC2EA5A2C6D32F1002B352B /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA5B2C6D32F1002B352B /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8BC2EA5C2C6D32F1002B352B /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA5D2C6D32F1002B352B /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
|
||||
8BC2EA5E2C6D32F1002B352B /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
|
||||
8BC2EA5F2C6D32F1002B352B /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA602C6D32F1002B352B /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
|
||||
8BC2EA612C6D32F1002B352B /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
|
||||
8BC2EA622C6D32F1002B352B /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
|
||||
8BC2EA632C6D32F1002B352B /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA642C6D32F1002B352B /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
|
||||
8BC2EA652C6D32F1002B352B /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
|
||||
8BC2EA662C6D32F1002B352B /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
|
||||
8BC2EA672C6D32F1002B352B /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA682C6D32F1002B352B /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
|
||||
8BC2EA692C6D32F1002B352B /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
|
||||
8BC2EA6A2C6D32F1002B352B /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA6B2C6D32F1002B352B /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA6C2C6D32F1002B352B /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA6D2C6D32F1002B352B /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
|
||||
8BC2EA6E2C6D32F1002B352B /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA6F2C6D32F1002B352B /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
|
||||
8BC2EA702C6D32F1002B352B /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA712C6D32F1002B352B /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
|
||||
8BC2EA722C6D32F1002B352B /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
|
||||
8BC2EA732C6D32F1002B352B /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
|
||||
8BC2EA742C6D32F1002B352B /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA752C6D32F1002B352B /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA762C6D32F1002B352B /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
|
||||
8BC2EA772C6D32F1002B352B /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
|
||||
8BC2EA782C6D32F1002B352B /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA792C6D32F1002B352B /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
|
||||
8BC2EA7A2C6D32F1002B352B /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
|
||||
8BC2EA7B2C6D32F1002B352B /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
|
||||
8BC2EA7C2C6D32F1002B352B /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA7D2C6D32F1002B352B /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA7E2C6D32F1002B352B /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
|
||||
8BC2EA7F2C6D32F1002B352B /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA802C6D32F1002B352B /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
|
||||
8BC2EA812C6D32F1002B352B /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
|
||||
8BC2EA822C6D32F1002B352B /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
|
||||
8BC2EA832C6D32F1002B352B /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
|
||||
8BC2EA842C6D32F1002B352B /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA852C6D32F1002B352B /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8BC2EA862C6D32F1002B352B /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA872C6D32F1002B352B /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA882C6D32F1002B352B /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA892C6D32F1002B352B /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA8A2C6D32F1002B352B /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA8B2C6D32F1002B352B /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
8BC2EA8C2C6D32F1002B352B /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
|
||||
8BC2EA8D2C6D32F1002B352B /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
|
||||
8BC2EA8E2C6D32F1002B352B /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
|
||||
8BC2EA8F2C6D32F1002B352B /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
|
||||
8BC2EA902C6D32F1002B352B /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA912C6D32F1002B352B /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA922C6D32F1002B352B /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA932C6D32F1002B352B /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA942C6D32F1002B352B /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA952C6D32F1002B352B /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA962C6D32F1002B352B /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
|
||||
8BC2EA972C6D32F1002B352B /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA982C6D32F1002B352B /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
|
||||
8BC2EA992C6D32F1002B352B /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA9A2C6D32F1002B352B /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
|
||||
8BC2EA9E2C6D32F1002B352B /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
|
||||
8BC2EAA02C6D32F1002B352B /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAA12C6D32F1002B352B /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAA22C6D32F1002B352B /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8BC2EAA32C6D32F1002B352B /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAA42C6D32F1002B352B /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8BC2EAA52C6D32F1002B352B /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8BC2EAA62C6D32F1002B352B /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
|
||||
8BC2EAA72C6D32F1002B352B /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8BC2EAA82C6D32F1002B352B /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAA92C6D32F1002B352B /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8BC2EAAA2C6D32F1002B352B /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAAB2C6D32F1002B352B /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8BC2EAAC2C6D32F1002B352B /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAAD2C6D32F1002B352B /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8BC2EAAE2C6D32F1002B352B /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAB02C6D32F1002B352B /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAB12C6D32F1002B352B /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8BC2EAB32C6D32F1002B352B /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8BC2EAB42C6D32F1002B352B /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAB52C6D32F1002B352B /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8BC2EAB62C6D32F1002B352B /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8BC2EAB72C6D32F1002B352B /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAB82C6D32F1002B352B /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8BC2EAB92C6D32F1002B352B /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
|
||||
8BC2EABA2C6D32F1002B352B /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8BC2EABB2C6D32F1002B352B /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
|
||||
8BC2EB3E2C6D3484002B352B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8BC6025B073B072D006C4272 /* Cans.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Cans.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* Cans.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cans.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 /* Cans */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Cans;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */,
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA322C6D32F1002B352B /* CA_SDK */,
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* Cans.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* Cans.h */,
|
||||
8BA05A660720730100365D66 /* Cans.cpp */,
|
||||
8BA05A670720730100365D66 /* Cans.exp */,
|
||||
8BA05A680720730100365D66 /* Cans.r */,
|
||||
8BA05A690720730100365D66 /* CansVersion.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA322C6D32F1002B352B /* CA_SDK */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA332C6D32F1002B352B /* PublicUtility */,
|
||||
8BC2EA9B2C6D32F1002B352B /* AudioUnits */,
|
||||
);
|
||||
name = CA_SDK;
|
||||
path = ../../../../CA_SDK;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA332C6D32F1002B352B /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA342C6D32F1002B352B /* CAExtAudioFile.h */,
|
||||
8BC2EA352C6D32F1002B352B /* CACFMachPort.h */,
|
||||
8BC2EA362C6D32F1002B352B /* CABool.h */,
|
||||
8BC2EA372C6D32F1002B352B /* CAComponent.cpp */,
|
||||
8BC2EA382C6D32F1002B352B /* CADebugger.h */,
|
||||
8BC2EA392C6D32F1002B352B /* CACFNumber.cpp */,
|
||||
8BC2EA3A2C6D32F1002B352B /* CAGuard.h */,
|
||||
8BC2EA3B2C6D32F1002B352B /* CAAtomic.h */,
|
||||
8BC2EA3C2C6D32F1002B352B /* CAStreamBasicDescription.h */,
|
||||
8BC2EA3D2C6D32F1002B352B /* CACFObject.h */,
|
||||
8BC2EA3E2C6D32F1002B352B /* CAStreamRangedDescription.h */,
|
||||
8BC2EA3F2C6D32F1002B352B /* CATokenMap.h */,
|
||||
8BC2EA402C6D32F1002B352B /* CAComponent.h */,
|
||||
8BC2EA412C6D32F1002B352B /* CAAudioBufferList.h */,
|
||||
8BC2EA422C6D32F1002B352B /* CAAudioUnit.h */,
|
||||
8BC2EA432C6D32F1002B352B /* CAAUParameter.h */,
|
||||
8BC2EA442C6D32F1002B352B /* CAException.h */,
|
||||
8BC2EA452C6D32F1002B352B /* CAAUProcessor.cpp */,
|
||||
8BC2EA462C6D32F1002B352B /* CAAUProcessor.h */,
|
||||
8BC2EA472C6D32F1002B352B /* CAProcess.h */,
|
||||
8BC2EA482C6D32F1002B352B /* CACFDictionary.h */,
|
||||
8BC2EA492C6D32F1002B352B /* CAPThread.h */,
|
||||
8BC2EA4A2C6D32F1002B352B /* CAAUParameter.cpp */,
|
||||
8BC2EA4B2C6D32F1002B352B /* CAAudioTimeStamp.h */,
|
||||
8BC2EA4C2C6D32F1002B352B /* CAFilePathUtils.cpp */,
|
||||
8BC2EA4D2C6D32F1002B352B /* CAAudioValueRange.h */,
|
||||
8BC2EA4E2C6D32F1002B352B /* CAVectorUnitTypes.h */,
|
||||
8BC2EA4F2C6D32F1002B352B /* CAAudioChannelLayoutObject.cpp */,
|
||||
8BC2EA502C6D32F1002B352B /* CAGuard.cpp */,
|
||||
8BC2EA512C6D32F1002B352B /* CACFNumber.h */,
|
||||
8BC2EA522C6D32F1002B352B /* CACFDistributedNotification.cpp */,
|
||||
8BC2EA532C6D32F1002B352B /* CACFString.h */,
|
||||
8BC2EA542C6D32F1002B352B /* CAAUMIDIMapManager.cpp */,
|
||||
8BC2EA552C6D32F1002B352B /* CAComponentDescription.cpp */,
|
||||
8BC2EA562C6D32F1002B352B /* CAHostTimeBase.h */,
|
||||
8BC2EA572C6D32F1002B352B /* CADebugMacros.cpp */,
|
||||
8BC2EA582C6D32F1002B352B /* CAAudioFileFormats.h */,
|
||||
8BC2EA592C6D32F1002B352B /* CAAUMIDIMapManager.h */,
|
||||
8BC2EA5A2C6D32F1002B352B /* CACFDictionary.cpp */,
|
||||
8BC2EA5B2C6D32F1002B352B /* CAMutex.h */,
|
||||
8BC2EA5C2C6D32F1002B352B /* CACFString.cpp */,
|
||||
8BC2EA5D2C6D32F1002B352B /* CASettingsStorage.h */,
|
||||
8BC2EA5E2C6D32F1002B352B /* CADebugPrintf.h */,
|
||||
8BC2EA5F2C6D32F1002B352B /* CAXException.cpp */,
|
||||
8BC2EA602C6D32F1002B352B /* CAAUMIDIMap.h */,
|
||||
8BC2EA612C6D32F1002B352B /* AUParamInfo.h */,
|
||||
8BC2EA622C6D32F1002B352B /* CABitOperations.h */,
|
||||
8BC2EA632C6D32F1002B352B /* CACFPreferences.cpp */,
|
||||
8BC2EA642C6D32F1002B352B /* CABundleLocker.h */,
|
||||
8BC2EA652C6D32F1002B352B /* CAPropertyAddress.h */,
|
||||
8BC2EA662C6D32F1002B352B /* CAXException.h */,
|
||||
8BC2EA672C6D32F1002B352B /* CAAudioChannelLayout.cpp */,
|
||||
8BC2EA682C6D32F1002B352B /* CAThreadSafeList.h */,
|
||||
8BC2EA692C6D32F1002B352B /* CAAudioUnitOutputCapturer.h */,
|
||||
8BC2EA6A2C6D32F1002B352B /* AUParamInfo.cpp */,
|
||||
8BC2EA6B2C6D32F1002B352B /* CASharedLibrary.cpp */,
|
||||
8BC2EA6C2C6D32F1002B352B /* CAAUMIDIMap.cpp */,
|
||||
8BC2EA6D2C6D32F1002B352B /* CALogMacros.h */,
|
||||
8BC2EA6E2C6D32F1002B352B /* CACFMessagePort.cpp */,
|
||||
8BC2EA6F2C6D32F1002B352B /* CARingBuffer.h */,
|
||||
8BC2EA702C6D32F1002B352B /* AUOutputBL.cpp */,
|
||||
8BC2EA712C6D32F1002B352B /* CABufferList.h */,
|
||||
8BC2EA722C6D32F1002B352B /* CASharedLibrary.h */,
|
||||
8BC2EA732C6D32F1002B352B /* CACFData.h */,
|
||||
8BC2EA742C6D32F1002B352B /* CAStreamRangedDescription.cpp */,
|
||||
8BC2EA752C6D32F1002B352B /* CAPThread.cpp */,
|
||||
8BC2EA762C6D32F1002B352B /* CAAutoDisposer.h */,
|
||||
8BC2EA772C6D32F1002B352B /* CACFPreferences.h */,
|
||||
8BC2EA782C6D32F1002B352B /* CAVectorUnit.cpp */,
|
||||
8BC2EA792C6D32F1002B352B /* CAComponentDescription.h */,
|
||||
8BC2EA7A2C6D32F1002B352B /* CADebugMacros.h */,
|
||||
8BC2EA7B2C6D32F1002B352B /* AUOutputBL.h */,
|
||||
8BC2EA7C2C6D32F1002B352B /* CADebugPrintf.cpp */,
|
||||
8BC2EA7D2C6D32F1002B352B /* CARingBuffer.cpp */,
|
||||
8BC2EA7E2C6D32F1002B352B /* CACFPlugIn.h */,
|
||||
8BC2EA7F2C6D32F1002B352B /* CASettingsStorage.cpp */,
|
||||
8BC2EA802C6D32F1002B352B /* CAMixMap.h */,
|
||||
8BC2EA812C6D32F1002B352B /* CACFDistributedNotification.h */,
|
||||
8BC2EA822C6D32F1002B352B /* CAFilePathUtils.h */,
|
||||
8BC2EA832C6D32F1002B352B /* CATink.h */,
|
||||
8BC2EA842C6D32F1002B352B /* CAStreamBasicDescription.cpp */,
|
||||
8BC2EA852C6D32F1002B352B /* CAAudioChannelLayout.h */,
|
||||
8BC2EA862C6D32F1002B352B /* CAProcess.cpp */,
|
||||
8BC2EA872C6D32F1002B352B /* CAHostTimeBase.cpp */,
|
||||
8BC2EA882C6D32F1002B352B /* CAPersistence.cpp */,
|
||||
8BC2EA892C6D32F1002B352B /* CAAudioBufferList.cpp */,
|
||||
8BC2EA8A2C6D32F1002B352B /* CAAudioTimeStamp.cpp */,
|
||||
8BC2EA8B2C6D32F1002B352B /* CAVectorUnit.h */,
|
||||
8BC2EA8C2C6D32F1002B352B /* CAByteOrder.h */,
|
||||
8BC2EA8D2C6D32F1002B352B /* CACFArray.h */,
|
||||
8BC2EA8E2C6D32F1002B352B /* CAAtomicStack.h */,
|
||||
8BC2EA8F2C6D32F1002B352B /* CAReferenceCounted.h */,
|
||||
8BC2EA902C6D32F1002B352B /* CACFMachPort.cpp */,
|
||||
8BC2EA912C6D32F1002B352B /* CABufferList.cpp */,
|
||||
8BC2EA922C6D32F1002B352B /* CAMutex.cpp */,
|
||||
8BC2EA932C6D32F1002B352B /* CADebugger.cpp */,
|
||||
8BC2EA942C6D32F1002B352B /* CABundleLocker.cpp */,
|
||||
8BC2EA952C6D32F1002B352B /* CAAudioFileFormats.cpp */,
|
||||
8BC2EA962C6D32F1002B352B /* CAMath.h */,
|
||||
8BC2EA972C6D32F1002B352B /* CACFArray.cpp */,
|
||||
8BC2EA982C6D32F1002B352B /* CACFMessagePort.h */,
|
||||
8BC2EA992C6D32F1002B352B /* CAAudioValueRange.cpp */,
|
||||
8BC2EA9A2C6D32F1002B352B /* CAAudioUnit.cpp */,
|
||||
);
|
||||
path = PublicUtility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA9B2C6D32F1002B352B /* AudioUnits */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA9C2C6D32F1002B352B /* AUPublic */,
|
||||
);
|
||||
path = AudioUnits;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA9C2C6D32F1002B352B /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA9D2C6D32F1002B352B /* AUViewBase */,
|
||||
8BC2EA9F2C6D32F1002B352B /* AUBase */,
|
||||
8BC2EAAF2C6D32F1002B352B /* OtherBases */,
|
||||
8BC2EAB22C6D32F1002B352B /* Utility */,
|
||||
);
|
||||
path = AUPublic;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA9D2C6D32F1002B352B /* AUViewBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EA9E2C6D32F1002B352B /* AUViewLocalizedStringKeys.h */,
|
||||
);
|
||||
path = AUViewBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EA9F2C6D32F1002B352B /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EAA02C6D32F1002B352B /* ComponentBase.cpp */,
|
||||
8BC2EAA12C6D32F1002B352B /* AUScopeElement.cpp */,
|
||||
8BC2EAA22C6D32F1002B352B /* ComponentBase.h */,
|
||||
8BC2EAA32C6D32F1002B352B /* AUBase.cpp */,
|
||||
8BC2EAA42C6D32F1002B352B /* AUInputElement.h */,
|
||||
8BC2EAA52C6D32F1002B352B /* AUBase.h */,
|
||||
8BC2EAA62C6D32F1002B352B /* AUPlugInDispatch.h */,
|
||||
8BC2EAA72C6D32F1002B352B /* AUDispatch.h */,
|
||||
8BC2EAA82C6D32F1002B352B /* AUOutputElement.cpp */,
|
||||
8BC2EAA92C6D32F1002B352B /* AUResources.r */,
|
||||
8BC2EAAA2C6D32F1002B352B /* AUPlugInDispatch.cpp */,
|
||||
8BC2EAAB2C6D32F1002B352B /* AUOutputElement.h */,
|
||||
8BC2EAAC2C6D32F1002B352B /* AUDispatch.cpp */,
|
||||
8BC2EAAD2C6D32F1002B352B /* AUScopeElement.h */,
|
||||
8BC2EAAE2C6D32F1002B352B /* AUInputElement.cpp */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EAAF2C6D32F1002B352B /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EAB02C6D32F1002B352B /* AUEffectBase.cpp */,
|
||||
8BC2EAB12C6D32F1002B352B /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EAB22C6D32F1002B352B /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EAB32C6D32F1002B352B /* AUTimestampGenerator.h */,
|
||||
8BC2EAB42C6D32F1002B352B /* AUBaseHelper.cpp */,
|
||||
8BC2EAB52C6D32F1002B352B /* AUSilentTimeout.h */,
|
||||
8BC2EAB62C6D32F1002B352B /* AUInputFormatConverter.h */,
|
||||
8BC2EAB72C6D32F1002B352B /* AUTimestampGenerator.cpp */,
|
||||
8BC2EAB82C6D32F1002B352B /* AUBuffer.cpp */,
|
||||
8BC2EAB92C6D32F1002B352B /* AUMIDIDefs.h */,
|
||||
8BC2EABA2C6D32F1002B352B /* AUBuffer.h */,
|
||||
8BC2EABB2C6D32F1002B352B /* AUBaseHelper.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BC2EAEC2C6D32F1002B352B /* CABundleLocker.h in Headers */,
|
||||
8BC2EB0D2C6D32F1002B352B /* CAAudioChannelLayout.h in Headers */,
|
||||
8BC2EB032C6D32F1002B352B /* AUOutputBL.h in Headers */,
|
||||
8BC2EADE2C6D32F1002B352B /* CAHostTimeBase.h in Headers */,
|
||||
8BC2EB262C6D32F1002B352B /* ComponentBase.h in Headers */,
|
||||
8BC2EB162C6D32F1002B352B /* CAAtomicStack.h in Headers */,
|
||||
8BC2EAD32C6D32F1002B352B /* CAAudioTimeStamp.h in Headers */,
|
||||
8BC2EAF02C6D32F1002B352B /* CAThreadSafeList.h in Headers */,
|
||||
8BC2EACB2C6D32F1002B352B /* CAAUParameter.h in Headers */,
|
||||
8BC2EB3D2C6D32F1002B352B /* AUBaseHelper.h in Headers */,
|
||||
8BC2EB352C6D32F1002B352B /* AUTimestampGenerator.h in Headers */,
|
||||
8BC2EAE62C6D32F1002B352B /* CADebugPrintf.h in Headers */,
|
||||
8BC2EB202C6D32F1002B352B /* CACFMessagePort.h in Headers */,
|
||||
8BC2EACE2C6D32F1002B352B /* CAAUProcessor.h in Headers */,
|
||||
8BC2EACA2C6D32F1002B352B /* CAAudioUnit.h in Headers */,
|
||||
8BC2EB232C6D32F1002B352B /* AUViewLocalizedStringKeys.h in Headers */,
|
||||
8BC2EB092C6D32F1002B352B /* CACFDistributedNotification.h in Headers */,
|
||||
8BC2EAC82C6D32F1002B352B /* CAComponent.h in Headers */,
|
||||
8BC2EAD62C6D32F1002B352B /* CAVectorUnitTypes.h in Headers */,
|
||||
8BA05A6E0720730100365D66 /* CansVersion.h in Headers */,
|
||||
8BC2EB0A2C6D32F1002B352B /* CAFilePathUtils.h in Headers */,
|
||||
8BC2EACC2C6D32F1002B352B /* CAException.h in Headers */,
|
||||
8BC2EAC32C6D32F1002B352B /* CAAtomic.h in Headers */,
|
||||
8BC2EAC22C6D32F1002B352B /* CAGuard.h in Headers */,
|
||||
8BC2EB282C6D32F1002B352B /* AUInputElement.h in Headers */,
|
||||
8BC2EAFF2C6D32F1002B352B /* CACFPreferences.h in Headers */,
|
||||
8BC2EB142C6D32F1002B352B /* CAByteOrder.h in Headers */,
|
||||
8BC2EAF72C6D32F1002B352B /* CARingBuffer.h in Headers */,
|
||||
8BC2EABE2C6D32F1002B352B /* CABool.h in Headers */,
|
||||
8BC2EAE32C6D32F1002B352B /* CAMutex.h in Headers */,
|
||||
8BC2EB292C6D32F1002B352B /* AUBase.h in Headers */,
|
||||
8BC6025C073B072D006C4272 /* Cans.h in Headers */,
|
||||
8BC2EADB2C6D32F1002B352B /* CACFString.h in Headers */,
|
||||
8BC2EAFA2C6D32F1002B352B /* CASharedLibrary.h in Headers */,
|
||||
8BC2EAC72C6D32F1002B352B /* CATokenMap.h in Headers */,
|
||||
8BC2EABC2C6D32F1002B352B /* CAExtAudioFile.h in Headers */,
|
||||
8BC2EAD12C6D32F1002B352B /* CAPThread.h in Headers */,
|
||||
8BC2EAED2C6D32F1002B352B /* CAPropertyAddress.h in Headers */,
|
||||
8BC2EB172C6D32F1002B352B /* CAReferenceCounted.h in Headers */,
|
||||
8BC2EB3C2C6D32F1002B352B /* AUBuffer.h in Headers */,
|
||||
8BC2EB1E2C6D32F1002B352B /* CAMath.h in Headers */,
|
||||
8BC2EAFE2C6D32F1002B352B /* CAAutoDisposer.h in Headers */,
|
||||
8BC2EAC52C6D32F1002B352B /* CACFObject.h in Headers */,
|
||||
8BC2EAE52C6D32F1002B352B /* CASettingsStorage.h in Headers */,
|
||||
8BC2EAEE2C6D32F1002B352B /* CAXException.h in Headers */,
|
||||
8BC2EB0B2C6D32F1002B352B /* CATink.h in Headers */,
|
||||
8BC2EB382C6D32F1002B352B /* AUInputFormatConverter.h in Headers */,
|
||||
8BC2EB132C6D32F1002B352B /* CAVectorUnit.h in Headers */,
|
||||
8BC2EACF2C6D32F1002B352B /* CAProcess.h in Headers */,
|
||||
8BC2EAD52C6D32F1002B352B /* CAAudioValueRange.h in Headers */,
|
||||
8BC2EAEA2C6D32F1002B352B /* CABitOperations.h in Headers */,
|
||||
8BC2EAE02C6D32F1002B352B /* CAAudioFileFormats.h in Headers */,
|
||||
8BC2EAD92C6D32F1002B352B /* CACFNumber.h in Headers */,
|
||||
8BC2EAF12C6D32F1002B352B /* CAAudioUnitOutputCapturer.h in Headers */,
|
||||
8BC2EB022C6D32F1002B352B /* CADebugMacros.h in Headers */,
|
||||
8BC2EB3B2C6D32F1002B352B /* AUMIDIDefs.h in Headers */,
|
||||
8BC2EAFB2C6D32F1002B352B /* CACFData.h in Headers */,
|
||||
8BC2EAC42C6D32F1002B352B /* CAStreamBasicDescription.h in Headers */,
|
||||
8BC2EB2A2C6D32F1002B352B /* AUPlugInDispatch.h in Headers */,
|
||||
8BC2EAC62C6D32F1002B352B /* CAStreamRangedDescription.h in Headers */,
|
||||
8BC2EB062C6D32F1002B352B /* CACFPlugIn.h in Headers */,
|
||||
8BC2EAC92C6D32F1002B352B /* CAAudioBufferList.h in Headers */,
|
||||
8BC2EAE12C6D32F1002B352B /* CAAUMIDIMapManager.h in Headers */,
|
||||
8BC2EB342C6D32F1002B352B /* AUEffectBase.h in Headers */,
|
||||
8BC2EAD02C6D32F1002B352B /* CACFDictionary.h in Headers */,
|
||||
8BC2EB312C6D32F1002B352B /* AUScopeElement.h in Headers */,
|
||||
8BC2EB012C6D32F1002B352B /* CAComponentDescription.h in Headers */,
|
||||
8BC2EB372C6D32F1002B352B /* AUSilentTimeout.h in Headers */,
|
||||
8BC2EAF92C6D32F1002B352B /* CABufferList.h in Headers */,
|
||||
8BC2EB2B2C6D32F1002B352B /* AUDispatch.h in Headers */,
|
||||
8BC2EB2F2C6D32F1002B352B /* AUOutputElement.h in Headers */,
|
||||
8BC2EAF52C6D32F1002B352B /* CALogMacros.h in Headers */,
|
||||
8BC2EAE92C6D32F1002B352B /* AUParamInfo.h in Headers */,
|
||||
8BC2EB082C6D32F1002B352B /* CAMixMap.h in Headers */,
|
||||
8BC2EB152C6D32F1002B352B /* CACFArray.h in Headers */,
|
||||
8BC2EABD2C6D32F1002B352B /* CACFMachPort.h in Headers */,
|
||||
8BC2EAE82C6D32F1002B352B /* CAAUMIDIMap.h in Headers */,
|
||||
8BC2EAC02C6D32F1002B352B /* CADebugger.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Cans" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Cans;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = Cans;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* Cans.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 "Cans" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
de,
|
||||
fr,
|
||||
ja,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* Cans */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */,
|
||||
);
|
||||
};
|
||||
/* 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 = (
|
||||
8BC2EAF82C6D32F1002B352B /* AUOutputBL.cpp in Sources */,
|
||||
8BC2EB1D2C6D32F1002B352B /* CAAudioFileFormats.cpp in Sources */,
|
||||
8BC2EB0F2C6D32F1002B352B /* CAHostTimeBase.cpp in Sources */,
|
||||
8BC2EAE72C6D32F1002B352B /* CAXException.cpp in Sources */,
|
||||
8BC2EB112C6D32F1002B352B /* CAAudioBufferList.cpp in Sources */,
|
||||
8BC2EAD42C6D32F1002B352B /* CAFilePathUtils.cpp in Sources */,
|
||||
8BC2EAD22C6D32F1002B352B /* CAAUParameter.cpp in Sources */,
|
||||
8BC2EAF42C6D32F1002B352B /* CAAUMIDIMap.cpp in Sources */,
|
||||
8BC2EB212C6D32F1002B352B /* CAAudioValueRange.cpp in Sources */,
|
||||
8BC2EB302C6D32F1002B352B /* AUDispatch.cpp in Sources */,
|
||||
8BC2EAEB2C6D32F1002B352B /* CACFPreferences.cpp in Sources */,
|
||||
8BC2EB2E2C6D32F1002B352B /* AUPlugInDispatch.cpp in Sources */,
|
||||
8BC2EACD2C6D32F1002B352B /* CAAUProcessor.cpp in Sources */,
|
||||
8BC2EAE22C6D32F1002B352B /* CACFDictionary.cpp in Sources */,
|
||||
8BC2EB362C6D32F1002B352B /* AUBaseHelper.cpp in Sources */,
|
||||
8BC2EB1B2C6D32F1002B352B /* CADebugger.cpp in Sources */,
|
||||
8BC2EAEF2C6D32F1002B352B /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8BC2EAF22C6D32F1002B352B /* AUParamInfo.cpp in Sources */,
|
||||
8BC2EB102C6D32F1002B352B /* CAPersistence.cpp in Sources */,
|
||||
8BC2EB042C6D32F1002B352B /* CADebugPrintf.cpp in Sources */,
|
||||
8BC2EB392C6D32F1002B352B /* AUTimestampGenerator.cpp in Sources */,
|
||||
8BC2EB0C2C6D32F1002B352B /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8BC2EADC2C6D32F1002B352B /* CAAUMIDIMapManager.cpp in Sources */,
|
||||
8BC2EB072C6D32F1002B352B /* CASettingsStorage.cpp in Sources */,
|
||||
8BC2EB2C2C6D32F1002B352B /* AUOutputElement.cpp in Sources */,
|
||||
8BC2EAD82C6D32F1002B352B /* CAGuard.cpp in Sources */,
|
||||
8BA05A6B0720730100365D66 /* Cans.cpp in Sources */,
|
||||
8BC2EB1A2C6D32F1002B352B /* CAMutex.cpp in Sources */,
|
||||
8BC2EB332C6D32F1002B352B /* AUEffectBase.cpp in Sources */,
|
||||
8BC2EB182C6D32F1002B352B /* CACFMachPort.cpp in Sources */,
|
||||
8BC2EB272C6D32F1002B352B /* AUBase.cpp in Sources */,
|
||||
8BC2EAF32C6D32F1002B352B /* CASharedLibrary.cpp in Sources */,
|
||||
8BC2EADA2C6D32F1002B352B /* CACFDistributedNotification.cpp in Sources */,
|
||||
8BC2EADD2C6D32F1002B352B /* CAComponentDescription.cpp in Sources */,
|
||||
8BC2EAE42C6D32F1002B352B /* CACFString.cpp in Sources */,
|
||||
8BC2EB242C6D32F1002B352B /* ComponentBase.cpp in Sources */,
|
||||
8BC2EB052C6D32F1002B352B /* CARingBuffer.cpp in Sources */,
|
||||
8BC2EB252C6D32F1002B352B /* AUScopeElement.cpp in Sources */,
|
||||
8BC2EB222C6D32F1002B352B /* CAAudioUnit.cpp in Sources */,
|
||||
8BC2EB1F2C6D32F1002B352B /* CACFArray.cpp in Sources */,
|
||||
8BC2EB1C2C6D32F1002B352B /* CABundleLocker.cpp in Sources */,
|
||||
8BC2EB0E2C6D32F1002B352B /* CAProcess.cpp in Sources */,
|
||||
8BC2EAFC2C6D32F1002B352B /* CAStreamRangedDescription.cpp in Sources */,
|
||||
8BC2EAFD2C6D32F1002B352B /* CAPThread.cpp in Sources */,
|
||||
8BC2EABF2C6D32F1002B352B /* CAComponent.cpp in Sources */,
|
||||
8BC2EAD72C6D32F1002B352B /* CAAudioChannelLayoutObject.cpp in Sources */,
|
||||
8BC2EB122C6D32F1002B352B /* CAAudioTimeStamp.cpp in Sources */,
|
||||
8BC2EB192C6D32F1002B352B /* CABufferList.cpp in Sources */,
|
||||
8BC2EAF62C6D32F1002B352B /* CACFMessagePort.cpp in Sources */,
|
||||
8BC2EB002C6D32F1002B352B /* CAVectorUnit.cpp in Sources */,
|
||||
8BC2EB322C6D32F1002B352B /* AUInputElement.cpp in Sources */,
|
||||
8BC2EB3A2C6D32F1002B352B /* AUBuffer.cpp in Sources */,
|
||||
8BC2EADF2C6D32F1002B352B /* CADebugMacros.cpp in Sources */,
|
||||
8BC2EAC12C6D32F1002B352B /* CACFNumber.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
8BC2EB3E2C6D3484002B352B /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
EXPORTED_SYMBOLS_FILE = Cans.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 = Cans;
|
||||
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 = Cans.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 = Cans;
|
||||
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 "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedAU/Cans/Cans.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
plugins/MacSignedAU/Cans/Cans.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1420"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Cans.component"
|
||||
BlueprintName = "Cans"
|
||||
ReferencedContainer = "container:Cans.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Cans.component"
|
||||
BlueprintName = "Cans"
|
||||
ReferencedContainer = "container:Cans.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>Cans.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
58
plugins/MacSignedAU/Cans/CansVersion.h
Executable file
58
plugins/MacSignedAU/Cans/CansVersion.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: CansVersion.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/1/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 __CansVersion_h__
|
||||
#define __CansVersion_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kCansVersion 0xFFFFFFFF
|
||||
#else
|
||||
#define kCansVersion 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define Cans_COMP_MANF 'Dthr'
|
||||
#define Cans_COMP_SUBTYPE 'cans'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
47
plugins/MacSignedAU/Cans/Info.plist
Executable file
47
plugins/MacSignedAU/Cans/Info.plist
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AudioComponents</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>${PRODUCT_NAME:identifier} AU</string>
|
||||
<key>factoryFunction</key>
|
||||
<string>${PRODUCT_NAME:identifier}Factory</string>
|
||||
<key>manufacturer</key>
|
||||
<string>Dthr</string>
|
||||
<key>name</key>
|
||||
<string>Airwindows: ${PRODUCT_NAME:identifier}</string>
|
||||
<key>subtype</key>
|
||||
<string>cans</string>
|
||||
<key>type</key>
|
||||
<string>aufx</string>
|
||||
<key>version</key>
|
||||
<integer>65536</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>Dthr</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
5
plugins/MacSignedAU/Cans/StarterAU_Prefix.pch
Executable file
5
plugins/MacSignedAU/Cans/StarterAU_Prefix.pch
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
//
|
||||
// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project.
|
||||
//
|
||||
|
||||
#include <CoreServices/CoreServices.h>
|
||||
BIN
plugins/MacSignedAU/Cans/en.lproj/InfoPlist.strings
Executable file
BIN
plugins/MacSignedAU/Cans/en.lproj/InfoPlist.strings
Executable file
Binary file not shown.
16
plugins/MacSignedAU/Cans/version.plist
Executable file
16
plugins/MacSignedAU/Cans/version.plist
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildVersion</key>
|
||||
<string>3</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>ProjectName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>SourceVersion</key>
|
||||
<string>590000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
47
plugins/MacSignedAU/Isolator3/Info.plist
Executable file
47
plugins/MacSignedAU/Isolator3/Info.plist
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AudioComponents</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>${PRODUCT_NAME:identifier} AU</string>
|
||||
<key>factoryFunction</key>
|
||||
<string>${PRODUCT_NAME:identifier}Factory</string>
|
||||
<key>manufacturer</key>
|
||||
<string>Dthr</string>
|
||||
<key>name</key>
|
||||
<string>Airwindows: ${PRODUCT_NAME:identifier}</string>
|
||||
<key>subtype</key>
|
||||
<string>ison</string>
|
||||
<key>type</key>
|
||||
<string>aufx</string>
|
||||
<key>version</key>
|
||||
<integer>65536</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PROJECTNAMEASIDENTIFIER}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>DthX</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
630
plugins/MacSignedAU/Isolator3/Isolator3.cpp
Executable file
630
plugins/MacSignedAU/Isolator3/Isolator3.cpp
Executable file
|
|
@ -0,0 +1,630 @@
|
|||
/*
|
||||
* File: Isolator3.cpp
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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.
|
||||
*
|
||||
*/
|
||||
/*=============================================================================
|
||||
Isolator3.cpp
|
||||
|
||||
=============================================================================*/
|
||||
#include "Isolator3.h"
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
AUDIOCOMPONENT_ENTRY(AUBaseFactory, Isolator3)
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Isolator3::Isolator3(AudioUnit component)
|
||||
: AUEffectBase(component)
|
||||
{
|
||||
CreateElements();
|
||||
Globals()->UseIndexedParameters(kNumberOfParameters);
|
||||
SetParameter(kParam_A, kDefaultValue_ParamA );
|
||||
SetParameter(kParam_B, kDefaultValue_ParamB );
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
mDebugDispatcher = new AUDebugDispatcher (this);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetParameterValueStrings
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings)
|
||||
{
|
||||
|
||||
return kAudioUnitErr_InvalidProperty;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetParameterInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo )
|
||||
{
|
||||
ComponentResult result = noErr;
|
||||
|
||||
outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
|
||||
| kAudioUnitParameterFlag_IsReadable;
|
||||
|
||||
if (inScope == kAudioUnitScope_Global) {
|
||||
switch(inParameterID)
|
||||
{
|
||||
case kParam_A:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterAName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamA;
|
||||
break;
|
||||
case kParam_B:
|
||||
AUBase::FillInParameterName (outParameterInfo, kParameterBName, false);
|
||||
outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
|
||||
outParameterInfo.minValue = 0.0;
|
||||
outParameterInfo.maxValue = 1.0;
|
||||
outParameterInfo.defaultValue = kDefaultValue_ParamB;
|
||||
break;
|
||||
default:
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = kAudioUnitErr_InvalidParameter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetPropertyInfo
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetPropertyInfo (AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable)
|
||||
{
|
||||
return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::GetProperty
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::GetProperty( AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData )
|
||||
{
|
||||
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
|
||||
}
|
||||
|
||||
// Isolator3::Initialize
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
ComponentResult Isolator3::Initialize()
|
||||
{
|
||||
ComponentResult result = AUEffectBase::Initialize();
|
||||
if (result == noErr)
|
||||
Reset(kAudioUnitScope_Global, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma mark ____Isolator3EffectKernel
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3Kernel::Reset()
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Isolator3::Isolator3Kernel::Reset()
|
||||
{
|
||||
for (int x = 0; x < biq_total; x++) {
|
||||
biquadA[x] = 0.0;
|
||||
biquadB[x] = 0.0;
|
||||
biquadC[x] = 0.0;
|
||||
biquadD[x] = 0.0;
|
||||
biquadE[x] = 0.0;
|
||||
biquadF[x] = 0.0;
|
||||
biquadG[x] = 0.0;
|
||||
hiquadA[x] = 0.0;
|
||||
hiquadB[x] = 0.0;
|
||||
hiquadC[x] = 0.0;
|
||||
hiquadD[x] = 0.0;
|
||||
hiquadE[x] = 0.0;
|
||||
hiquadF[x] = 0.0;
|
||||
hiquadG[x] = 0.0;
|
||||
}
|
||||
|
||||
lastSampleL = 0.0;
|
||||
wasPosClipL = false;
|
||||
wasNegClipL = false;
|
||||
for (int x = 0; x < 16; x++) {intermediateL[x] = 0.0;}
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX;
|
||||
}
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Isolator3::Isolator3Kernel::Process
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
void Isolator3::Isolator3Kernel::Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence )
|
||||
{
|
||||
UInt32 nSampleFrames = inFramesToProcess;
|
||||
const Float32 *sourceP = inSourceP;
|
||||
Float32 *destP = inDestP;
|
||||
double overallscale = 1.0;
|
||||
overallscale /= 44100.0;
|
||||
overallscale *= GetSampleRate();
|
||||
int spacing = floor(overallscale); //should give us working basic scaling, usually 2 or 4
|
||||
if (spacing < 1) spacing = 1; if (spacing > 16) spacing = 16;
|
||||
|
||||
double f = GetParameter( kParam_A );
|
||||
double q = GetParameter( kParam_B );
|
||||
double isoFreq = ((f*2.0)*(1.0-q))+(f*q);
|
||||
double hisoFreq = (((f*2.0)-1.0)*(1.0-q))+(f*q);
|
||||
|
||||
if (isoFreq > 1.0) isoFreq = 1.0;
|
||||
if (hisoFreq < 0.0) hisoFreq = 0.0;
|
||||
|
||||
biquadA[biq_freq] = pow(isoFreq,(2.0*sqrt(overallscale)))*0.4999;
|
||||
if (biquadA[biq_freq] < 0.00025) biquadA[biq_freq] = 0.00025;
|
||||
biquadG[biq_freq] = biquadF[biq_freq] = biquadE[biq_freq] = biquadD[biq_freq] = biquadC[biq_freq] = biquadB[biq_freq] = biquadA[biq_freq];
|
||||
|
||||
hiquadA[biq_freq] = pow(hisoFreq,(2.0*sqrt(overallscale)))*0.4999;
|
||||
if (hiquadA[biq_freq] < 0.00025) hiquadA[biq_freq] = 0.00025;
|
||||
hiquadG[biq_freq] = hiquadF[biq_freq] = hiquadE[biq_freq] = hiquadD[biq_freq] = hiquadC[biq_freq] = hiquadB[biq_freq] = hiquadA[biq_freq];
|
||||
|
||||
hiquadA[biq_reso] = biquadA[biq_reso] = 4.46570214;
|
||||
hiquadB[biq_reso] = biquadB[biq_reso] = 1.51387132;
|
||||
hiquadC[biq_reso] = biquadC[biq_reso] = 0.93979296;
|
||||
hiquadD[biq_reso] = biquadD[biq_reso] = 0.70710678;
|
||||
hiquadE[biq_reso] = biquadE[biq_reso] = 0.59051105;
|
||||
hiquadF[biq_reso] = biquadF[biq_reso] = 0.52972649;
|
||||
hiquadG[biq_reso] = biquadG[biq_reso] = 0.50316379;
|
||||
|
||||
biquadA[biq_aA0] = biquadA[biq_aB0];
|
||||
biquadA[biq_aA1] = biquadA[biq_aB1];
|
||||
biquadA[biq_aA2] = biquadA[biq_aB2];
|
||||
biquadA[biq_bA1] = biquadA[biq_bB1];
|
||||
biquadA[biq_bA2] = biquadA[biq_bB2];
|
||||
|
||||
biquadB[biq_aA0] = biquadB[biq_aB0];
|
||||
biquadB[biq_aA1] = biquadB[biq_aB1];
|
||||
biquadB[biq_aA2] = biquadB[biq_aB2];
|
||||
biquadB[biq_bA1] = biquadB[biq_bB1];
|
||||
biquadB[biq_bA2] = biquadB[biq_bB2];
|
||||
|
||||
biquadC[biq_aA0] = biquadC[biq_aB0];
|
||||
biquadC[biq_aA1] = biquadC[biq_aB1];
|
||||
biquadC[biq_aA2] = biquadC[biq_aB2];
|
||||
biquadC[biq_bA1] = biquadC[biq_bB1];
|
||||
biquadC[biq_bA2] = biquadC[biq_bB2];
|
||||
|
||||
biquadD[biq_aA0] = biquadD[biq_aB0];
|
||||
biquadD[biq_aA1] = biquadD[biq_aB1];
|
||||
biquadD[biq_aA2] = biquadD[biq_aB2];
|
||||
biquadD[biq_bA1] = biquadD[biq_bB1];
|
||||
biquadD[biq_bA2] = biquadD[biq_bB2];
|
||||
|
||||
biquadE[biq_aA0] = biquadE[biq_aB0];
|
||||
biquadE[biq_aA1] = biquadE[biq_aB1];
|
||||
biquadE[biq_aA2] = biquadE[biq_aB2];
|
||||
biquadE[biq_bA1] = biquadE[biq_bB1];
|
||||
biquadE[biq_bA2] = biquadE[biq_bB2];
|
||||
|
||||
biquadF[biq_aA0] = biquadF[biq_aB0];
|
||||
biquadF[biq_aA1] = biquadF[biq_aB1];
|
||||
biquadF[biq_aA2] = biquadF[biq_aB2];
|
||||
biquadF[biq_bA1] = biquadF[biq_bB1];
|
||||
biquadF[biq_bA2] = biquadF[biq_bB2];
|
||||
|
||||
biquadG[biq_aA0] = biquadG[biq_aB0];
|
||||
biquadG[biq_aA1] = biquadG[biq_aB1];
|
||||
biquadG[biq_aA2] = biquadG[biq_aB2];
|
||||
biquadG[biq_bA1] = biquadG[biq_bB1];
|
||||
biquadG[biq_bA2] = biquadG[biq_bB2];
|
||||
|
||||
hiquadA[biq_aA0] = hiquadA[biq_aB0];
|
||||
hiquadA[biq_aA1] = hiquadA[biq_aB1];
|
||||
hiquadA[biq_aA2] = hiquadA[biq_aB2];
|
||||
hiquadA[biq_bA1] = hiquadA[biq_bB1];
|
||||
hiquadA[biq_bA2] = hiquadA[biq_bB2];
|
||||
|
||||
hiquadB[biq_aA0] = hiquadB[biq_aB0];
|
||||
hiquadB[biq_aA1] = hiquadB[biq_aB1];
|
||||
hiquadB[biq_aA2] = hiquadB[biq_aB2];
|
||||
hiquadB[biq_bA1] = hiquadB[biq_bB1];
|
||||
hiquadB[biq_bA2] = hiquadB[biq_bB2];
|
||||
|
||||
hiquadC[biq_aA0] = hiquadC[biq_aB0];
|
||||
hiquadC[biq_aA1] = hiquadC[biq_aB1];
|
||||
hiquadC[biq_aA2] = hiquadC[biq_aB2];
|
||||
hiquadC[biq_bA1] = hiquadC[biq_bB1];
|
||||
hiquadC[biq_bA2] = hiquadC[biq_bB2];
|
||||
|
||||
hiquadD[biq_aA0] = hiquadD[biq_aB0];
|
||||
hiquadD[biq_aA1] = hiquadD[biq_aB1];
|
||||
hiquadD[biq_aA2] = hiquadD[biq_aB2];
|
||||
hiquadD[biq_bA1] = hiquadD[biq_bB1];
|
||||
hiquadD[biq_bA2] = hiquadD[biq_bB2];
|
||||
|
||||
hiquadE[biq_aA0] = hiquadE[biq_aB0];
|
||||
hiquadE[biq_aA1] = hiquadE[biq_aB1];
|
||||
hiquadE[biq_aA2] = hiquadE[biq_aB2];
|
||||
hiquadE[biq_bA1] = hiquadE[biq_bB1];
|
||||
hiquadE[biq_bA2] = hiquadE[biq_bB2];
|
||||
|
||||
hiquadF[biq_aA0] = hiquadF[biq_aB0];
|
||||
hiquadF[biq_aA1] = hiquadF[biq_aB1];
|
||||
hiquadF[biq_aA2] = hiquadF[biq_aB2];
|
||||
hiquadF[biq_bA1] = hiquadF[biq_bB1];
|
||||
hiquadF[biq_bA2] = hiquadF[biq_bB2];
|
||||
|
||||
hiquadG[biq_aA0] = hiquadG[biq_aB0];
|
||||
hiquadG[biq_aA1] = hiquadG[biq_aB1];
|
||||
hiquadG[biq_aA2] = hiquadG[biq_aB2];
|
||||
hiquadG[biq_bA1] = hiquadG[biq_bB1];
|
||||
hiquadG[biq_bA2] = hiquadG[biq_bB2];
|
||||
|
||||
//previous run through the buffer is still in the filter, so we move it
|
||||
//to the A section and now it's the new starting point.
|
||||
double K = tan(M_PI * biquadA[biq_freq]);
|
||||
double norm = 1.0 / (1.0 + K / biquadA[biq_reso] + K * K);
|
||||
biquadA[biq_aB0] = K * K * norm;
|
||||
biquadA[biq_aB1] = 2.0 * biquadA[biq_aB0];
|
||||
biquadA[biq_aB2] = biquadA[biq_aB0];
|
||||
biquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadA[biq_bB2] = (1.0 - K / biquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadB[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadB[biq_reso] + K * K);
|
||||
biquadB[biq_aB0] = K * K * norm;
|
||||
biquadB[biq_aB1] = 2.0 * biquadB[biq_aB0];
|
||||
biquadB[biq_aB2] = biquadB[biq_aB0];
|
||||
biquadB[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadB[biq_bB2] = (1.0 - K / biquadB[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadC[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadC[biq_reso] + K * K);
|
||||
biquadC[biq_aB0] = K * K * norm;
|
||||
biquadC[biq_aB1] = 2.0 * biquadC[biq_aB0];
|
||||
biquadC[biq_aB2] = biquadC[biq_aB0];
|
||||
biquadC[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadC[biq_bB2] = (1.0 - K / biquadC[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadD[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadD[biq_reso] + K * K);
|
||||
biquadD[biq_aB0] = K * K * norm;
|
||||
biquadD[biq_aB1] = 2.0 * biquadD[biq_aB0];
|
||||
biquadD[biq_aB2] = biquadD[biq_aB0];
|
||||
biquadD[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadD[biq_bB2] = (1.0 - K / biquadD[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadE[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadE[biq_reso] + K * K);
|
||||
biquadE[biq_aB0] = K * K * norm;
|
||||
biquadE[biq_aB1] = 2.0 * biquadE[biq_aB0];
|
||||
biquadE[biq_aB2] = biquadE[biq_aB0];
|
||||
biquadE[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadE[biq_bB2] = (1.0 - K / biquadE[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadF[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadF[biq_reso] + K * K);
|
||||
biquadF[biq_aB0] = K * K * norm;
|
||||
biquadF[biq_aB1] = 2.0 * biquadF[biq_aB0];
|
||||
biquadF[biq_aB2] = biquadF[biq_aB0];
|
||||
biquadF[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadF[biq_bB2] = (1.0 - K / biquadF[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * biquadG[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / biquadG[biq_reso] + K * K);
|
||||
biquadG[biq_aB0] = K * K * norm;
|
||||
biquadG[biq_aB1] = 2.0 * biquadG[biq_aB0];
|
||||
biquadG[biq_aB2] = biquadG[biq_aB0];
|
||||
biquadG[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
biquadG[biq_bB2] = (1.0 - K / biquadG[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadA[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadA[biq_reso] + K * K);
|
||||
hiquadA[biq_aB0] = K * K * norm;
|
||||
hiquadA[biq_aB1] = 2.0 * hiquadA[biq_aB0];
|
||||
hiquadA[biq_aB2] = hiquadA[biq_aB0];
|
||||
hiquadA[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadA[biq_bB2] = (1.0 - K / hiquadA[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadB[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadB[biq_reso] + K * K);
|
||||
hiquadB[biq_aB0] = K * K * norm;
|
||||
hiquadB[biq_aB1] = 2.0 * hiquadB[biq_aB0];
|
||||
hiquadB[biq_aB2] = hiquadB[biq_aB0];
|
||||
hiquadB[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadB[biq_bB2] = (1.0 - K / hiquadB[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadC[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadC[biq_reso] + K * K);
|
||||
hiquadC[biq_aB0] = K * K * norm;
|
||||
hiquadC[biq_aB1] = 2.0 * hiquadC[biq_aB0];
|
||||
hiquadC[biq_aB2] = hiquadC[biq_aB0];
|
||||
hiquadC[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadC[biq_bB2] = (1.0 - K / hiquadC[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadD[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadD[biq_reso] + K * K);
|
||||
hiquadD[biq_aB0] = K * K * norm;
|
||||
hiquadD[biq_aB1] = 2.0 * hiquadD[biq_aB0];
|
||||
hiquadD[biq_aB2] = hiquadD[biq_aB0];
|
||||
hiquadD[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadD[biq_bB2] = (1.0 - K / hiquadD[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadE[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadE[biq_reso] + K * K);
|
||||
hiquadE[biq_aB0] = K * K * norm;
|
||||
hiquadE[biq_aB1] = 2.0 * hiquadE[biq_aB0];
|
||||
hiquadE[biq_aB2] = hiquadE[biq_aB0];
|
||||
hiquadE[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadE[biq_bB2] = (1.0 - K / hiquadE[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadF[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadF[biq_reso] + K * K);
|
||||
hiquadF[biq_aB0] = K * K * norm;
|
||||
hiquadF[biq_aB1] = 2.0 * hiquadF[biq_aB0];
|
||||
hiquadF[biq_aB2] = hiquadF[biq_aB0];
|
||||
hiquadF[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadF[biq_bB2] = (1.0 - K / hiquadF[biq_reso] + K * K) * norm;
|
||||
|
||||
K = tan(M_PI * hiquadG[biq_freq]);
|
||||
norm = 1.0 / (1.0 + K / hiquadG[biq_reso] + K * K);
|
||||
hiquadG[biq_aB0] = K * K * norm;
|
||||
hiquadG[biq_aB1] = 2.0 * hiquadG[biq_aB0];
|
||||
hiquadG[biq_aB2] = hiquadG[biq_aB0];
|
||||
hiquadG[biq_bB1] = 2.0 * (K * K - 1.0) * norm;
|
||||
hiquadG[biq_bB2] = (1.0 - K / hiquadG[biq_reso] + K * K) * norm;
|
||||
|
||||
while (nSampleFrames-- > 0) {
|
||||
double inputSample = *sourceP;
|
||||
if (fabs(inputSample)<1.18e-23) inputSample = fpd * 1.18e-17;
|
||||
double drySample = inputSample;
|
||||
|
||||
double temp = (double)nSampleFrames/inFramesToProcess;
|
||||
|
||||
hiquadA[biq_a0] = (hiquadA[biq_aA0]*temp)+(hiquadA[biq_aB0]*(1.0-temp));
|
||||
hiquadA[biq_a1] = (hiquadA[biq_aA1]*temp)+(hiquadA[biq_aB1]*(1.0-temp));
|
||||
hiquadA[biq_a2] = (hiquadA[biq_aA2]*temp)+(hiquadA[biq_aB2]*(1.0-temp));
|
||||
hiquadA[biq_b1] = (hiquadA[biq_bA1]*temp)+(hiquadA[biq_bB1]*(1.0-temp));
|
||||
hiquadA[biq_b2] = (hiquadA[biq_bA2]*temp)+(hiquadA[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadB[biq_a0] = (hiquadB[biq_aA0]*temp)+(hiquadB[biq_aB0]*(1.0-temp));
|
||||
hiquadB[biq_a1] = (hiquadB[biq_aA1]*temp)+(hiquadB[biq_aB1]*(1.0-temp));
|
||||
hiquadB[biq_a2] = (hiquadB[biq_aA2]*temp)+(hiquadB[biq_aB2]*(1.0-temp));
|
||||
hiquadB[biq_b1] = (hiquadB[biq_bA1]*temp)+(hiquadB[biq_bB1]*(1.0-temp));
|
||||
hiquadB[biq_b2] = (hiquadB[biq_bA2]*temp)+(hiquadB[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadC[biq_a0] = (hiquadC[biq_aA0]*temp)+(hiquadC[biq_aB0]*(1.0-temp));
|
||||
hiquadC[biq_a1] = (hiquadC[biq_aA1]*temp)+(hiquadC[biq_aB1]*(1.0-temp));
|
||||
hiquadC[biq_a2] = (hiquadC[biq_aA2]*temp)+(hiquadC[biq_aB2]*(1.0-temp));
|
||||
hiquadC[biq_b1] = (hiquadC[biq_bA1]*temp)+(hiquadC[biq_bB1]*(1.0-temp));
|
||||
hiquadC[biq_b2] = (hiquadC[biq_bA2]*temp)+(hiquadC[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadD[biq_a0] = (hiquadD[biq_aA0]*temp)+(hiquadD[biq_aB0]*(1.0-temp));
|
||||
hiquadD[biq_a1] = (hiquadD[biq_aA1]*temp)+(hiquadD[biq_aB1]*(1.0-temp));
|
||||
hiquadD[biq_a2] = (hiquadD[biq_aA2]*temp)+(hiquadD[biq_aB2]*(1.0-temp));
|
||||
hiquadD[biq_b1] = (hiquadD[biq_bA1]*temp)+(hiquadD[biq_bB1]*(1.0-temp));
|
||||
hiquadD[biq_b2] = (hiquadD[biq_bA2]*temp)+(hiquadD[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadE[biq_a0] = (hiquadE[biq_aA0]*temp)+(hiquadE[biq_aB0]*(1.0-temp));
|
||||
hiquadE[biq_a1] = (hiquadE[biq_aA1]*temp)+(hiquadE[biq_aB1]*(1.0-temp));
|
||||
hiquadE[biq_a2] = (hiquadE[biq_aA2]*temp)+(hiquadE[biq_aB2]*(1.0-temp));
|
||||
hiquadE[biq_b1] = (hiquadE[biq_bA1]*temp)+(hiquadE[biq_bB1]*(1.0-temp));
|
||||
hiquadE[biq_b2] = (hiquadE[biq_bA2]*temp)+(hiquadE[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadF[biq_a0] = (hiquadF[biq_aA0]*temp)+(hiquadF[biq_aB0]*(1.0-temp));
|
||||
hiquadF[biq_a1] = (hiquadF[biq_aA1]*temp)+(hiquadF[biq_aB1]*(1.0-temp));
|
||||
hiquadF[biq_a2] = (hiquadF[biq_aA2]*temp)+(hiquadF[biq_aB2]*(1.0-temp));
|
||||
hiquadF[biq_b1] = (hiquadF[biq_bA1]*temp)+(hiquadF[biq_bB1]*(1.0-temp));
|
||||
hiquadF[biq_b2] = (hiquadF[biq_bA2]*temp)+(hiquadF[biq_bB2]*(1.0-temp));
|
||||
|
||||
hiquadG[biq_a0] = (hiquadG[biq_aA0]*temp)+(hiquadG[biq_aB0]*(1.0-temp));
|
||||
hiquadG[biq_a1] = (hiquadG[biq_aA1]*temp)+(hiquadG[biq_aB1]*(1.0-temp));
|
||||
hiquadG[biq_a2] = (hiquadG[biq_aA2]*temp)+(hiquadG[biq_aB2]*(1.0-temp));
|
||||
hiquadG[biq_b1] = (hiquadG[biq_bA1]*temp)+(hiquadG[biq_bB1]*(1.0-temp));
|
||||
hiquadG[biq_b2] = (hiquadG[biq_bA2]*temp)+(hiquadG[biq_bB2]*(1.0-temp));
|
||||
//this is the interpolation code for the hiquad
|
||||
|
||||
double outSample = (inputSample * hiquadA[biq_a0]) + hiquadA[biq_sL1];
|
||||
hiquadA[biq_sL1] = (inputSample * hiquadA[biq_a1]) - (outSample * hiquadA[biq_b1]) + hiquadA[biq_sL2];
|
||||
hiquadA[biq_sL2] = (inputSample * hiquadA[biq_a2]) - (outSample * hiquadA[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadB[biq_a0]) + hiquadB[biq_sL1];
|
||||
hiquadB[biq_sL1] = (inputSample * hiquadB[biq_a1]) - (outSample * hiquadB[biq_b1]) + hiquadB[biq_sL2];
|
||||
hiquadB[biq_sL2] = (inputSample * hiquadB[biq_a2]) - (outSample * hiquadB[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadC[biq_a0]) + hiquadC[biq_sL1];
|
||||
hiquadC[biq_sL1] = (inputSample * hiquadC[biq_a1]) - (outSample * hiquadC[biq_b1]) + hiquadC[biq_sL2];
|
||||
hiquadC[biq_sL2] = (inputSample * hiquadC[biq_a2]) - (outSample * hiquadC[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadD[biq_a0]) + hiquadD[biq_sL1];
|
||||
hiquadD[biq_sL1] = (inputSample * hiquadD[biq_a1]) - (outSample * hiquadD[biq_b1]) + hiquadD[biq_sL2];
|
||||
hiquadD[biq_sL2] = (inputSample * hiquadD[biq_a2]) - (outSample * hiquadD[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadE[biq_a0]) + hiquadE[biq_sL1];
|
||||
hiquadE[biq_sL1] = (inputSample * hiquadE[biq_a1]) - (outSample * hiquadE[biq_b1]) + hiquadE[biq_sL2];
|
||||
hiquadE[biq_sL2] = (inputSample * hiquadE[biq_a2]) - (outSample * hiquadE[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadF[biq_a0]) + hiquadF[biq_sL1];
|
||||
hiquadF[biq_sL1] = (inputSample * hiquadF[biq_a1]) - (outSample * hiquadF[biq_b1]) + hiquadF[biq_sL2];
|
||||
hiquadF[biq_sL2] = (inputSample * hiquadF[biq_a2]) - (outSample * hiquadF[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * hiquadG[biq_a0]) + hiquadG[biq_sL1];
|
||||
hiquadG[biq_sL1] = (inputSample * hiquadG[biq_a1]) - (outSample * hiquadG[biq_b1]) + hiquadG[biq_sL2];
|
||||
hiquadG[biq_sL2] = (inputSample * hiquadG[biq_a2]) - (outSample * hiquadG[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
inputSample = (drySample - inputSample);
|
||||
|
||||
biquadA[biq_a0] = (biquadA[biq_aA0]*temp)+(biquadA[biq_aB0]*(1.0-temp));
|
||||
biquadA[biq_a1] = (biquadA[biq_aA1]*temp)+(biquadA[biq_aB1]*(1.0-temp));
|
||||
biquadA[biq_a2] = (biquadA[biq_aA2]*temp)+(biquadA[biq_aB2]*(1.0-temp));
|
||||
biquadA[biq_b1] = (biquadA[biq_bA1]*temp)+(biquadA[biq_bB1]*(1.0-temp));
|
||||
biquadA[biq_b2] = (biquadA[biq_bA2]*temp)+(biquadA[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadB[biq_a0] = (biquadB[biq_aA0]*temp)+(biquadB[biq_aB0]*(1.0-temp));
|
||||
biquadB[biq_a1] = (biquadB[biq_aA1]*temp)+(biquadB[biq_aB1]*(1.0-temp));
|
||||
biquadB[biq_a2] = (biquadB[biq_aA2]*temp)+(biquadB[biq_aB2]*(1.0-temp));
|
||||
biquadB[biq_b1] = (biquadB[biq_bA1]*temp)+(biquadB[biq_bB1]*(1.0-temp));
|
||||
biquadB[biq_b2] = (biquadB[biq_bA2]*temp)+(biquadB[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadC[biq_a0] = (biquadC[biq_aA0]*temp)+(biquadC[biq_aB0]*(1.0-temp));
|
||||
biquadC[biq_a1] = (biquadC[biq_aA1]*temp)+(biquadC[biq_aB1]*(1.0-temp));
|
||||
biquadC[biq_a2] = (biquadC[biq_aA2]*temp)+(biquadC[biq_aB2]*(1.0-temp));
|
||||
biquadC[biq_b1] = (biquadC[biq_bA1]*temp)+(biquadC[biq_bB1]*(1.0-temp));
|
||||
biquadC[biq_b2] = (biquadC[biq_bA2]*temp)+(biquadC[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadD[biq_a0] = (biquadD[biq_aA0]*temp)+(biquadD[biq_aB0]*(1.0-temp));
|
||||
biquadD[biq_a1] = (biquadD[biq_aA1]*temp)+(biquadD[biq_aB1]*(1.0-temp));
|
||||
biquadD[biq_a2] = (biquadD[biq_aA2]*temp)+(biquadD[biq_aB2]*(1.0-temp));
|
||||
biquadD[biq_b1] = (biquadD[biq_bA1]*temp)+(biquadD[biq_bB1]*(1.0-temp));
|
||||
biquadD[biq_b2] = (biquadD[biq_bA2]*temp)+(biquadD[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadE[biq_a0] = (biquadE[biq_aA0]*temp)+(biquadE[biq_aB0]*(1.0-temp));
|
||||
biquadE[biq_a1] = (biquadE[biq_aA1]*temp)+(biquadE[biq_aB1]*(1.0-temp));
|
||||
biquadE[biq_a2] = (biquadE[biq_aA2]*temp)+(biquadE[biq_aB2]*(1.0-temp));
|
||||
biquadE[biq_b1] = (biquadE[biq_bA1]*temp)+(biquadE[biq_bB1]*(1.0-temp));
|
||||
biquadE[biq_b2] = (biquadE[biq_bA2]*temp)+(biquadE[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadF[biq_a0] = (biquadF[biq_aA0]*temp)+(biquadF[biq_aB0]*(1.0-temp));
|
||||
biquadF[biq_a1] = (biquadF[biq_aA1]*temp)+(biquadF[biq_aB1]*(1.0-temp));
|
||||
biquadF[biq_a2] = (biquadF[biq_aA2]*temp)+(biquadF[biq_aB2]*(1.0-temp));
|
||||
biquadF[biq_b1] = (biquadF[biq_bA1]*temp)+(biquadF[biq_bB1]*(1.0-temp));
|
||||
biquadF[biq_b2] = (biquadF[biq_bA2]*temp)+(biquadF[biq_bB2]*(1.0-temp));
|
||||
|
||||
biquadG[biq_a0] = (biquadG[biq_aA0]*temp)+(biquadG[biq_aB0]*(1.0-temp));
|
||||
biquadG[biq_a1] = (biquadG[biq_aA1]*temp)+(biquadG[biq_aB1]*(1.0-temp));
|
||||
biquadG[biq_a2] = (biquadG[biq_aA2]*temp)+(biquadG[biq_aB2]*(1.0-temp));
|
||||
biquadG[biq_b1] = (biquadG[biq_bA1]*temp)+(biquadG[biq_bB1]*(1.0-temp));
|
||||
biquadG[biq_b2] = (biquadG[biq_bA2]*temp)+(biquadG[biq_bB2]*(1.0-temp));
|
||||
//this is the interpolation code for the biquad
|
||||
|
||||
outSample = (inputSample * biquadA[biq_a0]) + biquadA[biq_sL1];
|
||||
biquadA[biq_sL1] = (inputSample * biquadA[biq_a1]) - (outSample * biquadA[biq_b1]) + biquadA[biq_sL2];
|
||||
biquadA[biq_sL2] = (inputSample * biquadA[biq_a2]) - (outSample * biquadA[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadB[biq_a0]) + biquadB[biq_sL1];
|
||||
biquadB[biq_sL1] = (inputSample * biquadB[biq_a1]) - (outSample * biquadB[biq_b1]) + biquadB[biq_sL2];
|
||||
biquadB[biq_sL2] = (inputSample * biquadB[biq_a2]) - (outSample * biquadB[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadC[biq_a0]) + biquadC[biq_sL1];
|
||||
biquadC[biq_sL1] = (inputSample * biquadC[biq_a1]) - (outSample * biquadC[biq_b1]) + biquadC[biq_sL2];
|
||||
biquadC[biq_sL2] = (inputSample * biquadC[biq_a2]) - (outSample * biquadC[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadD[biq_a0]) + biquadD[biq_sL1];
|
||||
biquadD[biq_sL1] = (inputSample * biquadD[biq_a1]) - (outSample * biquadD[biq_b1]) + biquadD[biq_sL2];
|
||||
biquadD[biq_sL2] = (inputSample * biquadD[biq_a2]) - (outSample * biquadD[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadE[biq_a0]) + biquadE[biq_sL1];
|
||||
biquadE[biq_sL1] = (inputSample * biquadE[biq_a1]) - (outSample * biquadE[biq_b1]) + biquadE[biq_sL2];
|
||||
biquadE[biq_sL2] = (inputSample * biquadE[biq_a2]) - (outSample * biquadE[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadF[biq_a0]) + biquadF[biq_sL1];
|
||||
biquadF[biq_sL1] = (inputSample * biquadF[biq_a1]) - (outSample * biquadF[biq_b1]) + biquadF[biq_sL2];
|
||||
biquadF[biq_sL2] = (inputSample * biquadF[biq_a2]) - (outSample * biquadF[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
outSample = (inputSample * biquadG[biq_a0]) + biquadG[biq_sL1];
|
||||
biquadG[biq_sL1] = (inputSample * biquadG[biq_a1]) - (outSample * biquadG[biq_b1]) + biquadG[biq_sL2];
|
||||
biquadG[biq_sL2] = (inputSample * biquadG[biq_a2]) - (outSample * biquadG[biq_b2]);
|
||||
inputSample = outSample;
|
||||
|
||||
|
||||
//begin ClipOnly2 as a little, compressed chunk that can be dropped into code
|
||||
if (inputSample > 4.0) inputSample = 4.0; if (inputSample < -4.0) inputSample = -4.0;
|
||||
if (wasPosClipL == true) { //current will be over
|
||||
if (inputSample<lastSampleL) lastSampleL=0.7058208+(inputSample*0.2609148);
|
||||
else lastSampleL = 0.2491717+(lastSampleL*0.7390851);
|
||||
} wasPosClipL = false;
|
||||
if (inputSample>0.9549925859) {wasPosClipL=true;inputSample=0.7058208+(lastSampleL*0.2609148);}
|
||||
if (wasNegClipL == true) { //current will be -over
|
||||
if (inputSample > lastSampleL) lastSampleL=-0.7058208+(inputSample*0.2609148);
|
||||
else lastSampleL=-0.2491717+(lastSampleL*0.7390851);
|
||||
} wasNegClipL = false;
|
||||
if (inputSample<-0.9549925859) {wasNegClipL=true;inputSample=-0.7058208+(lastSampleL*0.2609148);}
|
||||
intermediateL[spacing] = inputSample;
|
||||
inputSample = lastSampleL; //Latency is however many samples equals one 44.1k sample
|
||||
for (int x = spacing; x > 0; x--) intermediateL[x-1] = intermediateL[x];
|
||||
lastSampleL = intermediateL[0]; //run a little buffer to handle this
|
||||
//end ClipOnly2 as a little, compressed chunk that can be dropped into code
|
||||
|
||||
//begin 32 bit floating point dither
|
||||
int expon; frexpf((float)inputSample, &expon);
|
||||
fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5;
|
||||
inputSample += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62));
|
||||
//end 32 bit floating point dither
|
||||
|
||||
*destP = inputSample;
|
||||
|
||||
sourceP += inNumChannels; destP += inNumChannels;
|
||||
}
|
||||
}
|
||||
|
||||
2
plugins/MacSignedAU/Isolator3/Isolator3.exp
Executable file
2
plugins/MacSignedAU/Isolator3/Isolator3.exp
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
_Isolator3Entry
|
||||
_Isolator3Factory
|
||||
181
plugins/MacSignedAU/Isolator3/Isolator3.h
Executable file
181
plugins/MacSignedAU/Isolator3/Isolator3.h
Executable file
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* File: Isolator3.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 "Isolator3Version.h"
|
||||
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
#include "AUDebugDispatcher.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __Isolator3_h__
|
||||
#define __Isolator3_h__
|
||||
|
||||
|
||||
#pragma mark ____Isolator3 Parameters
|
||||
|
||||
// parameters
|
||||
static const float kDefaultValue_ParamA = 0.5;
|
||||
static const float kDefaultValue_ParamB = 0.0;
|
||||
|
||||
static CFStringRef kParameterAName = CFSTR("Iso");
|
||||
static CFStringRef kParameterBName = CFSTR("Q");
|
||||
|
||||
enum {
|
||||
kParam_A =0,
|
||||
kParam_B =1,
|
||||
//Add your parameters here...
|
||||
kNumberOfParameters=2
|
||||
};
|
||||
|
||||
#pragma mark ____Isolator3
|
||||
class Isolator3 : public AUEffectBase
|
||||
{
|
||||
public:
|
||||
Isolator3(AudioUnit component);
|
||||
#if AU_DEBUG_DISPATCHER
|
||||
virtual ~Isolator3 () { delete mDebugDispatcher; }
|
||||
#endif
|
||||
|
||||
virtual AUKernelBase * NewKernel() { return new Isolator3Kernel(this); }
|
||||
|
||||
virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
CFArrayRef * outStrings);
|
||||
|
||||
virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
|
||||
AudioUnitParameterID inParameterID,
|
||||
AudioUnitParameterInfo &outParameterInfo);
|
||||
|
||||
virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
UInt32 & outDataSize,
|
||||
Boolean & outWritable );
|
||||
|
||||
virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
|
||||
AudioUnitScope inScope,
|
||||
AudioUnitElement inElement,
|
||||
void * outData);
|
||||
|
||||
virtual ComponentResult Initialize();
|
||||
virtual bool SupportsTail () { return true; }
|
||||
virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
|
||||
virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
|
||||
|
||||
/*! @method Version */
|
||||
virtual ComponentResult Version() { return kIsolator3Version; }
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
class Isolator3Kernel : public AUKernelBase // most of the real work happens here
|
||||
{
|
||||
public:
|
||||
Isolator3Kernel(AUEffectBase *inAudioUnit )
|
||||
: AUKernelBase(inAudioUnit)
|
||||
{
|
||||
}
|
||||
|
||||
// *Required* overides for the process method for this effect
|
||||
// processes one channel of interleaved samples
|
||||
virtual void Process( const Float32 *inSourceP,
|
||||
Float32 *inDestP,
|
||||
UInt32 inFramesToProcess,
|
||||
UInt32 inNumChannels,
|
||||
bool &ioSilence);
|
||||
|
||||
virtual void Reset();
|
||||
|
||||
private:
|
||||
enum {
|
||||
biq_freq,
|
||||
biq_reso,
|
||||
biq_a0,
|
||||
biq_a1,
|
||||
biq_a2,
|
||||
biq_b1,
|
||||
biq_b2,
|
||||
biq_aA0,
|
||||
biq_aA1,
|
||||
biq_aA2,
|
||||
biq_bA1,
|
||||
biq_bA2,
|
||||
biq_aB0,
|
||||
biq_aB1,
|
||||
biq_aB2,
|
||||
biq_bB1,
|
||||
biq_bB2,
|
||||
biq_sL1,
|
||||
biq_sL2,
|
||||
biq_sR1,
|
||||
biq_sR2,
|
||||
biq_total
|
||||
}; //coefficient interpolating biquad filter, stereo
|
||||
double biquadA[biq_total];
|
||||
double biquadB[biq_total];
|
||||
double biquadC[biq_total];
|
||||
double biquadD[biq_total];
|
||||
double biquadE[biq_total];
|
||||
double biquadF[biq_total];
|
||||
double biquadG[biq_total];
|
||||
double hiquadA[biq_total];
|
||||
double hiquadB[biq_total];
|
||||
double hiquadC[biq_total];
|
||||
double hiquadD[biq_total];
|
||||
double hiquadE[biq_total];
|
||||
double hiquadF[biq_total];
|
||||
double hiquadG[biq_total];
|
||||
|
||||
double lastSampleL;
|
||||
double intermediateL[16];
|
||||
bool wasPosClipL;
|
||||
bool wasNegClipL;
|
||||
|
||||
uint32_t fpd;
|
||||
};
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
#endif
|
||||
61
plugins/MacSignedAU/Isolator3/Isolator3.r
Executable file
61
plugins/MacSignedAU/Isolator3/Isolator3.r
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: Isolator3.r
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 <AudioUnit/AudioUnit.r>
|
||||
|
||||
#include "Isolator3Version.h"
|
||||
|
||||
// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
|
||||
#define kAudioUnitResID_Isolator3 1000
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Isolator3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#define RES_ID kAudioUnitResID_Isolator3
|
||||
#define COMP_TYPE kAudioUnitType_Effect
|
||||
#define COMP_SUBTYPE Isolator3_COMP_SUBTYPE
|
||||
#define COMP_MANUF Isolator3_COMP_MANF
|
||||
|
||||
#define VERSION kIsolator3Version
|
||||
#define NAME "Airwindows: Isolator3"
|
||||
#define DESCRIPTION "Isolator3 AU"
|
||||
#define ENTRY_POINT "Isolator3Entry"
|
||||
|
||||
#include "AUResources.r"
|
||||
1358
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.mode1v3
Executable file
1358
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
137
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
137
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,137 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Isolator3 */;
|
||||
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
292,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
252,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 745439533;
|
||||
PBXWorkspaceStateSaveDate = 745439533;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
8BF640762C6E5F94001BB3AB /* PlistBookmark */ = 8BF640762C6E5F94001BB3AB /* PlistBookmark */;
|
||||
8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */ = 8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */;
|
||||
8BF641582C6E840F001BB3AB /* PBXTextBookmark */ = 8BF641582C6E840F001BB3AB /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1290, 11160}}";
|
||||
sepNavSelRange = "{9421, 0}";
|
||||
sepNavVisRange = "{18874, 606}";
|
||||
sepNavWindowFrame = "{{645, 85}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1151, 1062}}";
|
||||
sepNavSelRange = "{2906, 0}";
|
||||
sepNavVisRange = "{1270, 1699}";
|
||||
sepNavWindowFrame = "{{15, 80}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1151, 3258}}";
|
||||
sepNavSelRange = "{5850, 93}";
|
||||
sepNavVisRange = "{5289, 779}";
|
||||
sepNavWindowFrame = "{{922, 85}, {1198, 793}}";
|
||||
};
|
||||
};
|
||||
8BD3CCB8148830B20062E48C /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8BD3CCB9148830B20062E48C /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8BF640762C6E5F94001BB3AB /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
CFBundleName,
|
||||
);
|
||||
name = /Users/christopherjohnson/Desktop/Isolator3/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 9223372036854775808;
|
||||
};
|
||||
8BF641102C6E7CD0001BB3AB /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Isolator3.cpp */;
|
||||
name = "Isolator3.cpp: 220";
|
||||
rLen = 0;
|
||||
rLoc = 9421;
|
||||
rType = 0;
|
||||
vrLen = 681;
|
||||
vrLoc = 18874;
|
||||
};
|
||||
8BF641582C6E840F001BB3AB /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 8BA05A660720730100365D66 /* Isolator3.cpp */;
|
||||
name = "Isolator3.cpp: 220";
|
||||
rLen = 0;
|
||||
rLoc = 9421;
|
||||
rType = 0;
|
||||
vrLen = 606;
|
||||
vrLoc = 18874;
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1507
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
1507
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
965
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
965
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,965 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8B2406182C6E99E200D7FA27 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405902C6E99E200D7FA27 /* CAExtAudioFile.h */; };
|
||||
8B2406192C6E99E200D7FA27 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405912C6E99E200D7FA27 /* CACFMachPort.h */; };
|
||||
8B24061A2C6E99E200D7FA27 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405922C6E99E200D7FA27 /* CABool.h */; };
|
||||
8B24061B2C6E99E200D7FA27 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405932C6E99E200D7FA27 /* CAComponent.cpp */; };
|
||||
8B24061C2C6E99E200D7FA27 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405942C6E99E200D7FA27 /* CADebugger.h */; };
|
||||
8B24061D2C6E99E200D7FA27 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405952C6E99E200D7FA27 /* CACFNumber.cpp */; };
|
||||
8B24061E2C6E99E200D7FA27 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405962C6E99E200D7FA27 /* CAGuard.h */; };
|
||||
8B24061F2C6E99E200D7FA27 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405972C6E99E200D7FA27 /* CAAtomic.h */; };
|
||||
8B2406202C6E99E200D7FA27 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405982C6E99E200D7FA27 /* CAStreamBasicDescription.h */; };
|
||||
8B2406212C6E99E200D7FA27 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405992C6E99E200D7FA27 /* CACFObject.h */; };
|
||||
8B2406222C6E99E200D7FA27 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059A2C6E99E200D7FA27 /* CAStreamRangedDescription.h */; };
|
||||
8B2406232C6E99E200D7FA27 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059B2C6E99E200D7FA27 /* CATokenMap.h */; };
|
||||
8B2406242C6E99E200D7FA27 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059C2C6E99E200D7FA27 /* CAComponent.h */; };
|
||||
8B2406252C6E99E200D7FA27 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059D2C6E99E200D7FA27 /* CAAudioBufferList.h */; };
|
||||
8B2406262C6E99E200D7FA27 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059E2C6E99E200D7FA27 /* CAAudioUnit.h */; };
|
||||
8B2406272C6E99E200D7FA27 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24059F2C6E99E200D7FA27 /* CAAUParameter.h */; };
|
||||
8B2406282C6E99E200D7FA27 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A02C6E99E200D7FA27 /* CAException.h */; };
|
||||
8B2406292C6E99E200D7FA27 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405A12C6E99E200D7FA27 /* CAAUProcessor.cpp */; };
|
||||
8B24062A2C6E99E200D7FA27 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A22C6E99E200D7FA27 /* CAAUProcessor.h */; };
|
||||
8B24062B2C6E99E200D7FA27 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A32C6E99E200D7FA27 /* CAProcess.h */; };
|
||||
8B24062C2C6E99E200D7FA27 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A42C6E99E200D7FA27 /* CACFDictionary.h */; };
|
||||
8B24062D2C6E99E200D7FA27 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A52C6E99E200D7FA27 /* CAPThread.h */; };
|
||||
8B24062E2C6E99E200D7FA27 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405A62C6E99E200D7FA27 /* CAAUParameter.cpp */; };
|
||||
8B24062F2C6E99E200D7FA27 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A72C6E99E200D7FA27 /* CAAudioTimeStamp.h */; };
|
||||
8B2406302C6E99E200D7FA27 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405A82C6E99E200D7FA27 /* CAFilePathUtils.cpp */; };
|
||||
8B2406312C6E99E200D7FA27 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405A92C6E99E200D7FA27 /* CAAudioValueRange.h */; };
|
||||
8B2406322C6E99E200D7FA27 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405AA2C6E99E200D7FA27 /* CAVectorUnitTypes.h */; };
|
||||
8B2406332C6E99E200D7FA27 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405AB2C6E99E200D7FA27 /* CAAudioChannelLayoutObject.cpp */; };
|
||||
8B2406342C6E99E200D7FA27 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405AC2C6E99E200D7FA27 /* CAGuard.cpp */; };
|
||||
8B2406352C6E99E200D7FA27 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405AD2C6E99E200D7FA27 /* CACFNumber.h */; };
|
||||
8B2406362C6E99E200D7FA27 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405AE2C6E99E200D7FA27 /* CACFDistributedNotification.cpp */; };
|
||||
8B2406372C6E99E200D7FA27 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405AF2C6E99E200D7FA27 /* CACFString.h */; };
|
||||
8B2406382C6E99E200D7FA27 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405B02C6E99E200D7FA27 /* CAAUMIDIMapManager.cpp */; };
|
||||
8B2406392C6E99E200D7FA27 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405B12C6E99E200D7FA27 /* CAComponentDescription.cpp */; };
|
||||
8B24063A2C6E99E200D7FA27 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405B22C6E99E200D7FA27 /* CAHostTimeBase.h */; };
|
||||
8B24063B2C6E99E200D7FA27 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405B32C6E99E200D7FA27 /* CADebugMacros.cpp */; };
|
||||
8B24063C2C6E99E200D7FA27 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405B42C6E99E200D7FA27 /* CAAudioFileFormats.h */; };
|
||||
8B24063D2C6E99E200D7FA27 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405B52C6E99E200D7FA27 /* CAAUMIDIMapManager.h */; };
|
||||
8B24063E2C6E99E200D7FA27 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405B62C6E99E200D7FA27 /* CACFDictionary.cpp */; };
|
||||
8B24063F2C6E99E200D7FA27 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405B72C6E99E200D7FA27 /* CAMutex.h */; };
|
||||
8B2406402C6E99E200D7FA27 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405B82C6E99E200D7FA27 /* CACFString.cpp */; };
|
||||
8B2406412C6E99E200D7FA27 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405B92C6E99E200D7FA27 /* CASettingsStorage.h */; };
|
||||
8B2406422C6E99E200D7FA27 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405BA2C6E99E200D7FA27 /* CADebugPrintf.h */; };
|
||||
8B2406432C6E99E200D7FA27 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405BB2C6E99E200D7FA27 /* CAXException.cpp */; };
|
||||
8B2406442C6E99E200D7FA27 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405BC2C6E99E200D7FA27 /* CAAUMIDIMap.h */; };
|
||||
8B2406452C6E99E200D7FA27 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405BD2C6E99E200D7FA27 /* AUParamInfo.h */; };
|
||||
8B2406462C6E99E200D7FA27 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405BE2C6E99E200D7FA27 /* CABitOperations.h */; };
|
||||
8B2406472C6E99E200D7FA27 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405BF2C6E99E200D7FA27 /* CACFPreferences.cpp */; };
|
||||
8B2406482C6E99E200D7FA27 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C02C6E99E200D7FA27 /* CABundleLocker.h */; };
|
||||
8B2406492C6E99E200D7FA27 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C12C6E99E200D7FA27 /* CAPropertyAddress.h */; };
|
||||
8B24064A2C6E99E200D7FA27 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C22C6E99E200D7FA27 /* CAXException.h */; };
|
||||
8B24064B2C6E99E200D7FA27 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405C32C6E99E200D7FA27 /* CAAudioChannelLayout.cpp */; };
|
||||
8B24064C2C6E99E200D7FA27 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C42C6E99E200D7FA27 /* CAThreadSafeList.h */; };
|
||||
8B24064D2C6E99E200D7FA27 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C52C6E99E200D7FA27 /* CAAudioUnitOutputCapturer.h */; };
|
||||
8B24064E2C6E99E200D7FA27 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405C62C6E99E200D7FA27 /* AUParamInfo.cpp */; };
|
||||
8B24064F2C6E99E200D7FA27 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405C72C6E99E200D7FA27 /* CASharedLibrary.cpp */; };
|
||||
8B2406502C6E99E200D7FA27 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405C82C6E99E200D7FA27 /* CAAUMIDIMap.cpp */; };
|
||||
8B2406512C6E99E200D7FA27 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405C92C6E99E200D7FA27 /* CALogMacros.h */; };
|
||||
8B2406522C6E99E200D7FA27 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405CA2C6E99E200D7FA27 /* CACFMessagePort.cpp */; };
|
||||
8B2406532C6E99E200D7FA27 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405CB2C6E99E200D7FA27 /* CARingBuffer.h */; };
|
||||
8B2406542C6E99E200D7FA27 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405CC2C6E99E200D7FA27 /* AUOutputBL.cpp */; };
|
||||
8B2406552C6E99E200D7FA27 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405CD2C6E99E200D7FA27 /* CABufferList.h */; };
|
||||
8B2406562C6E99E200D7FA27 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405CE2C6E99E200D7FA27 /* CASharedLibrary.h */; };
|
||||
8B2406572C6E99E200D7FA27 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405CF2C6E99E200D7FA27 /* CACFData.h */; };
|
||||
8B2406582C6E99E200D7FA27 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405D02C6E99E200D7FA27 /* CAStreamRangedDescription.cpp */; };
|
||||
8B2406592C6E99E200D7FA27 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405D12C6E99E200D7FA27 /* CAPThread.cpp */; };
|
||||
8B24065A2C6E99E200D7FA27 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405D22C6E99E200D7FA27 /* CAAutoDisposer.h */; };
|
||||
8B24065B2C6E99E200D7FA27 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405D32C6E99E200D7FA27 /* CACFPreferences.h */; };
|
||||
8B24065C2C6E99E200D7FA27 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405D42C6E99E200D7FA27 /* CAVectorUnit.cpp */; };
|
||||
8B24065D2C6E99E200D7FA27 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405D52C6E99E200D7FA27 /* CAComponentDescription.h */; };
|
||||
8B24065E2C6E99E200D7FA27 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405D62C6E99E200D7FA27 /* CADebugMacros.h */; };
|
||||
8B24065F2C6E99E200D7FA27 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405D72C6E99E200D7FA27 /* AUOutputBL.h */; };
|
||||
8B2406602C6E99E200D7FA27 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405D82C6E99E200D7FA27 /* CADebugPrintf.cpp */; };
|
||||
8B2406612C6E99E200D7FA27 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405D92C6E99E200D7FA27 /* CARingBuffer.cpp */; };
|
||||
8B2406622C6E99E200D7FA27 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405DA2C6E99E200D7FA27 /* CACFPlugIn.h */; };
|
||||
8B2406632C6E99E200D7FA27 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405DB2C6E99E200D7FA27 /* CASettingsStorage.cpp */; };
|
||||
8B2406642C6E99E200D7FA27 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405DC2C6E99E200D7FA27 /* CAMixMap.h */; };
|
||||
8B2406652C6E99E200D7FA27 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405DD2C6E99E200D7FA27 /* CACFDistributedNotification.h */; };
|
||||
8B2406662C6E99E200D7FA27 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405DE2C6E99E200D7FA27 /* CAFilePathUtils.h */; };
|
||||
8B2406672C6E99E200D7FA27 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405DF2C6E99E200D7FA27 /* CATink.h */; };
|
||||
8B2406682C6E99E200D7FA27 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E02C6E99E200D7FA27 /* CAStreamBasicDescription.cpp */; };
|
||||
8B2406692C6E99E200D7FA27 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405E12C6E99E200D7FA27 /* CAAudioChannelLayout.h */; };
|
||||
8B24066A2C6E99E200D7FA27 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E22C6E99E200D7FA27 /* CAProcess.cpp */; };
|
||||
8B24066B2C6E99E200D7FA27 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E32C6E99E200D7FA27 /* CAHostTimeBase.cpp */; };
|
||||
8B24066C2C6E99E200D7FA27 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E42C6E99E200D7FA27 /* CAPersistence.cpp */; };
|
||||
8B24066D2C6E99E200D7FA27 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E52C6E99E200D7FA27 /* CAAudioBufferList.cpp */; };
|
||||
8B24066E2C6E99E200D7FA27 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405E62C6E99E200D7FA27 /* CAAudioTimeStamp.cpp */; };
|
||||
8B24066F2C6E99E200D7FA27 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405E72C6E99E200D7FA27 /* CAVectorUnit.h */; };
|
||||
8B2406702C6E99E200D7FA27 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405E82C6E99E200D7FA27 /* CAByteOrder.h */; };
|
||||
8B2406712C6E99E200D7FA27 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405E92C6E99E200D7FA27 /* CACFArray.h */; };
|
||||
8B2406722C6E99E200D7FA27 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405EA2C6E99E200D7FA27 /* CAAtomicStack.h */; };
|
||||
8B2406732C6E99E200D7FA27 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405EB2C6E99E200D7FA27 /* CAReferenceCounted.h */; };
|
||||
8B2406742C6E99E200D7FA27 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405EC2C6E99E200D7FA27 /* CACFMachPort.cpp */; };
|
||||
8B2406752C6E99E200D7FA27 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405ED2C6E99E200D7FA27 /* CABufferList.cpp */; };
|
||||
8B2406762C6E99E200D7FA27 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405EE2C6E99E200D7FA27 /* CAMutex.cpp */; };
|
||||
8B2406772C6E99E200D7FA27 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405EF2C6E99E200D7FA27 /* CADebugger.cpp */; };
|
||||
8B2406782C6E99E200D7FA27 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405F02C6E99E200D7FA27 /* CABundleLocker.cpp */; };
|
||||
8B2406792C6E99E200D7FA27 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405F12C6E99E200D7FA27 /* CAAudioFileFormats.cpp */; };
|
||||
8B24067A2C6E99E200D7FA27 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405F22C6E99E200D7FA27 /* CAMath.h */; };
|
||||
8B24067B2C6E99E200D7FA27 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405F32C6E99E200D7FA27 /* CACFArray.cpp */; };
|
||||
8B24067C2C6E99E200D7FA27 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405F42C6E99E200D7FA27 /* CACFMessagePort.h */; };
|
||||
8B24067D2C6E99E200D7FA27 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405F52C6E99E200D7FA27 /* CAAudioValueRange.cpp */; };
|
||||
8B24067E2C6E99E200D7FA27 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405F62C6E99E200D7FA27 /* CAAudioUnit.cpp */; };
|
||||
8B24067F2C6E99E200D7FA27 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405FA2C6E99E200D7FA27 /* AUViewLocalizedStringKeys.h */; };
|
||||
8B2406802C6E99E200D7FA27 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405FC2C6E99E200D7FA27 /* ComponentBase.cpp */; };
|
||||
8B2406812C6E99E200D7FA27 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405FD2C6E99E200D7FA27 /* AUScopeElement.cpp */; };
|
||||
8B2406822C6E99E200D7FA27 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2405FE2C6E99E200D7FA27 /* ComponentBase.h */; };
|
||||
8B2406832C6E99E200D7FA27 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2405FF2C6E99E200D7FA27 /* AUBase.cpp */; };
|
||||
8B2406842C6E99E200D7FA27 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406002C6E99E200D7FA27 /* AUInputElement.h */; };
|
||||
8B2406852C6E99E200D7FA27 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406012C6E99E200D7FA27 /* AUBase.h */; };
|
||||
8B2406862C6E99E200D7FA27 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406022C6E99E200D7FA27 /* AUPlugInDispatch.h */; };
|
||||
8B2406872C6E99E200D7FA27 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406032C6E99E200D7FA27 /* AUDispatch.h */; };
|
||||
8B2406882C6E99E200D7FA27 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406042C6E99E200D7FA27 /* AUOutputElement.cpp */; };
|
||||
8B24068A2C6E99E200D7FA27 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406062C6E99E200D7FA27 /* AUPlugInDispatch.cpp */; };
|
||||
8B24068B2C6E99E200D7FA27 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406072C6E99E200D7FA27 /* AUOutputElement.h */; };
|
||||
8B24068C2C6E99E200D7FA27 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406082C6E99E200D7FA27 /* AUDispatch.cpp */; };
|
||||
8B24068D2C6E99E200D7FA27 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406092C6E99E200D7FA27 /* AUScopeElement.h */; };
|
||||
8B24068E2C6E99E200D7FA27 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B24060A2C6E99E200D7FA27 /* AUInputElement.cpp */; };
|
||||
8B24068F2C6E99E200D7FA27 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B24060C2C6E99E200D7FA27 /* AUEffectBase.cpp */; };
|
||||
8B2406902C6E99E200D7FA27 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24060D2C6E99E200D7FA27 /* AUEffectBase.h */; };
|
||||
8B2406912C6E99E200D7FA27 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B24060F2C6E99E200D7FA27 /* AUTimestampGenerator.h */; };
|
||||
8B2406922C6E99E200D7FA27 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406102C6E99E200D7FA27 /* AUBaseHelper.cpp */; };
|
||||
8B2406932C6E99E200D7FA27 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406112C6E99E200D7FA27 /* AUSilentTimeout.h */; };
|
||||
8B2406942C6E99E200D7FA27 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406122C6E99E200D7FA27 /* AUInputFormatConverter.h */; };
|
||||
8B2406952C6E99E200D7FA27 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406132C6E99E200D7FA27 /* AUTimestampGenerator.cpp */; };
|
||||
8B2406962C6E99E200D7FA27 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406142C6E99E200D7FA27 /* AUBuffer.cpp */; };
|
||||
8B2406972C6E99E200D7FA27 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406152C6E99E200D7FA27 /* AUMIDIDefs.h */; };
|
||||
8B2406982C6E99E200D7FA27 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406162C6E99E200D7FA27 /* AUBuffer.h */; };
|
||||
8B2406992C6E99E200D7FA27 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406172C6E99E200D7FA27 /* AUBaseHelper.h */; };
|
||||
8BA05A6B0720730100365D66 /* Isolator3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* Isolator3.cpp */; };
|
||||
8BA05A6E0720730100365D66 /* Isolator3Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* Isolator3Version.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 /* Isolator3.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* Isolator3.h */; };
|
||||
8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
8B2405902C6E99E200D7FA27 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = "<group>"; };
|
||||
8B2405912C6E99E200D7FA27 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = "<group>"; };
|
||||
8B2405922C6E99E200D7FA27 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = "<group>"; };
|
||||
8B2405932C6E99E200D7FA27 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = "<group>"; };
|
||||
8B2405942C6E99E200D7FA27 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = "<group>"; };
|
||||
8B2405952C6E99E200D7FA27 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = "<group>"; };
|
||||
8B2405962C6E99E200D7FA27 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = "<group>"; };
|
||||
8B2405972C6E99E200D7FA27 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = "<group>"; };
|
||||
8B2405982C6E99E200D7FA27 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
|
||||
8B2405992C6E99E200D7FA27 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = "<group>"; };
|
||||
8B24059A2C6E99E200D7FA27 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = "<group>"; };
|
||||
8B24059B2C6E99E200D7FA27 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = "<group>"; };
|
||||
8B24059C2C6E99E200D7FA27 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = "<group>"; };
|
||||
8B24059D2C6E99E200D7FA27 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = "<group>"; };
|
||||
8B24059E2C6E99E200D7FA27 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = "<group>"; };
|
||||
8B24059F2C6E99E200D7FA27 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
|
||||
8B2405A02C6E99E200D7FA27 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = "<group>"; };
|
||||
8B2405A12C6E99E200D7FA27 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = "<group>"; };
|
||||
8B2405A22C6E99E200D7FA27 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = "<group>"; };
|
||||
8B2405A32C6E99E200D7FA27 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = "<group>"; };
|
||||
8B2405A42C6E99E200D7FA27 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = "<group>"; };
|
||||
8B2405A52C6E99E200D7FA27 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = "<group>"; };
|
||||
8B2405A62C6E99E200D7FA27 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
|
||||
8B2405A72C6E99E200D7FA27 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = "<group>"; };
|
||||
8B2405A82C6E99E200D7FA27 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = "<group>"; };
|
||||
8B2405A92C6E99E200D7FA27 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = "<group>"; };
|
||||
8B2405AA2C6E99E200D7FA27 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
|
||||
8B2405AB2C6E99E200D7FA27 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = "<group>"; };
|
||||
8B2405AC2C6E99E200D7FA27 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = "<group>"; };
|
||||
8B2405AD2C6E99E200D7FA27 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = "<group>"; };
|
||||
8B2405AE2C6E99E200D7FA27 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = "<group>"; };
|
||||
8B2405AF2C6E99E200D7FA27 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = "<group>"; };
|
||||
8B2405B02C6E99E200D7FA27 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = "<group>"; };
|
||||
8B2405B12C6E99E200D7FA27 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = "<group>"; };
|
||||
8B2405B22C6E99E200D7FA27 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = "<group>"; };
|
||||
8B2405B32C6E99E200D7FA27 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = "<group>"; };
|
||||
8B2405B42C6E99E200D7FA27 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = "<group>"; };
|
||||
8B2405B52C6E99E200D7FA27 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = "<group>"; };
|
||||
8B2405B62C6E99E200D7FA27 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = "<group>"; };
|
||||
8B2405B72C6E99E200D7FA27 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
|
||||
8B2405B82C6E99E200D7FA27 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = "<group>"; };
|
||||
8B2405B92C6E99E200D7FA27 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = "<group>"; };
|
||||
8B2405BA2C6E99E200D7FA27 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = "<group>"; };
|
||||
8B2405BB2C6E99E200D7FA27 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = "<group>"; };
|
||||
8B2405BC2C6E99E200D7FA27 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = "<group>"; };
|
||||
8B2405BD2C6E99E200D7FA27 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = "<group>"; };
|
||||
8B2405BE2C6E99E200D7FA27 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = "<group>"; };
|
||||
8B2405BF2C6E99E200D7FA27 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = "<group>"; };
|
||||
8B2405C02C6E99E200D7FA27 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = "<group>"; };
|
||||
8B2405C12C6E99E200D7FA27 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = "<group>"; };
|
||||
8B2405C22C6E99E200D7FA27 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = "<group>"; };
|
||||
8B2405C32C6E99E200D7FA27 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
|
||||
8B2405C42C6E99E200D7FA27 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = "<group>"; };
|
||||
8B2405C52C6E99E200D7FA27 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = "<group>"; };
|
||||
8B2405C62C6E99E200D7FA27 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = "<group>"; };
|
||||
8B2405C72C6E99E200D7FA27 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = "<group>"; };
|
||||
8B2405C82C6E99E200D7FA27 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = "<group>"; };
|
||||
8B2405C92C6E99E200D7FA27 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = "<group>"; };
|
||||
8B2405CA2C6E99E200D7FA27 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = "<group>"; };
|
||||
8B2405CB2C6E99E200D7FA27 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = "<group>"; };
|
||||
8B2405CC2C6E99E200D7FA27 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = "<group>"; };
|
||||
8B2405CD2C6E99E200D7FA27 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = "<group>"; };
|
||||
8B2405CE2C6E99E200D7FA27 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = "<group>"; };
|
||||
8B2405CF2C6E99E200D7FA27 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = "<group>"; };
|
||||
8B2405D02C6E99E200D7FA27 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = "<group>"; };
|
||||
8B2405D12C6E99E200D7FA27 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = "<group>"; };
|
||||
8B2405D22C6E99E200D7FA27 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = "<group>"; };
|
||||
8B2405D32C6E99E200D7FA27 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = "<group>"; };
|
||||
8B2405D42C6E99E200D7FA27 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
|
||||
8B2405D52C6E99E200D7FA27 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = "<group>"; };
|
||||
8B2405D62C6E99E200D7FA27 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
|
||||
8B2405D72C6E99E200D7FA27 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = "<group>"; };
|
||||
8B2405D82C6E99E200D7FA27 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = "<group>"; };
|
||||
8B2405D92C6E99E200D7FA27 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = "<group>"; };
|
||||
8B2405DA2C6E99E200D7FA27 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = "<group>"; };
|
||||
8B2405DB2C6E99E200D7FA27 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = "<group>"; };
|
||||
8B2405DC2C6E99E200D7FA27 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = "<group>"; };
|
||||
8B2405DD2C6E99E200D7FA27 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = "<group>"; };
|
||||
8B2405DE2C6E99E200D7FA27 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = "<group>"; };
|
||||
8B2405DF2C6E99E200D7FA27 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = "<group>"; };
|
||||
8B2405E02C6E99E200D7FA27 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
|
||||
8B2405E12C6E99E200D7FA27 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
|
||||
8B2405E22C6E99E200D7FA27 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = "<group>"; };
|
||||
8B2405E32C6E99E200D7FA27 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = "<group>"; };
|
||||
8B2405E42C6E99E200D7FA27 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = "<group>"; };
|
||||
8B2405E52C6E99E200D7FA27 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = "<group>"; };
|
||||
8B2405E62C6E99E200D7FA27 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = "<group>"; };
|
||||
8B2405E72C6E99E200D7FA27 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
|
||||
8B2405E82C6E99E200D7FA27 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = "<group>"; };
|
||||
8B2405E92C6E99E200D7FA27 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = "<group>"; };
|
||||
8B2405EA2C6E99E200D7FA27 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = "<group>"; };
|
||||
8B2405EB2C6E99E200D7FA27 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = "<group>"; };
|
||||
8B2405EC2C6E99E200D7FA27 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = "<group>"; };
|
||||
8B2405ED2C6E99E200D7FA27 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = "<group>"; };
|
||||
8B2405EE2C6E99E200D7FA27 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
|
||||
8B2405EF2C6E99E200D7FA27 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = "<group>"; };
|
||||
8B2405F02C6E99E200D7FA27 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = "<group>"; };
|
||||
8B2405F12C6E99E200D7FA27 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = "<group>"; };
|
||||
8B2405F22C6E99E200D7FA27 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = "<group>"; };
|
||||
8B2405F32C6E99E200D7FA27 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = "<group>"; };
|
||||
8B2405F42C6E99E200D7FA27 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = "<group>"; };
|
||||
8B2405F52C6E99E200D7FA27 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = "<group>"; };
|
||||
8B2405F62C6E99E200D7FA27 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = "<group>"; };
|
||||
8B2405FA2C6E99E200D7FA27 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
|
||||
8B2405FC2C6E99E200D7FA27 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
|
||||
8B2405FD2C6E99E200D7FA27 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
|
||||
8B2405FE2C6E99E200D7FA27 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
|
||||
8B2405FF2C6E99E200D7FA27 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
|
||||
8B2406002C6E99E200D7FA27 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
|
||||
8B2406012C6E99E200D7FA27 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
|
||||
8B2406022C6E99E200D7FA27 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = "<group>"; };
|
||||
8B2406032C6E99E200D7FA27 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
|
||||
8B2406042C6E99E200D7FA27 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
|
||||
8B2406052C6E99E200D7FA27 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
|
||||
8B2406062C6E99E200D7FA27 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = "<group>"; };
|
||||
8B2406072C6E99E200D7FA27 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
|
||||
8B2406082C6E99E200D7FA27 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
|
||||
8B2406092C6E99E200D7FA27 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
|
||||
8B24060A2C6E99E200D7FA27 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
|
||||
8B24060C2C6E99E200D7FA27 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
|
||||
8B24060D2C6E99E200D7FA27 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
|
||||
8B24060F2C6E99E200D7FA27 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
|
||||
8B2406102C6E99E200D7FA27 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = "<group>"; };
|
||||
8B2406112C6E99E200D7FA27 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
|
||||
8B2406122C6E99E200D7FA27 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
|
||||
8B2406132C6E99E200D7FA27 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = "<group>"; };
|
||||
8B2406142C6E99E200D7FA27 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
|
||||
8B2406152C6E99E200D7FA27 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = "<group>"; };
|
||||
8B2406162C6E99E200D7FA27 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
|
||||
8B2406172C6E99E200D7FA27 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = "<group>"; };
|
||||
8B24069A2C6E9B3500D7FA27 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Isolator3.cpp; sourceTree = "<group>"; };
|
||||
8BA05A670720730100365D66 /* Isolator3.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = Isolator3.exp; sourceTree = "<group>"; };
|
||||
8BA05A680720730100365D66 /* Isolator3.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = Isolator3.r; sourceTree = "<group>"; };
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Isolator3Version.h; sourceTree = "<group>"; };
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Isolator3.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D01CCD20486CAD60068D4B7 /* Isolator3.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Isolator3.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 /* Isolator3 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Isolator3;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
|
||||
8BA05B01072074F900365D66 /* CoreServices.framework */,
|
||||
8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
|
||||
8BA05AFA072074E100365D66 /* AudioUnit.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24058E2C6E99E200D7FA27 /* CA_SDK */,
|
||||
8BA05A56072072A900365D66 /* AU Source */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D01CCD20486CAD60068D4B7 /* Isolator3.component */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24058E2C6E99E200D7FA27 /* CA_SDK */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24058F2C6E99E200D7FA27 /* PublicUtility */,
|
||||
8B2405F72C6E99E200D7FA27 /* AudioUnits */,
|
||||
);
|
||||
name = CA_SDK;
|
||||
path = ../../../../CA_SDK;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24058F2C6E99E200D7FA27 /* PublicUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2405902C6E99E200D7FA27 /* CAExtAudioFile.h */,
|
||||
8B2405912C6E99E200D7FA27 /* CACFMachPort.h */,
|
||||
8B2405922C6E99E200D7FA27 /* CABool.h */,
|
||||
8B2405932C6E99E200D7FA27 /* CAComponent.cpp */,
|
||||
8B2405942C6E99E200D7FA27 /* CADebugger.h */,
|
||||
8B2405952C6E99E200D7FA27 /* CACFNumber.cpp */,
|
||||
8B2405962C6E99E200D7FA27 /* CAGuard.h */,
|
||||
8B2405972C6E99E200D7FA27 /* CAAtomic.h */,
|
||||
8B2405982C6E99E200D7FA27 /* CAStreamBasicDescription.h */,
|
||||
8B2405992C6E99E200D7FA27 /* CACFObject.h */,
|
||||
8B24059A2C6E99E200D7FA27 /* CAStreamRangedDescription.h */,
|
||||
8B24059B2C6E99E200D7FA27 /* CATokenMap.h */,
|
||||
8B24059C2C6E99E200D7FA27 /* CAComponent.h */,
|
||||
8B24059D2C6E99E200D7FA27 /* CAAudioBufferList.h */,
|
||||
8B24059E2C6E99E200D7FA27 /* CAAudioUnit.h */,
|
||||
8B24059F2C6E99E200D7FA27 /* CAAUParameter.h */,
|
||||
8B2405A02C6E99E200D7FA27 /* CAException.h */,
|
||||
8B2405A12C6E99E200D7FA27 /* CAAUProcessor.cpp */,
|
||||
8B2405A22C6E99E200D7FA27 /* CAAUProcessor.h */,
|
||||
8B2405A32C6E99E200D7FA27 /* CAProcess.h */,
|
||||
8B2405A42C6E99E200D7FA27 /* CACFDictionary.h */,
|
||||
8B2405A52C6E99E200D7FA27 /* CAPThread.h */,
|
||||
8B2405A62C6E99E200D7FA27 /* CAAUParameter.cpp */,
|
||||
8B2405A72C6E99E200D7FA27 /* CAAudioTimeStamp.h */,
|
||||
8B2405A82C6E99E200D7FA27 /* CAFilePathUtils.cpp */,
|
||||
8B2405A92C6E99E200D7FA27 /* CAAudioValueRange.h */,
|
||||
8B2405AA2C6E99E200D7FA27 /* CAVectorUnitTypes.h */,
|
||||
8B2405AB2C6E99E200D7FA27 /* CAAudioChannelLayoutObject.cpp */,
|
||||
8B2405AC2C6E99E200D7FA27 /* CAGuard.cpp */,
|
||||
8B2405AD2C6E99E200D7FA27 /* CACFNumber.h */,
|
||||
8B2405AE2C6E99E200D7FA27 /* CACFDistributedNotification.cpp */,
|
||||
8B2405AF2C6E99E200D7FA27 /* CACFString.h */,
|
||||
8B2405B02C6E99E200D7FA27 /* CAAUMIDIMapManager.cpp */,
|
||||
8B2405B12C6E99E200D7FA27 /* CAComponentDescription.cpp */,
|
||||
8B2405B22C6E99E200D7FA27 /* CAHostTimeBase.h */,
|
||||
8B2405B32C6E99E200D7FA27 /* CADebugMacros.cpp */,
|
||||
8B2405B42C6E99E200D7FA27 /* CAAudioFileFormats.h */,
|
||||
8B2405B52C6E99E200D7FA27 /* CAAUMIDIMapManager.h */,
|
||||
8B2405B62C6E99E200D7FA27 /* CACFDictionary.cpp */,
|
||||
8B2405B72C6E99E200D7FA27 /* CAMutex.h */,
|
||||
8B2405B82C6E99E200D7FA27 /* CACFString.cpp */,
|
||||
8B2405B92C6E99E200D7FA27 /* CASettingsStorage.h */,
|
||||
8B2405BA2C6E99E200D7FA27 /* CADebugPrintf.h */,
|
||||
8B2405BB2C6E99E200D7FA27 /* CAXException.cpp */,
|
||||
8B2405BC2C6E99E200D7FA27 /* CAAUMIDIMap.h */,
|
||||
8B2405BD2C6E99E200D7FA27 /* AUParamInfo.h */,
|
||||
8B2405BE2C6E99E200D7FA27 /* CABitOperations.h */,
|
||||
8B2405BF2C6E99E200D7FA27 /* CACFPreferences.cpp */,
|
||||
8B2405C02C6E99E200D7FA27 /* CABundleLocker.h */,
|
||||
8B2405C12C6E99E200D7FA27 /* CAPropertyAddress.h */,
|
||||
8B2405C22C6E99E200D7FA27 /* CAXException.h */,
|
||||
8B2405C32C6E99E200D7FA27 /* CAAudioChannelLayout.cpp */,
|
||||
8B2405C42C6E99E200D7FA27 /* CAThreadSafeList.h */,
|
||||
8B2405C52C6E99E200D7FA27 /* CAAudioUnitOutputCapturer.h */,
|
||||
8B2405C62C6E99E200D7FA27 /* AUParamInfo.cpp */,
|
||||
8B2405C72C6E99E200D7FA27 /* CASharedLibrary.cpp */,
|
||||
8B2405C82C6E99E200D7FA27 /* CAAUMIDIMap.cpp */,
|
||||
8B2405C92C6E99E200D7FA27 /* CALogMacros.h */,
|
||||
8B2405CA2C6E99E200D7FA27 /* CACFMessagePort.cpp */,
|
||||
8B2405CB2C6E99E200D7FA27 /* CARingBuffer.h */,
|
||||
8B2405CC2C6E99E200D7FA27 /* AUOutputBL.cpp */,
|
||||
8B2405CD2C6E99E200D7FA27 /* CABufferList.h */,
|
||||
8B2405CE2C6E99E200D7FA27 /* CASharedLibrary.h */,
|
||||
8B2405CF2C6E99E200D7FA27 /* CACFData.h */,
|
||||
8B2405D02C6E99E200D7FA27 /* CAStreamRangedDescription.cpp */,
|
||||
8B2405D12C6E99E200D7FA27 /* CAPThread.cpp */,
|
||||
8B2405D22C6E99E200D7FA27 /* CAAutoDisposer.h */,
|
||||
8B2405D32C6E99E200D7FA27 /* CACFPreferences.h */,
|
||||
8B2405D42C6E99E200D7FA27 /* CAVectorUnit.cpp */,
|
||||
8B2405D52C6E99E200D7FA27 /* CAComponentDescription.h */,
|
||||
8B2405D62C6E99E200D7FA27 /* CADebugMacros.h */,
|
||||
8B2405D72C6E99E200D7FA27 /* AUOutputBL.h */,
|
||||
8B2405D82C6E99E200D7FA27 /* CADebugPrintf.cpp */,
|
||||
8B2405D92C6E99E200D7FA27 /* CARingBuffer.cpp */,
|
||||
8B2405DA2C6E99E200D7FA27 /* CACFPlugIn.h */,
|
||||
8B2405DB2C6E99E200D7FA27 /* CASettingsStorage.cpp */,
|
||||
8B2405DC2C6E99E200D7FA27 /* CAMixMap.h */,
|
||||
8B2405DD2C6E99E200D7FA27 /* CACFDistributedNotification.h */,
|
||||
8B2405DE2C6E99E200D7FA27 /* CAFilePathUtils.h */,
|
||||
8B2405DF2C6E99E200D7FA27 /* CATink.h */,
|
||||
8B2405E02C6E99E200D7FA27 /* CAStreamBasicDescription.cpp */,
|
||||
8B2405E12C6E99E200D7FA27 /* CAAudioChannelLayout.h */,
|
||||
8B2405E22C6E99E200D7FA27 /* CAProcess.cpp */,
|
||||
8B2405E32C6E99E200D7FA27 /* CAHostTimeBase.cpp */,
|
||||
8B2405E42C6E99E200D7FA27 /* CAPersistence.cpp */,
|
||||
8B2405E52C6E99E200D7FA27 /* CAAudioBufferList.cpp */,
|
||||
8B2405E62C6E99E200D7FA27 /* CAAudioTimeStamp.cpp */,
|
||||
8B2405E72C6E99E200D7FA27 /* CAVectorUnit.h */,
|
||||
8B2405E82C6E99E200D7FA27 /* CAByteOrder.h */,
|
||||
8B2405E92C6E99E200D7FA27 /* CACFArray.h */,
|
||||
8B2405EA2C6E99E200D7FA27 /* CAAtomicStack.h */,
|
||||
8B2405EB2C6E99E200D7FA27 /* CAReferenceCounted.h */,
|
||||
8B2405EC2C6E99E200D7FA27 /* CACFMachPort.cpp */,
|
||||
8B2405ED2C6E99E200D7FA27 /* CABufferList.cpp */,
|
||||
8B2405EE2C6E99E200D7FA27 /* CAMutex.cpp */,
|
||||
8B2405EF2C6E99E200D7FA27 /* CADebugger.cpp */,
|
||||
8B2405F02C6E99E200D7FA27 /* CABundleLocker.cpp */,
|
||||
8B2405F12C6E99E200D7FA27 /* CAAudioFileFormats.cpp */,
|
||||
8B2405F22C6E99E200D7FA27 /* CAMath.h */,
|
||||
8B2405F32C6E99E200D7FA27 /* CACFArray.cpp */,
|
||||
8B2405F42C6E99E200D7FA27 /* CACFMessagePort.h */,
|
||||
8B2405F52C6E99E200D7FA27 /* CAAudioValueRange.cpp */,
|
||||
8B2405F62C6E99E200D7FA27 /* CAAudioUnit.cpp */,
|
||||
);
|
||||
path = PublicUtility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2405F72C6E99E200D7FA27 /* AudioUnits */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2405F82C6E99E200D7FA27 /* AUPublic */,
|
||||
);
|
||||
path = AudioUnits;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2405F82C6E99E200D7FA27 /* AUPublic */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2405F92C6E99E200D7FA27 /* AUViewBase */,
|
||||
8B2405FB2C6E99E200D7FA27 /* AUBase */,
|
||||
8B24060B2C6E99E200D7FA27 /* OtherBases */,
|
||||
8B24060E2C6E99E200D7FA27 /* Utility */,
|
||||
);
|
||||
path = AUPublic;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2405F92C6E99E200D7FA27 /* AUViewBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2405FA2C6E99E200D7FA27 /* AUViewLocalizedStringKeys.h */,
|
||||
);
|
||||
path = AUViewBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2405FB2C6E99E200D7FA27 /* AUBase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2405FC2C6E99E200D7FA27 /* ComponentBase.cpp */,
|
||||
8B2405FD2C6E99E200D7FA27 /* AUScopeElement.cpp */,
|
||||
8B2405FE2C6E99E200D7FA27 /* ComponentBase.h */,
|
||||
8B2405FF2C6E99E200D7FA27 /* AUBase.cpp */,
|
||||
8B2406002C6E99E200D7FA27 /* AUInputElement.h */,
|
||||
8B2406012C6E99E200D7FA27 /* AUBase.h */,
|
||||
8B2406022C6E99E200D7FA27 /* AUPlugInDispatch.h */,
|
||||
8B2406032C6E99E200D7FA27 /* AUDispatch.h */,
|
||||
8B2406042C6E99E200D7FA27 /* AUOutputElement.cpp */,
|
||||
8B2406052C6E99E200D7FA27 /* AUResources.r */,
|
||||
8B2406062C6E99E200D7FA27 /* AUPlugInDispatch.cpp */,
|
||||
8B2406072C6E99E200D7FA27 /* AUOutputElement.h */,
|
||||
8B2406082C6E99E200D7FA27 /* AUDispatch.cpp */,
|
||||
8B2406092C6E99E200D7FA27 /* AUScopeElement.h */,
|
||||
8B24060A2C6E99E200D7FA27 /* AUInputElement.cpp */,
|
||||
);
|
||||
path = AUBase;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24060B2C6E99E200D7FA27 /* OtherBases */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24060C2C6E99E200D7FA27 /* AUEffectBase.cpp */,
|
||||
8B24060D2C6E99E200D7FA27 /* AUEffectBase.h */,
|
||||
);
|
||||
path = OtherBases;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24060E2C6E99E200D7FA27 /* Utility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24060F2C6E99E200D7FA27 /* AUTimestampGenerator.h */,
|
||||
8B2406102C6E99E200D7FA27 /* AUBaseHelper.cpp */,
|
||||
8B2406112C6E99E200D7FA27 /* AUSilentTimeout.h */,
|
||||
8B2406122C6E99E200D7FA27 /* AUInputFormatConverter.h */,
|
||||
8B2406132C6E99E200D7FA27 /* AUTimestampGenerator.cpp */,
|
||||
8B2406142C6E99E200D7FA27 /* AUBuffer.cpp */,
|
||||
8B2406152C6E99E200D7FA27 /* AUMIDIDefs.h */,
|
||||
8B2406162C6E99E200D7FA27 /* AUBuffer.h */,
|
||||
8B2406172C6E99E200D7FA27 /* AUBaseHelper.h */,
|
||||
);
|
||||
path = Utility;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BA05A56072072A900365D66 /* AU Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC6025B073B072D006C4272 /* Isolator3.h */,
|
||||
8BA05A660720730100365D66 /* Isolator3.cpp */,
|
||||
8BA05A670720730100365D66 /* Isolator3.exp */,
|
||||
8BA05A680720730100365D66 /* Isolator3.r */,
|
||||
8BA05A690720730100365D66 /* Isolator3Version.h */,
|
||||
);
|
||||
name = "AU Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8B2406482C6E99E200D7FA27 /* CABundleLocker.h in Headers */,
|
||||
8B2406692C6E99E200D7FA27 /* CAAudioChannelLayout.h in Headers */,
|
||||
8B24065F2C6E99E200D7FA27 /* AUOutputBL.h in Headers */,
|
||||
8B24063A2C6E99E200D7FA27 /* CAHostTimeBase.h in Headers */,
|
||||
8B2406822C6E99E200D7FA27 /* ComponentBase.h in Headers */,
|
||||
8B2406722C6E99E200D7FA27 /* CAAtomicStack.h in Headers */,
|
||||
8B24062F2C6E99E200D7FA27 /* CAAudioTimeStamp.h in Headers */,
|
||||
8B24064C2C6E99E200D7FA27 /* CAThreadSafeList.h in Headers */,
|
||||
8B2406272C6E99E200D7FA27 /* CAAUParameter.h in Headers */,
|
||||
8B2406992C6E99E200D7FA27 /* AUBaseHelper.h in Headers */,
|
||||
8B2406912C6E99E200D7FA27 /* AUTimestampGenerator.h in Headers */,
|
||||
8B2406422C6E99E200D7FA27 /* CADebugPrintf.h in Headers */,
|
||||
8B24067C2C6E99E200D7FA27 /* CACFMessagePort.h in Headers */,
|
||||
8B24062A2C6E99E200D7FA27 /* CAAUProcessor.h in Headers */,
|
||||
8B2406262C6E99E200D7FA27 /* CAAudioUnit.h in Headers */,
|
||||
8B24067F2C6E99E200D7FA27 /* AUViewLocalizedStringKeys.h in Headers */,
|
||||
8B2406652C6E99E200D7FA27 /* CACFDistributedNotification.h in Headers */,
|
||||
8B2406242C6E99E200D7FA27 /* CAComponent.h in Headers */,
|
||||
8B2406322C6E99E200D7FA27 /* CAVectorUnitTypes.h in Headers */,
|
||||
8BA05A6E0720730100365D66 /* Isolator3Version.h in Headers */,
|
||||
8B2406662C6E99E200D7FA27 /* CAFilePathUtils.h in Headers */,
|
||||
8B2406282C6E99E200D7FA27 /* CAException.h in Headers */,
|
||||
8B24061F2C6E99E200D7FA27 /* CAAtomic.h in Headers */,
|
||||
8B24061E2C6E99E200D7FA27 /* CAGuard.h in Headers */,
|
||||
8B2406842C6E99E200D7FA27 /* AUInputElement.h in Headers */,
|
||||
8B24065B2C6E99E200D7FA27 /* CACFPreferences.h in Headers */,
|
||||
8B2406702C6E99E200D7FA27 /* CAByteOrder.h in Headers */,
|
||||
8B2406532C6E99E200D7FA27 /* CARingBuffer.h in Headers */,
|
||||
8B24061A2C6E99E200D7FA27 /* CABool.h in Headers */,
|
||||
8B24063F2C6E99E200D7FA27 /* CAMutex.h in Headers */,
|
||||
8B2406852C6E99E200D7FA27 /* AUBase.h in Headers */,
|
||||
8BC6025C073B072D006C4272 /* Isolator3.h in Headers */,
|
||||
8B2406372C6E99E200D7FA27 /* CACFString.h in Headers */,
|
||||
8B2406562C6E99E200D7FA27 /* CASharedLibrary.h in Headers */,
|
||||
8B2406232C6E99E200D7FA27 /* CATokenMap.h in Headers */,
|
||||
8B2406182C6E99E200D7FA27 /* CAExtAudioFile.h in Headers */,
|
||||
8B24062D2C6E99E200D7FA27 /* CAPThread.h in Headers */,
|
||||
8B2406492C6E99E200D7FA27 /* CAPropertyAddress.h in Headers */,
|
||||
8B2406732C6E99E200D7FA27 /* CAReferenceCounted.h in Headers */,
|
||||
8B2406982C6E99E200D7FA27 /* AUBuffer.h in Headers */,
|
||||
8B24067A2C6E99E200D7FA27 /* CAMath.h in Headers */,
|
||||
8B24065A2C6E99E200D7FA27 /* CAAutoDisposer.h in Headers */,
|
||||
8B2406212C6E99E200D7FA27 /* CACFObject.h in Headers */,
|
||||
8B2406412C6E99E200D7FA27 /* CASettingsStorage.h in Headers */,
|
||||
8B24064A2C6E99E200D7FA27 /* CAXException.h in Headers */,
|
||||
8B2406672C6E99E200D7FA27 /* CATink.h in Headers */,
|
||||
8B2406942C6E99E200D7FA27 /* AUInputFormatConverter.h in Headers */,
|
||||
8B24066F2C6E99E200D7FA27 /* CAVectorUnit.h in Headers */,
|
||||
8B24062B2C6E99E200D7FA27 /* CAProcess.h in Headers */,
|
||||
8B2406312C6E99E200D7FA27 /* CAAudioValueRange.h in Headers */,
|
||||
8B2406462C6E99E200D7FA27 /* CABitOperations.h in Headers */,
|
||||
8B24063C2C6E99E200D7FA27 /* CAAudioFileFormats.h in Headers */,
|
||||
8B2406352C6E99E200D7FA27 /* CACFNumber.h in Headers */,
|
||||
8B24064D2C6E99E200D7FA27 /* CAAudioUnitOutputCapturer.h in Headers */,
|
||||
8B24065E2C6E99E200D7FA27 /* CADebugMacros.h in Headers */,
|
||||
8B2406972C6E99E200D7FA27 /* AUMIDIDefs.h in Headers */,
|
||||
8B2406572C6E99E200D7FA27 /* CACFData.h in Headers */,
|
||||
8B2406202C6E99E200D7FA27 /* CAStreamBasicDescription.h in Headers */,
|
||||
8B2406862C6E99E200D7FA27 /* AUPlugInDispatch.h in Headers */,
|
||||
8B2406222C6E99E200D7FA27 /* CAStreamRangedDescription.h in Headers */,
|
||||
8B2406622C6E99E200D7FA27 /* CACFPlugIn.h in Headers */,
|
||||
8B2406252C6E99E200D7FA27 /* CAAudioBufferList.h in Headers */,
|
||||
8B24063D2C6E99E200D7FA27 /* CAAUMIDIMapManager.h in Headers */,
|
||||
8B2406902C6E99E200D7FA27 /* AUEffectBase.h in Headers */,
|
||||
8B24062C2C6E99E200D7FA27 /* CACFDictionary.h in Headers */,
|
||||
8B24068D2C6E99E200D7FA27 /* AUScopeElement.h in Headers */,
|
||||
8B24065D2C6E99E200D7FA27 /* CAComponentDescription.h in Headers */,
|
||||
8B2406932C6E99E200D7FA27 /* AUSilentTimeout.h in Headers */,
|
||||
8B2406552C6E99E200D7FA27 /* CABufferList.h in Headers */,
|
||||
8B2406872C6E99E200D7FA27 /* AUDispatch.h in Headers */,
|
||||
8B24068B2C6E99E200D7FA27 /* AUOutputElement.h in Headers */,
|
||||
8B2406512C6E99E200D7FA27 /* CALogMacros.h in Headers */,
|
||||
8B2406452C6E99E200D7FA27 /* AUParamInfo.h in Headers */,
|
||||
8B2406642C6E99E200D7FA27 /* CAMixMap.h in Headers */,
|
||||
8B2406712C6E99E200D7FA27 /* CACFArray.h in Headers */,
|
||||
8B2406192C6E99E200D7FA27 /* CACFMachPort.h in Headers */,
|
||||
8B2406442C6E99E200D7FA27 /* CAAUMIDIMap.h in Headers */,
|
||||
8B24061C2C6E99E200D7FA27 /* CADebugger.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "Isolator3" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Isolator3;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = Isolator3;
|
||||
productReference = 8D01CCD20486CAD60068D4B7 /* Isolator3.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 "Isolator3" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
ja,
|
||||
en,
|
||||
fr,
|
||||
Base,
|
||||
de,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* Isolator3 */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */,
|
||||
);
|
||||
};
|
||||
/* 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 = (
|
||||
8B2406542C6E99E200D7FA27 /* AUOutputBL.cpp in Sources */,
|
||||
8B2406792C6E99E200D7FA27 /* CAAudioFileFormats.cpp in Sources */,
|
||||
8B24066B2C6E99E200D7FA27 /* CAHostTimeBase.cpp in Sources */,
|
||||
8B2406432C6E99E200D7FA27 /* CAXException.cpp in Sources */,
|
||||
8B24066D2C6E99E200D7FA27 /* CAAudioBufferList.cpp in Sources */,
|
||||
8B2406302C6E99E200D7FA27 /* CAFilePathUtils.cpp in Sources */,
|
||||
8B24062E2C6E99E200D7FA27 /* CAAUParameter.cpp in Sources */,
|
||||
8B2406502C6E99E200D7FA27 /* CAAUMIDIMap.cpp in Sources */,
|
||||
8B24067D2C6E99E200D7FA27 /* CAAudioValueRange.cpp in Sources */,
|
||||
8B24068C2C6E99E200D7FA27 /* AUDispatch.cpp in Sources */,
|
||||
8B2406472C6E99E200D7FA27 /* CACFPreferences.cpp in Sources */,
|
||||
8B24068A2C6E99E200D7FA27 /* AUPlugInDispatch.cpp in Sources */,
|
||||
8B2406292C6E99E200D7FA27 /* CAAUProcessor.cpp in Sources */,
|
||||
8B24063E2C6E99E200D7FA27 /* CACFDictionary.cpp in Sources */,
|
||||
8B2406922C6E99E200D7FA27 /* AUBaseHelper.cpp in Sources */,
|
||||
8B2406772C6E99E200D7FA27 /* CADebugger.cpp in Sources */,
|
||||
8B24064B2C6E99E200D7FA27 /* CAAudioChannelLayout.cpp in Sources */,
|
||||
8B24064E2C6E99E200D7FA27 /* AUParamInfo.cpp in Sources */,
|
||||
8B24066C2C6E99E200D7FA27 /* CAPersistence.cpp in Sources */,
|
||||
8B2406602C6E99E200D7FA27 /* CADebugPrintf.cpp in Sources */,
|
||||
8B2406952C6E99E200D7FA27 /* AUTimestampGenerator.cpp in Sources */,
|
||||
8B2406682C6E99E200D7FA27 /* CAStreamBasicDescription.cpp in Sources */,
|
||||
8B2406382C6E99E200D7FA27 /* CAAUMIDIMapManager.cpp in Sources */,
|
||||
8B2406632C6E99E200D7FA27 /* CASettingsStorage.cpp in Sources */,
|
||||
8B2406882C6E99E200D7FA27 /* AUOutputElement.cpp in Sources */,
|
||||
8B2406342C6E99E200D7FA27 /* CAGuard.cpp in Sources */,
|
||||
8BA05A6B0720730100365D66 /* Isolator3.cpp in Sources */,
|
||||
8B2406762C6E99E200D7FA27 /* CAMutex.cpp in Sources */,
|
||||
8B24068F2C6E99E200D7FA27 /* AUEffectBase.cpp in Sources */,
|
||||
8B2406742C6E99E200D7FA27 /* CACFMachPort.cpp in Sources */,
|
||||
8B2406832C6E99E200D7FA27 /* AUBase.cpp in Sources */,
|
||||
8B24064F2C6E99E200D7FA27 /* CASharedLibrary.cpp in Sources */,
|
||||
8B2406362C6E99E200D7FA27 /* CACFDistributedNotification.cpp in Sources */,
|
||||
8B2406392C6E99E200D7FA27 /* CAComponentDescription.cpp in Sources */,
|
||||
8B2406402C6E99E200D7FA27 /* CACFString.cpp in Sources */,
|
||||
8B2406802C6E99E200D7FA27 /* ComponentBase.cpp in Sources */,
|
||||
8B2406612C6E99E200D7FA27 /* CARingBuffer.cpp in Sources */,
|
||||
8B2406812C6E99E200D7FA27 /* AUScopeElement.cpp in Sources */,
|
||||
8B24067E2C6E99E200D7FA27 /* CAAudioUnit.cpp in Sources */,
|
||||
8B24067B2C6E99E200D7FA27 /* CACFArray.cpp in Sources */,
|
||||
8B2406782C6E99E200D7FA27 /* CABundleLocker.cpp in Sources */,
|
||||
8B24066A2C6E99E200D7FA27 /* CAProcess.cpp in Sources */,
|
||||
8B2406582C6E99E200D7FA27 /* CAStreamRangedDescription.cpp in Sources */,
|
||||
8B2406592C6E99E200D7FA27 /* CAPThread.cpp in Sources */,
|
||||
8B24061B2C6E99E200D7FA27 /* CAComponent.cpp in Sources */,
|
||||
8B2406332C6E99E200D7FA27 /* CAAudioChannelLayoutObject.cpp in Sources */,
|
||||
8B24066E2C6E99E200D7FA27 /* CAAudioTimeStamp.cpp in Sources */,
|
||||
8B2406752C6E99E200D7FA27 /* CABufferList.cpp in Sources */,
|
||||
8B2406522C6E99E200D7FA27 /* CACFMessagePort.cpp in Sources */,
|
||||
8B24065C2C6E99E200D7FA27 /* CAVectorUnit.cpp in Sources */,
|
||||
8B24068E2C6E99E200D7FA27 /* AUInputElement.cpp in Sources */,
|
||||
8B2406962C6E99E200D7FA27 /* AUBuffer.cpp in Sources */,
|
||||
8B24063B2C6E99E200D7FA27 /* CADebugMacros.cpp in Sources */,
|
||||
8B24061D2C6E99E200D7FA27 /* CACFNumber.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
8B24069A2C6E9B3500D7FA27 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3E4BA244089833B7007656EC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W;
|
||||
EXPORTED_SYMBOLS_FILE = Isolator3.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 = Isolator3;
|
||||
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 = Isolator3.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 = Isolator3;
|
||||
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 "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA244089833B7007656EC /* Debug */,
|
||||
3E4BA245089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3E4BA248089833B7007656EC /* Debug */,
|
||||
3E4BA249089833B7007656EC /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
plugins/MacSignedAU/Isolator3/Isolator3.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1420"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Isolator3.component"
|
||||
BlueprintName = "Isolator3"
|
||||
ReferencedContainer = "container:Isolator3.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Isolator3.component"
|
||||
BlueprintName = "Isolator3"
|
||||
ReferencedContainer = "container:Isolator3.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>Isolator3.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
58
plugins/MacSignedAU/Isolator3/Isolator3Version.h
Executable file
58
plugins/MacSignedAU/Isolator3/Isolator3Version.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* File: Isolator3Version.h
|
||||
*
|
||||
* Version: 1.0
|
||||
*
|
||||
* Created: 8/15/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 __Isolator3Version_h__
|
||||
#define __Isolator3Version_h__
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
#define kIsolator3Version 0xFFFFFFFF
|
||||
#else
|
||||
#define kIsolator3Version 0x00010000
|
||||
#endif
|
||||
|
||||
//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
|
||||
#define Isolator3_COMP_MANF 'Dthr'
|
||||
#define Isolator3_COMP_SUBTYPE 'ison'
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#endif
|
||||
|
||||
BIN
plugins/MacSignedAU/Isolator3/en.lproj/InfoPlist.strings
Executable file
BIN
plugins/MacSignedAU/Isolator3/en.lproj/InfoPlist.strings
Executable file
Binary file not shown.
16
plugins/MacSignedAU/Isolator3/version.plist
Executable file
16
plugins/MacSignedAU/Isolator3/version.plist
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildVersion</key>
|
||||
<string>3</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>ProjectName</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>SourceVersion</key>
|
||||
<string>590000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -310,7 +310,7 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
double iirEncFreq = GetParameter( kParam_B )/overallscale;
|
||||
double iirMidFreq = ((GetParameter( kParam_B ) * 0.618) + 0.382)/overallscale;
|
||||
double inputGain = pow(GetParameter( kParam_C )*2.0,2.0);
|
||||
double flutDepth = pow(GetParameter( kParam_D ),5)*overallscale*60;
|
||||
double flutDepth = pow(GetParameter( kParam_D ),6)*overallscale*50;
|
||||
if (flutDepth > 498.0) flutDepth = 498.0;
|
||||
double flutFrequency = (0.02*pow(GetParameter( kParam_E ),3))/overallscale;
|
||||
double bias = (GetParameter( kParam_F )*2.0)-1.0;
|
||||
|
|
@ -400,7 +400,13 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
int count = gcount;
|
||||
double offset = flutDepth + (flutDepth * sin(sweepL));
|
||||
sweepL += nextmaxL * flutFrequency;
|
||||
if (sweepL > (M_PI*2.0)) {sweepL -= M_PI*2.0; nextmaxL = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepL > (M_PI*2.0)) {
|
||||
sweepL -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5;
|
||||
double flutB = 0.24 + (fpdL / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepR+nextmaxR))<fabs(flutB-sin(sweepR+nextmaxR))) nextmaxL = flutA; else nextmaxL = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleL = (dL[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleL += (dL[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
@ -408,7 +414,13 @@ OSStatus ToTape7::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
|
|||
count = gcount;
|
||||
offset = flutDepth + (flutDepth * sin(sweepR));
|
||||
sweepR += nextmaxR * flutFrequency;
|
||||
if (sweepR > (M_PI*2.0)) {sweepR -= M_PI*2.0; nextmaxR = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);}
|
||||
if (sweepR > (M_PI*2.0)) {
|
||||
sweepR -= M_PI*2.0;
|
||||
double flutA = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5;
|
||||
double flutB = 0.24 + (fpdR / (double)UINT32_MAX * 0.74);
|
||||
if (fabs(flutA-sin(sweepL+nextmaxL))<fabs(flutB-sin(sweepL+nextmaxL))) nextmaxR = flutA; else nextmaxR = flutB;
|
||||
}
|
||||
count += (int)floor(offset);
|
||||
inputSampleR = (dR[count-((count > 999)?1000:0)] * (1-(offset-floor(offset))));
|
||||
inputSampleR += (dR[count+1-((count+1 > 999)?1000:0)] * (offset-floor(offset)));
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
static const float kDefaultValue_ParamA = 0.5;
|
||||
static const float kDefaultValue_ParamB = 0.5;
|
||||
static const float kDefaultValue_ParamC = 0.5;
|
||||
static const float kDefaultValue_ParamD = 0.25;
|
||||
static const float kDefaultValue_ParamD = 0.5;
|
||||
static const float kDefaultValue_ParamE = 0.5;
|
||||
static const float kDefaultValue_ParamF = 0.5;
|
||||
static const float kDefaultValue_ParamG = 0.5;
|
||||
|
|
|
|||
Binary file not shown.
108
plugins/MacSignedVST/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
108
plugins/MacSignedVST/Cans/Cans.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,108 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Cans */;
|
||||
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 = 745281149;
|
||||
PBXWorkspaceStateSaveDate = 745281149;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* Cans.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {939, 3834}}";
|
||||
sepNavSelRange = "{6910, 0}";
|
||||
sepNavVisRange = "{6339, 1890}";
|
||||
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* Cans.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 3564}}";
|
||||
sepNavSelRange = "{4722, 0}";
|
||||
sepNavVisRange = "{0, 800}";
|
||||
sepNavWindowFrame = "{{39, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
|
||||
sepNavSelRange = "{10616, 0}";
|
||||
sepNavVisRange = "{9653, 2414}";
|
||||
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* CansProc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {2568, 24822}}";
|
||||
sepNavSelRange = "{45837, 0}";
|
||||
sepNavVisRange = "{26770, 1887}";
|
||||
sepNavWindowFrame = "{{22, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1503
plugins/MacSignedVST/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
1503
plugins/MacSignedVST/Cans/Cans.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
462
plugins/MacSignedVST/Cans/Cans.xcodeproj/project.pbxproj
Executable file
462
plugins/MacSignedVST/Cans/Cans.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,462 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
2407DEB9089929BA00EB68BF /* Cans.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* Cans.cpp */; };
|
||||
245463B90991757100464AD3 /* Cans.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* Cans.h */; };
|
||||
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
|
||||
24D8287009A914000093AEF8 /* CansProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* CansProc.cpp */; };
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
|
||||
8BC2EB512C6D36D9002B352B /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB452C6D36D9002B352B /* vstfxstore.h */; };
|
||||
8BC2EB522C6D36D9002B352B /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB462C6D36D9002B352B /* aeffect.h */; };
|
||||
8BC2EB532C6D36D9002B352B /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB472C6D36D9002B352B /* aeffectx.h */; };
|
||||
8BC2EB542C6D36D9002B352B /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB4B2C6D36D9002B352B /* audioeffectx.h */; };
|
||||
8BC2EB552C6D36D9002B352B /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EB4C2C6D36D9002B352B /* audioeffect.cpp */; };
|
||||
8BC2EB562C6D36D9002B352B /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EB4D2C6D36D9002B352B /* audioeffectx.cpp */; };
|
||||
8BC2EB572C6D36D9002B352B /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB4E2C6D36D9002B352B /* aeffeditor.h */; };
|
||||
8BC2EB582C6D36D9002B352B /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BC2EB4F2C6D36D9002B352B /* vstplugmain.cpp */; };
|
||||
8BC2EB592C6D36D9002B352B /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC2EB502C6D36D9002B352B /* audioeffect.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
2407DE920899296600EB68BF /* Cans.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cans.vst; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2407DEB6089929BA00EB68BF /* Cans.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Cans.cpp; path = source/Cans.cpp; sourceTree = "<group>"; };
|
||||
245463B80991757100464AD3 /* Cans.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Cans.h; path = source/Cans.h; sourceTree = "<group>"; };
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
|
||||
24D8286F09A914000093AEF8 /* CansProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CansProc.cpp; path = source/CansProc.cpp; sourceTree = "<group>"; };
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; };
|
||||
8BC2EB452C6D36D9002B352B /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
|
||||
8BC2EB462C6D36D9002B352B /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
|
||||
8BC2EB472C6D36D9002B352B /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
|
||||
8BC2EB4B2C6D36D9002B352B /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
|
||||
8BC2EB4C2C6D36D9002B352B /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
|
||||
8BC2EB4D2C6D36D9002B352B /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
|
||||
8BC2EB4E2C6D36D9002B352B /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
|
||||
8BC2EB4F2C6D36D9002B352B /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
|
||||
8BC2EB502C6D36D9002B352B /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* FM-Chopper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
);
|
||||
name = "FM-Chopper";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */,
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */,
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB422C6D36D9002B352B /* vstsdk2.4 */,
|
||||
2407DEB6089929BA00EB68BF /* Cans.cpp */,
|
||||
24D8286F09A914000093AEF8 /* CansProc.cpp */,
|
||||
245463B80991757100464AD3 /* Cans.h */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2407DE920899296600EB68BF /* Cans.vst */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB422C6D36D9002B352B /* vstsdk2.4 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB432C6D36D9002B352B /* pluginterfaces */,
|
||||
8BC2EB482C6D36D9002B352B /* public.sdk */,
|
||||
);
|
||||
name = vstsdk2.4;
|
||||
path = ../../../../vstsdk2.4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB432C6D36D9002B352B /* pluginterfaces */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB442C6D36D9002B352B /* vst2.x */,
|
||||
);
|
||||
path = pluginterfaces;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB442C6D36D9002B352B /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB452C6D36D9002B352B /* vstfxstore.h */,
|
||||
8BC2EB462C6D36D9002B352B /* aeffect.h */,
|
||||
8BC2EB472C6D36D9002B352B /* aeffectx.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB482C6D36D9002B352B /* public.sdk */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB492C6D36D9002B352B /* source */,
|
||||
);
|
||||
path = public.sdk;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB492C6D36D9002B352B /* source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB4A2C6D36D9002B352B /* vst2.x */,
|
||||
);
|
||||
path = source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8BC2EB4A2C6D36D9002B352B /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8BC2EB4B2C6D36D9002B352B /* audioeffectx.h */,
|
||||
8BC2EB4C2C6D36D9002B352B /* audioeffect.cpp */,
|
||||
8BC2EB4D2C6D36D9002B352B /* audioeffectx.cpp */,
|
||||
8BC2EB4E2C6D36D9002B352B /* aeffeditor.h */,
|
||||
8BC2EB4F2C6D36D9002B352B /* vstplugmain.cpp */,
|
||||
8BC2EB502C6D36D9002B352B /* audioeffect.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BC2EB572C6D36D9002B352B /* aeffeditor.h in Headers */,
|
||||
245463B90991757100464AD3 /* Cans.h in Headers */,
|
||||
8BC2EB592C6D36D9002B352B /* audioeffect.h in Headers */,
|
||||
8BC2EB522C6D36D9002B352B /* aeffect.h in Headers */,
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
|
||||
8BC2EB542C6D36D9002B352B /* audioeffectx.h in Headers */,
|
||||
8BC2EB512C6D36D9002B352B /* vstfxstore.h in Headers */,
|
||||
8BC2EB532C6D36D9002B352B /* aeffectx.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "Cans" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Cans;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = "FM-Chopper";
|
||||
productReference = 2407DE920899296600EB68BF /* Cans.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 "Cans" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
de,
|
||||
Base,
|
||||
ja,
|
||||
fr,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Cans */,
|
||||
);
|
||||
};
|
||||
/* 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 = (
|
||||
8BC2EB562C6D36D9002B352B /* audioeffectx.cpp in Sources */,
|
||||
2407DEB9089929BA00EB68BF /* Cans.cpp in Sources */,
|
||||
8BC2EB552C6D36D9002B352B /* audioeffect.cpp in Sources */,
|
||||
8BC2EB582C6D36D9002B352B /* vstplugmain.cpp in Sources */,
|
||||
24D8287009A914000093AEF8 /* CansProc.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.Cans;
|
||||
PRODUCT_NAME = Cans;
|
||||
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.Cans;
|
||||
PRODUCT_NAME = Cans;
|
||||
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 "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAEE08919AE700E695F9 /* Debug */,
|
||||
24BEAAEF08919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "Cans" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAF208919AE700E695F9 /* Debug */,
|
||||
24BEAAF308919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedVST/Cans/Cans.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
7
plugins/MacSignedVST/Cans/Cans.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Sample.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
1372
plugins/MacSignedVST/Cans/Cans.xcodeproj/spiadmin.mode1v3
Executable file
1372
plugins/MacSignedVST/Cans/Cans.xcodeproj/spiadmin.mode1v3
Executable file
File diff suppressed because it is too large
Load diff
143
plugins/MacSignedVST/Cans/Cans.xcodeproj/spiadmin.pbxuser
Executable file
143
plugins/MacSignedVST/Cans/Cans.xcodeproj/spiadmin.pbxuser
Executable file
|
|
@ -0,0 +1,143 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */;
|
||||
codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */;
|
||||
perUserDictionary = {
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
829,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
20,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
789,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
43,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFileDataSource_FiletypeID,
|
||||
PBXFileDataSource_Filename_ColumnID,
|
||||
PBXTargetDataSource_PrimaryAttribute,
|
||||
PBXFileDataSource_Built_ColumnID,
|
||||
PBXFileDataSource_ObjectSize_ColumnID,
|
||||
PBXFileDataSource_Errors_ColumnID,
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 345089498;
|
||||
PBXWorkspaceStateSaveDate = 345089498;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */;
|
||||
915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* Gain.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}";
|
||||
sepNavSelRange = "{247, 0}";
|
||||
sepNavVisRange = "{0, 1657}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* Gain.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 975}}";
|
||||
sepNavSelRange = "{1552, 0}";
|
||||
sepNavVisRange = "{796, 1857}";
|
||||
sepNavWindowFrame = "{{15, 465}, {750, 558}}";
|
||||
};
|
||||
};
|
||||
24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 488}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 798}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}";
|
||||
sepNavSelRange = "{10641, 0}";
|
||||
sepNavVisRange = "{10076, 1095}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* GainProc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 482}}";
|
||||
sepNavSelRange = "{239, 0}";
|
||||
sepNavVisRange = "{0, 950}";
|
||||
};
|
||||
};
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {992, 493}}";
|
||||
sepNavSelRange = "{249, 0}";
|
||||
sepNavVisRange = "{0, 249}";
|
||||
};
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Gain */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */;
|
||||
name = "Gain.cpp: 10";
|
||||
rLen = 0;
|
||||
rLoc = 247;
|
||||
rType = 0;
|
||||
vrLen = 1657;
|
||||
vrLoc = 0;
|
||||
};
|
||||
915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */;
|
||||
name = "Gain.cpp: 10";
|
||||
rLen = 0;
|
||||
rLoc = 247;
|
||||
rType = 0;
|
||||
vrLen = 1625;
|
||||
vrLoc = 0;
|
||||
};
|
||||
91857D94148EF55400AAA11B /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
91857D95148EF55400AAA11B /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1420"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Cans"
|
||||
ReferencedContainer = "container:Cans.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "Gain.vst"
|
||||
BlueprintName = "Cans"
|
||||
ReferencedContainer = "container:Cans.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>Cans.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>«PROJECTNAME».xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>8D01CCC60486CAD60068D4B7</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D01CCC60486CAD60068D4B7"
|
||||
BuildableName = "«PROJECTNAME».vst"
|
||||
BlueprintName = "«PROJECTNAME»"
|
||||
ReferencedContainer = "container:Sample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
24
plugins/MacSignedVST/Cans/mac/Info.plist
Executable file
24
plugins/MacSignedVST/Cans/mac/Info.plist
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Cans</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>Dthr</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
1
plugins/MacSignedVST/Cans/mac/PkgInfo
Executable file
1
plugins/MacSignedVST/Cans/mac/PkgInfo
Executable file
|
|
@ -0,0 +1 @@
|
|||
BNDL????
|
||||
17
plugins/MacSignedVST/Cans/mac/xcode_vst_prefix.h
Executable file
17
plugins/MacSignedVST/Cans/mac/xcode_vst_prefix.h
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#define MAC 1
|
||||
#define MACX 1
|
||||
|
||||
#define USE_NAMESPACE 0
|
||||
|
||||
#define TARGET_API_MAC_CARBON 1
|
||||
#define USENAVSERVICES 1
|
||||
|
||||
#define __CF_USE_FRAMEWORK_INCLUDES__
|
||||
|
||||
#if __MWERKS__
|
||||
#define __NOEXTENSIONS__
|
||||
#endif
|
||||
|
||||
#define QUARTZ 1
|
||||
|
||||
#include <AvailabilityMacros.h>
|
||||
236
plugins/MacSignedVST/Cans/source/Cans.cpp
Executable file
236
plugins/MacSignedVST/Cans/source/Cans.cpp
Executable file
|
|
@ -0,0 +1,236 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#include "Cans.h"
|
||||
#endif
|
||||
|
||||
AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Cans(audioMaster);}
|
||||
|
||||
Cans::Cans(audioMasterCallback audioMaster) :
|
||||
AudioEffectX(audioMaster, kNumPrograms, kNumParameters)
|
||||
{
|
||||
A = 0.5;
|
||||
B = 0.5;
|
||||
C = 0.5;
|
||||
D = 0.5;
|
||||
E = 0.5;
|
||||
|
||||
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;
|
||||
feedbackAR = 0.0;
|
||||
feedbackBR = 0.0;
|
||||
feedbackCR = 0.0;
|
||||
feedbackDR = 0.0;
|
||||
|
||||
iirInL = 0.0;
|
||||
iirFAL = 0.0;
|
||||
iirFBL = 0.0;
|
||||
iirFCL = 0.0;
|
||||
iirFDL = 0.0;
|
||||
iirOutL = 0.0;
|
||||
iirInR = 0.0;
|
||||
iirFAR = 0.0;
|
||||
iirFBR = 0.0;
|
||||
iirFCR = 0.0;
|
||||
iirFDR = 0.0;
|
||||
iirOutR = 0.0;
|
||||
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
shortA = 23;
|
||||
shortB = 357;
|
||||
shortC = 305;
|
||||
shortD = 186;
|
||||
shortE = 104;
|
||||
shortF = 255;
|
||||
shortG = 163;
|
||||
shortH = 147;
|
||||
shortI = 56;
|
||||
shortJ = 480;
|
||||
shortK = 317;
|
||||
shortL = 107;
|
||||
shortM = 11;
|
||||
shortN = 704;
|
||||
shortO = 26;
|
||||
shortP = 543;
|
||||
prevclearcoat = -1;
|
||||
|
||||
for (int x = 0; x < bez_total; x++) bez[x] = 0.0;
|
||||
bez[bez_cycle] = 1.0;
|
||||
|
||||
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
|
||||
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
|
||||
//this is reset: values being initialized only once. Startup values, whatever they are.
|
||||
|
||||
_canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect.
|
||||
_canDo.insert("plugAsSend"); // plug-in can be used as a send effect.
|
||||
_canDo.insert("x2in2out");
|
||||
setNumInputs(kNumInputs);
|
||||
setNumOutputs(kNumOutputs);
|
||||
setUniqueID(kUniqueId);
|
||||
canProcessReplacing(); // supports output replacing
|
||||
canDoubleReplacing(); // supports double precision processing
|
||||
programsAreChunks(true);
|
||||
vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name
|
||||
}
|
||||
|
||||
Cans::~Cans() {}
|
||||
VstInt32 Cans::getVendorVersion () {return 1000;}
|
||||
void Cans::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);}
|
||||
void Cans::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 Cans::getChunk (void** data, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)calloc(kNumParameters, sizeof(float));
|
||||
chunkData[0] = A;
|
||||
chunkData[1] = B;
|
||||
chunkData[2] = C;
|
||||
chunkData[3] = D;
|
||||
chunkData[4] = E;
|
||||
/* 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 Cans::setChunk (void* data, VstInt32 byteSize, bool isPreset)
|
||||
{
|
||||
float *chunkData = (float *)data;
|
||||
A = pinParameter(chunkData[0]);
|
||||
B = pinParameter(chunkData[1]);
|
||||
C = pinParameter(chunkData[2]);
|
||||
D = pinParameter(chunkData[3]);
|
||||
E = pinParameter(chunkData[4]);
|
||||
/* 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 Cans::setParameter(VstInt32 index, float value) {
|
||||
switch (index) {
|
||||
case kParamA: A = value; break;
|
||||
case kParamB: B = value; break;
|
||||
case kParamC: C = value; break;
|
||||
case kParamD: D = value; break;
|
||||
case kParamE: E = value; break;
|
||||
default: throw; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
float Cans::getParameter(VstInt32 index) {
|
||||
switch (index) {
|
||||
case kParamA: return A; break;
|
||||
case kParamB: return B; break;
|
||||
case kParamC: return C; break;
|
||||
case kParamD: return D; break;
|
||||
case kParamE: return E; break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} return 0.0; //we only need to update the relevant name, this is simple to manage
|
||||
}
|
||||
|
||||
void Cans::getParameterName(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "Room", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "Diffuse", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "Damping", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "Crossfd", kVstMaxParamStrLen); break;
|
||||
case kParamE: 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 Cans::getParameterDisplay(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: switch((VstInt32)( A * 4.999 )) //0 to almost edge of # of params
|
||||
{ case 0: vst_strncpy (text, "StudioA", kVstMaxParamStrLen); break;
|
||||
case 1: vst_strncpy (text, "StudioB", kVstMaxParamStrLen); break;
|
||||
case 2: vst_strncpy (text, "StudioC", kVstMaxParamStrLen); break;
|
||||
case 3: vst_strncpy (text, "StudioD", kVstMaxParamStrLen); break;
|
||||
case 4: vst_strncpy (text, "StudioE", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} break; //Z as example 'popup' parameter with four values */
|
||||
case kParamB: float2string (B, text, kVstMaxParamStrLen); break;
|
||||
case kParamC: float2string (C, text, kVstMaxParamStrLen); break;
|
||||
case kParamD: float2string (D, text, kVstMaxParamStrLen); break;
|
||||
case kParamE: float2string (E, text, kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
} //this displays the values and handles 'popups' where it's discrete choices
|
||||
}
|
||||
|
||||
void Cans::getParameterLabel(VstInt32 index, char *text) {
|
||||
switch (index) {
|
||||
case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break;
|
||||
default: break; // unknown parameter, shouldn't happen!
|
||||
}
|
||||
}
|
||||
|
||||
VstInt32 Cans::canDo(char *text)
|
||||
{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know
|
||||
|
||||
bool Cans::getEffectName(char* name) {
|
||||
vst_strncpy(name, "Cans", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
VstPlugCategory Cans::getPlugCategory() {return kPlugCategEffect;}
|
||||
|
||||
bool Cans::getProductString(char* text) {
|
||||
vst_strncpy (text, "airwindows Cans", kVstMaxProductStrLen); return true;
|
||||
}
|
||||
|
||||
bool Cans::getVendorString(char* text) {
|
||||
vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true;
|
||||
}
|
||||
197
plugins/MacSignedVST/Cans/source/Cans.h
Executable file
197
plugins/MacSignedVST/Cans/source/Cans.h
Executable file
|
|
@ -0,0 +1,197 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Created 8/12/11 by SPIAdmin
|
||||
* Copyright (c) Airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#define __Cans_H
|
||||
|
||||
#ifndef __audioeffect__
|
||||
#include "audioeffectx.h"
|
||||
#endif
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
enum {
|
||||
kParamA =0,
|
||||
kParamB =1,
|
||||
kParamC =2,
|
||||
kParamD =3,
|
||||
kParamE =4,
|
||||
kNumParameters = 5
|
||||
}; //
|
||||
|
||||
const int kshortA = 193;
|
||||
const int kshortB = 588;
|
||||
const int kshortC = 551;
|
||||
const int kshortD = 325;
|
||||
const int kshortE = 166;
|
||||
const int kshortF = 427;
|
||||
const int kshortG = 313;
|
||||
const int kshortH = 575;
|
||||
const int kshortI = 101;
|
||||
const int kshortJ = 794;
|
||||
const int kshortK = 789;
|
||||
const int kshortL = 385;
|
||||
const int kshortM = 12;
|
||||
const int kshortN = 1009;
|
||||
const int kshortO = 64;
|
||||
const int kshortP = 544;
|
||||
|
||||
const int kNumPrograms = 0;
|
||||
const int kNumInputs = 2;
|
||||
const int kNumOutputs = 2;
|
||||
const unsigned long kUniqueId = 'cans'; //Change this to what the AU identity is!
|
||||
|
||||
class Cans :
|
||||
public AudioEffectX
|
||||
{
|
||||
public:
|
||||
Cans(audioMasterCallback audioMaster);
|
||||
~Cans();
|
||||
virtual bool getEffectName(char* name); // The plug-in name
|
||||
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
|
||||
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
|
||||
virtual bool getVendorString(char* text); // Vendor info
|
||||
virtual VstInt32 getVendorVersion(); // Version number
|
||||
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
||||
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
|
||||
virtual void getProgramName(char *name); // read the name from the host
|
||||
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
|
||||
virtual VstInt32 getChunk (void** data, bool isPreset);
|
||||
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
|
||||
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
|
||||
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
|
||||
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
|
||||
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
|
||||
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
|
||||
virtual VstInt32 canDo(char *text);
|
||||
private:
|
||||
char _programName[kVstMaxProgNameLen + 1];
|
||||
std::set< std::string > _canDo;
|
||||
|
||||
float A;
|
||||
float B;
|
||||
float C;
|
||||
float D;
|
||||
float E;
|
||||
|
||||
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 feedbackAR;
|
||||
double feedbackBR;
|
||||
double feedbackCR;
|
||||
double feedbackDR;
|
||||
|
||||
double iirInL;
|
||||
double iirFAL;
|
||||
double iirFBL;
|
||||
double iirFCL;
|
||||
double iirFDL;
|
||||
double iirOutL;
|
||||
double iirInR;
|
||||
double iirFAR;
|
||||
double iirFBR;
|
||||
double iirFCR;
|
||||
double iirFDR;
|
||||
double iirOutR;
|
||||
|
||||
int countA;
|
||||
int countB;
|
||||
int countC;
|
||||
int countD;
|
||||
int countE;
|
||||
int countF;
|
||||
int countG;
|
||||
int countH;
|
||||
int countI;
|
||||
int countJ;
|
||||
int countK;
|
||||
int countL;
|
||||
int countM;
|
||||
int countN;
|
||||
int countO;
|
||||
int countP;
|
||||
|
||||
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 prevclearcoat;
|
||||
|
||||
enum {
|
||||
bez_AL,
|
||||
bez_AR,
|
||||
bez_BL,
|
||||
bez_BR,
|
||||
bez_CL,
|
||||
bez_CR,
|
||||
bez_InL,
|
||||
bez_InR,
|
||||
bez_UnInL,
|
||||
bez_UnInR,
|
||||
bez_SampL,
|
||||
bez_SampR,
|
||||
bez_cycle,
|
||||
bez_total
|
||||
}; //the new undersampling. bez signifies the bezier curve reconstruction
|
||||
double bez[bez_total];
|
||||
|
||||
uint32_t fpdL;
|
||||
uint32_t fpdR;
|
||||
//default stuff
|
||||
};
|
||||
|
||||
#endif
|
||||
886
plugins/MacSignedVST/Cans/source/CansProc.cpp
Executable file
886
plugins/MacSignedVST/Cans/source/CansProc.cpp
Executable file
|
|
@ -0,0 +1,886 @@
|
|||
/* ========================================
|
||||
* Cans - Cans.h
|
||||
* Copyright (c) airwindows, Airwindows uses the MIT license
|
||||
* ======================================== */
|
||||
|
||||
#ifndef __Cans_H
|
||||
#include "Cans.h"
|
||||
#endif
|
||||
|
||||
void Cans::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 clearcoat = (int)(A * 4.999);
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(B,1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-C,1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-D,1.618033988749894848204586));
|
||||
double wet = pow(E,1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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 Cans::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 clearcoat = (int)(A * 4.999);
|
||||
if (clearcoat != prevclearcoat) {
|
||||
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;}
|
||||
countA = 1;
|
||||
countB = 1;
|
||||
countC = 1;
|
||||
countD = 1;
|
||||
countE = 1;
|
||||
countF = 1;
|
||||
countG = 1;
|
||||
countH = 1;
|
||||
countI = 1;
|
||||
countJ = 1;
|
||||
countK = 1;
|
||||
countL = 1;
|
||||
countM = 1;
|
||||
countN = 1;
|
||||
countO = 1;
|
||||
countP = 1;
|
||||
|
||||
switch (clearcoat)
|
||||
{
|
||||
case 0:
|
||||
shortA = 34; shortB = 193; shortC = 255; shortD = 150; shortE = 24; shortF = 204; shortG = 85; shortH = 295; shortI = 40; shortJ = 371; shortK = 370; shortL = 202; shortM = 11; shortN = 431; shortO = 23; shortP = 323; //2 to 30 ms, 32 seat room
|
||||
break; //32b-U rated incompressible if filesize larger than 20,150,000 bytes
|
||||
case 1:
|
||||
shortA = 32; shortB = 298; shortC = 402; shortD = 161; shortE = 165; shortF = 149; shortG = 43; shortH = 313; shortI = 83; shortJ = 397; shortK = 316; shortL = 315; shortM = 11; shortN = 685; shortO = 16; shortP = 486; //3 to 40 ms, 59 seat room
|
||||
break; //59b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 2:
|
||||
shortA = 23; shortB = 357; shortC = 305; shortD = 186; shortE = 104; shortF = 255; shortG = 163; shortH = 147; shortI = 56; shortJ = 480; shortK = 317; shortL = 107; shortM = 11; shortN = 704; shortO = 26; shortP = 543; //4 to 40 ms, 60 seat room
|
||||
break; //60b-U rated incompressible if filesize larger than 21,035,831 bytes
|
||||
case 3:
|
||||
shortA = 192; shortB = 463; shortC = 420; shortD = 34; shortE = 161; shortF = 426; shortG = 160; shortH = 474; shortI = 21; shortJ = 343; shortK = 296; shortL = 294; shortM = 11; shortN = 987; shortO = 64; shortP = 482; //5 to 51 ms, 94 seat room
|
||||
break; //94b-U rated incompressible if filesize larger than 21,700,000 bytes
|
||||
case 4:
|
||||
default:
|
||||
shortA = 173; shortB = 587; shortC = 550; shortD = 324; shortE = 165; shortF = 324; shortG = 312; shortH = 574; shortI = 100; shortJ = 793; shortK = 788; shortL = 385; shortM = 11; shortN = 1008; shortO = 46; shortP = 380; //10 to 67 ms, 177 seat club
|
||||
break; //177-U rated incompressible if filesize larger than 22,796,452 bytes
|
||||
}
|
||||
prevclearcoat = clearcoat;
|
||||
}
|
||||
double derez = 1.0/overallscale;
|
||||
derez = 1.0 / ((int)(1.0/derez));
|
||||
//this hard-locks derez to exact subdivisions of 1.0
|
||||
|
||||
int diffuse = pow(B,1.618033988749894848204586)*16;
|
||||
double iirAmt = 1.0-pow(1.0-C,1.618033988749894848204586);
|
||||
double iirExt = iirAmt/overallscale;
|
||||
double crossfade = (1.0-pow(1.0-D,1.618033988749894848204586));
|
||||
double wet = pow(E,1.618033988749894848204586);
|
||||
|
||||
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;
|
||||
|
||||
iirInL = (inputSampleL*iirExt)+(iirInL*(1.0-iirExt)); inputSampleL = iirInL;
|
||||
iirInR = (inputSampleR*iirExt)+(iirInR*(1.0-iirExt)); inputSampleR = iirInR;
|
||||
|
||||
bez[bez_cycle] += derez;
|
||||
bez[bez_SampL] += ((inputSampleL+bez[bez_InL]) * derez);
|
||||
bez[bez_SampR] += ((inputSampleR+bez[bez_InR]) * derez);
|
||||
bez[bez_InL] = inputSampleL; bez[bez_InR] = inputSampleR;
|
||||
if (bez[bez_cycle] > 1.0) { //hit the end point and we do a reverb sample
|
||||
bez[bez_cycle] = 0.0;
|
||||
|
||||
iirFAL = (feedbackAL*iirAmt)+(iirFAL*(1.0-iirAmt)); feedbackAL = iirFAL;
|
||||
iirFAR = (feedbackAR*iirAmt)+(iirFAR*(1.0-iirAmt)); feedbackAR = iirFAR;
|
||||
iirFBL = (feedbackBL*iirAmt)+(iirFBL*(1.0-iirAmt)); feedbackBL = iirFBL;
|
||||
iirFBR = (feedbackBR*iirAmt)+(iirFBR*(1.0-iirAmt)); feedbackBR = iirFBR;
|
||||
iirFCL = (feedbackCL*iirAmt)+(iirFCL*(1.0-iirAmt)); feedbackCL = iirFCL;
|
||||
iirFCR = (feedbackCR*iirAmt)+(iirFCR*(1.0-iirAmt)); feedbackCR = iirFCR;
|
||||
iirFDL = (feedbackDL*iirAmt)+(iirFDL*(1.0-iirAmt)); feedbackDL = iirFDL;
|
||||
iirFDR = (feedbackDR*iirAmt)+(iirFDR*(1.0-iirAmt)); feedbackDR = iirFDR;
|
||||
|
||||
double outAL, outBL, outCL, outDL, outAR, outBR, outCR, outDR;
|
||||
if (diffuse < 4) {
|
||||
aAL[countA] = (bez[bez_SampL]) + (feedbackAL * 0.03125);
|
||||
aAR[countA] = (bez[bez_SampR]) + (feedbackAR * 0.03125);
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL = aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR = aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
} else {
|
||||
outAL = (bez[bez_SampL] - (aAL[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAL * 0.03125);
|
||||
aAL[countA] = outAL; outAL *= 0.618033988749894848204586;
|
||||
outAR = (bez[bez_SampR] - (aAR[(countA+1)-((countA+1 > shortA)?shortA+1:0)]*0.618033988749894848204586)) + (feedbackAR * 0.03125);
|
||||
aAR[countA] = outAR; outAR *= 0.618033988749894848204586;
|
||||
countA++; if (countA < 0 || countA > shortA) countA = 0;
|
||||
outAL += aAL[countA-((countA > shortA)?shortA+1:0)];
|
||||
outAR += aAR[countA-((countA > shortA)?shortA+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 12) {
|
||||
aBL[countB] = (bez[bez_SampL]) + (feedbackBL * 0.03125);
|
||||
aBR[countB] = (bez[bez_SampR]) + (feedbackBR * 0.03125);
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL = aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR = aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
} else {
|
||||
outBL = (bez[bez_SampL] - (aBL[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBL * 0.03125);
|
||||
aBL[countB] = outBL; outBL *= 0.618033988749894848204586;
|
||||
outBR = (bez[bez_SampR] - (aBR[(countB+1)-((countB+1 > shortB)?shortB+1:0)]*0.618033988749894848204586)) + (feedbackBR * 0.03125);
|
||||
aBR[countB] = outBR; outBR *= 0.618033988749894848204586;
|
||||
countB++; if (countB < 0 || countB > shortB) countB = 0;
|
||||
outBL += aBL[countB-((countB > shortB)?shortB+1:0)];
|
||||
outBR += aBR[countB-((countB > shortB)?shortB+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 10) {
|
||||
aCL[countC] = (bez[bez_SampL]) + (feedbackCL * 0.03125);
|
||||
aCR[countC] = (bez[bez_SampR]) + (feedbackCR * 0.03125);
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL = aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR = aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
} else {
|
||||
outCL = (bez[bez_SampL] - (aCL[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCL * 0.03125);
|
||||
aCL[countC] = outCL; outCL *= 0.618033988749894848204586;
|
||||
outCR = (bez[bez_SampR] - (aCR[(countC+1)-((countC+1 > shortC)?shortC+1:0)]*0.618033988749894848204586)) + (feedbackCR * 0.03125);
|
||||
aCR[countC] = outCR; outCR *= 0.618033988749894848204586;
|
||||
countC++; if (countC < 0 || countC > shortC) countC = 0;
|
||||
outCL += aCL[countC-((countC > shortC)?shortC+1:0)];
|
||||
outCR += aCR[countC-((countC > shortC)?shortC+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 6) {
|
||||
aDL[countD] = (bez[bez_SampL]) + (feedbackDL * 0.03125);
|
||||
aDR[countD] = (bez[bez_SampR]) + (feedbackDR * 0.03125);
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL = aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR = aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
} else {
|
||||
outDL = (bez[bez_SampL] - (aDL[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDL * 0.03125);
|
||||
aDL[countD] = outDL; outDL *= 0.618033988749894848204586;
|
||||
outDR = (bez[bez_SampR] - (aDR[(countD+1)-((countD+1 > shortD)?shortD+1:0)]*0.618033988749894848204586)) + (feedbackDR * 0.03125);
|
||||
aDR[countD] = outDR; outDR *= 0.618033988749894848204586;
|
||||
countD++; if (countD < 0 || countD > shortD) countD = 0;
|
||||
outDL += aDL[countD-((countD > shortD)?shortD+1:0)];
|
||||
outDR += aDR[countD-((countD > shortD)?shortD+1:0)];
|
||||
}
|
||||
|
||||
double outEL, outFL, outGL, outHL, outER, outFR, outGR, outHR;
|
||||
if (diffuse < 3) {
|
||||
aEL[countE] = outAL - (outBL + outCL + outDL);
|
||||
aER[countE] = outAR - (outBR + outCR + outDR);
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL = aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER = aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
} else {
|
||||
outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aEL[countE] = outEL; outEL *= 0.618033988749894848204586;
|
||||
outER = (outAR - (outBR + outCR + outDR)) - (aER[(countE+1)-((countE+1 > shortE)?shortE+1:0)]*0.618033988749894848204586);
|
||||
aER[countE] = outER; outER *= 0.618033988749894848204586;
|
||||
countE++; if (countE < 0 || countE > shortE) countE = 0;
|
||||
outEL += aEL[countE-((countE > shortE)?shortE+1:0)];
|
||||
outER += aER[countE-((countE > shortE)?shortE+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 8) {
|
||||
aFL[countF] = outBL - (outAL + outCL + outDL);
|
||||
aFR[countF] = outBR - (outAR + outCR + outDR);
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL = aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR = aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
} else {
|
||||
outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFL[countF] = outFL; outFL *= 0.618033988749894848204586;
|
||||
outFR = (outBR - (outAR + outCR + outDR)) - (aFR[(countF+1)-((countF+1 > shortF)?shortF+1:0)]*0.618033988749894848204586);
|
||||
aFR[countF] = outFR; outFR *= 0.618033988749894848204586;
|
||||
countF++; if (countF < 0 || countF > shortF) countF = 0;
|
||||
outFL += aFL[countF-((countF > shortF)?shortF+1:0)];
|
||||
outFR += aFR[countF-((countF > shortF)?shortF+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 5) {
|
||||
aGL[countG] = outCL - (outAL + outBL + outDL);
|
||||
aGR[countG] = outCR - (outAR + outBR + outDR);
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL = aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR = aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
} else {
|
||||
outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGL[countG] = outGL; outGL *= 0.618033988749894848204586;
|
||||
outGR = (outCR - (outAR + outBR + outDR)) - (aGR[(countG+1)-((countG+1 > shortG)?shortG+1:0)]*0.618033988749894848204586);
|
||||
aGR[countG] = outGR; outGR *= 0.618033988749894848204586;
|
||||
countG++; if (countG < 0 || countG > shortG) countG = 0;
|
||||
outGL += aGL[countG-((countG > shortG)?shortG+1:0)];
|
||||
outGR += aGR[countG-((countG > shortG)?shortG+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 11) {
|
||||
aHL[countH] = outDL - (outAL + outBL + outCL);
|
||||
aHR[countH] = outDR - (outAR + outBR + outCR);
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL = aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR = aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
} else {
|
||||
outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHL[countH] = outHL; outHL *= 0.618033988749894848204586;
|
||||
outHR = (outDR - (outAR + outBR + outCR)) - (aHR[(countH+1)-((countH+1 > shortH)?shortH+1:0)]*0.618033988749894848204586);
|
||||
aHR[countH] = outHR; outHR *= 0.618033988749894848204586;
|
||||
countH++; if (countH < 0 || countH > shortH) countH = 0;
|
||||
outHL += aHL[countH-((countH > shortH)?shortH+1:0)];
|
||||
outHR += aHR[countH-((countH > shortH)?shortH+1:0)];
|
||||
}
|
||||
|
||||
double outIL, outJL, outKL, outLL, outIR, outJR, outKR, outLR;
|
||||
if (diffuse < 2) {
|
||||
aIL[countI] = outEL - (outFL + outGL + outHL);
|
||||
aIR[countI] = outER - (outFR + outGR + outHR);
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL = aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR = aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
} else {
|
||||
outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIL[countI] = outIL; outIL *= 0.618033988749894848204586;
|
||||
outIR = (outER - (outFR + outGR + outHR)) - (aIR[(countI+1)-((countI+1 > shortI)?shortI+1:0)]*0.618033988749894848204586);
|
||||
aIR[countI] = outIR; outIR *= 0.618033988749894848204586;
|
||||
countI++; if (countI < 0 || countI > shortI) countI = 0;
|
||||
outIL += aIL[countI-((countI > shortI)?shortI+1:0)];
|
||||
outIR += aIR[countI-((countI > shortI)?shortI+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 14) {
|
||||
aJL[countJ] = outFL - (outEL + outGL + outHL);
|
||||
aJR[countJ] = outFR - (outER + outGR + outHR);
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL = aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR = aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
} else {
|
||||
outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJL[countJ] = outJL; outJL *= 0.618033988749894848204586;
|
||||
outJR = (outFR - (outER + outGR + outHR)) - (aJR[(countJ+1)-((countJ+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586);
|
||||
aJR[countJ] = outJR; outJR *= 0.618033988749894848204586;
|
||||
countJ++; if (countJ < 0 || countJ > shortJ) countJ = 0;
|
||||
outJL += aJL[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
outJR += aJR[countJ-((countJ > shortJ)?shortJ+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 13) {
|
||||
aKL[countK] = outGL - (outEL + outFL + outHL);
|
||||
aKR[countK] = outGR - (outER + outFR + outHR);
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL = aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR = aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
} else {
|
||||
outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKL[countK] = outKL; outKL *= 0.618033988749894848204586;
|
||||
outKR = (outGR - (outER + outFR + outHR)) - (aKR[(countK+1)-((countK+1 > shortK)?shortK+1:0)]*0.618033988749894848204586);
|
||||
aKR[countK] = outKR; outKR *= 0.618033988749894848204586;
|
||||
countK++; if (countK < 0 || countK > shortK) countK = 0;
|
||||
outKL += aKL[countK-((countK > shortK)?shortK+1:0)];
|
||||
outKR += aKR[countK-((countK > shortK)?shortK+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 7) {
|
||||
aLL[countL] = outHL - (outEL + outFL + outGL);
|
||||
aLR[countL] = outHR - (outER + outFR + outGR);
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL = aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR = aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
} else {
|
||||
outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLL[countL] = outLL; outLL *= 0.618033988749894848204586;
|
||||
outLR = (outHR - (outER + outFR + outGR)) - (aLR[(countL+1)-((countL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586);
|
||||
aLR[countL] = outLR; outLR *= 0.618033988749894848204586;
|
||||
countL++; if (countL < 0 || countL > shortL) countL = 0;
|
||||
outLL += aLL[countL-((countL > shortL)?shortL+1:0)];
|
||||
outLR += aLR[countL-((countL > shortL)?shortL+1:0)];
|
||||
}
|
||||
|
||||
double outML, outNL, outOL, outPL, outMR, outNR, outOR, outPR;
|
||||
if (diffuse < 0) {
|
||||
aML[countM] = outIL - (outJL + outKL + outLL);
|
||||
aMR[countM] = outIR - (outJR + outKR + outLR);
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML = aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR = aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
} else {
|
||||
outML = (outIL - (outJL + outKL + outLL)) - (aML[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aML[countM] = outML; outML *= 0.618033988749894848204586;
|
||||
outMR = (outIR - (outJR + outKR + outLR)) - (aMR[(countM+1)-((countM+1 > shortM)?shortM+1:0)]*0.618033988749894848204586);
|
||||
aMR[countM] = outMR; outMR *= 0.618033988749894848204586;
|
||||
countM++; if (countM < 0 || countM > shortM) countM = 0;
|
||||
outML += aML[countM-((countM > shortM)?shortM+1:0)];
|
||||
outMR += aMR[countM-((countM > shortM)?shortM+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 15) {
|
||||
aNL[countN] = outJL - (outIL + outKL + outLL);
|
||||
aNR[countN] = outJR - (outIR + outKR + outLR);
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL = aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR = aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
} else {
|
||||
outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNL[countN] = outNL; outNL *= 0.618033988749894848204586;
|
||||
outNR = (outJR - (outIR + outKR + outLR)) - (aNR[(countN+1)-((countN+1 > shortN)?shortN+1:0)]*0.618033988749894848204586);
|
||||
aNR[countN] = outNR; outNR *= 0.618033988749894848204586;
|
||||
countN++; if (countN < 0 || countN > shortN) countN = 0;
|
||||
outNL += aNL[countN-((countN > shortN)?shortN+1:0)];
|
||||
outNR += aNR[countN-((countN > shortN)?shortN+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 1) {
|
||||
aOL[countO] = outKL - (outIL + outJL + outLL);
|
||||
aOR[countO] = outKR - (outIR + outJR + outLR);
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL = aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR = aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
} else {
|
||||
outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOL[countO] = outOL; outOL *= 0.618033988749894848204586;
|
||||
outOR = (outKR - (outIR + outJR + outLR)) - (aOR[(countO+1)-((countO+1 > shortO)?shortO+1:0)]*0.618033988749894848204586);
|
||||
aOR[countO] = outOR; outOR *= 0.618033988749894848204586;
|
||||
countO++; if (countO < 0 || countO > shortO) countO = 0;
|
||||
outOL += aOL[countO-((countO > shortO)?shortO+1:0)];
|
||||
outOR += aOR[countO-((countO > shortO)?shortO+1:0)];
|
||||
}
|
||||
|
||||
if (diffuse < 9) {
|
||||
aPL[countP] = outLL - (outIL + outJL + outKL);
|
||||
aPR[countP] = outLR - (outIR + outJR + outKR);
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL = aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR = aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
} else {
|
||||
outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPL[countP] = outPL; outPL *= 0.618033988749894848204586;
|
||||
outPR = (outLR - (outIR + outJR + outKR)) - (aPR[(countP+1)-((countP+1 > shortP)?shortP+1:0)]*0.618033988749894848204586);
|
||||
aPR[countP] = outPR; outPR *= 0.618033988749894848204586;
|
||||
countP++; if (countP < 0 || countP > shortP) countP = 0;
|
||||
outPL += aPL[countP-((countP > shortP)?shortP+1:0)];
|
||||
outPR += aPR[countP-((countP > shortP)?shortP+1:0)];
|
||||
}
|
||||
|
||||
double steerAL = outML - (outNL + outOL + outPL);
|
||||
double steerBL = outNL - (outML + outOL + outPL);
|
||||
double steerCL = outOL - (outML + outNL + outPL);
|
||||
double steerDL = outPL - (outML + outNL + outOL);
|
||||
|
||||
double steerAR = outMR - (outNR + outOR + outPR);
|
||||
double steerBR = outNR - (outMR + outOR + outPR);
|
||||
double steerCR = outOR - (outMR + outNR + outPR);
|
||||
double steerDR = outPR - (outMR + outNR + outOR);
|
||||
|
||||
feedbackAL = (steerAL * (1.0-crossfade)) + (steerAR * crossfade);
|
||||
feedbackBL = (steerBL * (1.0-crossfade)) + (steerBR * crossfade);
|
||||
feedbackCL = (steerCL * (1.0-crossfade)) + (steerCR * crossfade);
|
||||
feedbackDL = (steerDL * (1.0-crossfade)) + (steerDR * crossfade);
|
||||
|
||||
feedbackAR = (steerAR * (1.0-crossfade)) + (steerAL * crossfade);
|
||||
feedbackBR = (steerBR * (1.0-crossfade)) + (steerBL * crossfade);
|
||||
feedbackCR = (steerCR * (1.0-crossfade)) + (steerCL * crossfade);
|
||||
feedbackDR = (steerDR * (1.0-crossfade)) + (steerDL * crossfade);
|
||||
//which we need to feed back into the input again, a bit
|
||||
|
||||
inputSampleL = (outML + outNL + outOL + outPL)/16.0;
|
||||
inputSampleR = (outMR + outNR + outOR + outPR)/16.0;
|
||||
//and take the final combined sum of outputs, corrected for Householder gain and averaging
|
||||
|
||||
bez[bez_CL] = bez[bez_BL];
|
||||
bez[bez_BL] = bez[bez_AL];
|
||||
bez[bez_AL] = inputSampleL;
|
||||
bez[bez_SampL] = 0.0;
|
||||
|
||||
bez[bez_CR] = bez[bez_BR];
|
||||
bez[bez_BR] = bez[bez_AR];
|
||||
bez[bez_AR] = inputSampleR;
|
||||
bez[bez_SampR] = 0.0;
|
||||
}
|
||||
double CBL = (bez[bez_CL]*(1.0-bez[bez_cycle]))+(bez[bez_BL]*bez[bez_cycle]);
|
||||
double CBR = (bez[bez_CR]*(1.0-bez[bez_cycle]))+(bez[bez_BR]*bez[bez_cycle]);
|
||||
double BAL = (bez[bez_BL]*(1.0-bez[bez_cycle]))+(bez[bez_AL]*bez[bez_cycle]);
|
||||
double BAR = (bez[bez_BR]*(1.0-bez[bez_cycle]))+(bez[bez_AR]*bez[bez_cycle]);
|
||||
double CBAL = (bez[bez_BL]+(CBL*(1.0-bez[bez_cycle]))+(BAL*bez[bez_cycle]))*0.125;
|
||||
double CBAR = (bez[bez_BR]+(CBR*(1.0-bez[bez_cycle]))+(BAR*bez[bez_cycle]))*0.125;
|
||||
inputSampleL = CBAL;
|
||||
inputSampleR = CBAR;
|
||||
|
||||
iirOutL = (inputSampleL*iirExt)+(iirOutL*(1.0-iirExt)); inputSampleL = iirOutL;
|
||||
iirOutR = (inputSampleR*iirExt)+(iirOutR*(1.0-iirExt)); inputSampleR = iirOutR;
|
||||
|
||||
inputSampleL = (inputSampleL*wet)+(drySampleL*(1.0-wet));
|
||||
inputSampleR = (inputSampleR*wet)+(drySampleR*(1.0-wet));
|
||||
|
||||
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;
|
||||
|
||||
//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++;
|
||||
}
|
||||
}
|
||||
108
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
108
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/christopherjohnson.pbxuser
Executable file
|
|
@ -0,0 +1,108 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeTarget = 8D01CCC60486CAD60068D4B7 /* Isolator3 */;
|
||||
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 = 745438456;
|
||||
PBXWorkspaceStateSaveDate = 745438456;
|
||||
};
|
||||
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
2407DEB6089929BA00EB68BF /* Isolator3.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {948, 2772}}";
|
||||
sepNavSelRange = "{999, 0}";
|
||||
sepNavVisRange = "{3762, 1541}";
|
||||
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
245463B80991757100464AD3 /* Isolator3.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1110, 2034}}";
|
||||
sepNavSelRange = "{3294, 0}";
|
||||
sepNavVisRange = "{2587, 771}";
|
||||
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}";
|
||||
sepNavSelRange = "{10616, 0}";
|
||||
sepNavVisRange = "{9653, 2414}";
|
||||
sepNavWindowFrame = "{{15, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
24D8286F09A914000093AEF8 /* Isolator3Proc.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1290, 21060}}";
|
||||
sepNavSelRange = "{51163, 0}";
|
||||
sepNavVisRange = "{25980, 1774}";
|
||||
sepNavWindowFrame = "{{31, 42}, {895, 831}}";
|
||||
};
|
||||
};
|
||||
8B02375E1D42B1C400E1E8C8 /* Source Control */ = {
|
||||
isa = PBXSourceControlManager;
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
8B02375F1D42B1C400E1E8C8 /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */ = {
|
||||
activeExec = 0;
|
||||
};
|
||||
}
|
||||
1503
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
1503
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/christopherjohnson.perspectivev3
Executable file
File diff suppressed because it is too large
Load diff
462
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
462
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/project.pbxproj
Executable file
|
|
@ -0,0 +1,462 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
2407DEB9089929BA00EB68BF /* Isolator3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* Isolator3.cpp */; };
|
||||
245463B90991757100464AD3 /* Isolator3.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* Isolator3.h */; };
|
||||
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
|
||||
24D8287009A914000093AEF8 /* Isolator3Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* Isolator3Proc.cpp */; };
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
|
||||
8B2406AD2C6E9C1C00D7FA27 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406A12C6E9C1C00D7FA27 /* vstfxstore.h */; };
|
||||
8B2406AE2C6E9C1C00D7FA27 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406A22C6E9C1C00D7FA27 /* aeffect.h */; };
|
||||
8B2406AF2C6E9C1C00D7FA27 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406A32C6E9C1C00D7FA27 /* aeffectx.h */; };
|
||||
8B2406B02C6E9C1C00D7FA27 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406A72C6E9C1C00D7FA27 /* audioeffectx.h */; };
|
||||
8B2406B12C6E9C1C00D7FA27 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406A82C6E9C1C00D7FA27 /* audioeffect.cpp */; };
|
||||
8B2406B22C6E9C1C00D7FA27 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406A92C6E9C1C00D7FA27 /* audioeffectx.cpp */; };
|
||||
8B2406B32C6E9C1C00D7FA27 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406AA2C6E9C1C00D7FA27 /* aeffeditor.h */; };
|
||||
8B2406B42C6E9C1C00D7FA27 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B2406AB2C6E9C1C00D7FA27 /* vstplugmain.cpp */; };
|
||||
8B2406B52C6E9C1C00D7FA27 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2406AC2C6E9C1C00D7FA27 /* audioeffect.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
2407DE920899296600EB68BF /* Isolator3.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Isolator3.vst; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2407DEB6089929BA00EB68BF /* Isolator3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Isolator3.cpp; path = source/Isolator3.cpp; sourceTree = "<group>"; };
|
||||
245463B80991757100464AD3 /* Isolator3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Isolator3.h; path = source/Isolator3.h; sourceTree = "<group>"; };
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
|
||||
24D8286F09A914000093AEF8 /* Isolator3Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Isolator3Proc.cpp; path = source/Isolator3Proc.cpp; sourceTree = "<group>"; };
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; };
|
||||
8B2406A12C6E9C1C00D7FA27 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
|
||||
8B2406A22C6E9C1C00D7FA27 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
|
||||
8B2406A32C6E9C1C00D7FA27 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
|
||||
8B2406A72C6E9C1C00D7FA27 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
|
||||
8B2406A82C6E9C1C00D7FA27 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
|
||||
8B2406A92C6E9C1C00D7FA27 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
|
||||
8B2406AA2C6E9C1C00D7FA27 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
|
||||
8B2406AB2C6E9C1C00D7FA27 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
|
||||
8B2406AC2C6E9C1C00D7FA27 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = "<group>"; };
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* FM-Chopper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
08FB77ADFE841716C02AAC07 /* Source */,
|
||||
);
|
||||
name = "FM-Chopper";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */,
|
||||
24CFB70307E7A0220081BD57 /* PkgInfo */,
|
||||
8D01CCD10486CAD60068D4B7 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77ADFE841716C02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24069E2C6E9C1C00D7FA27 /* vstsdk2.4 */,
|
||||
2407DEB6089929BA00EB68BF /* Isolator3.cpp */,
|
||||
24D8286F09A914000093AEF8 /* Isolator3Proc.cpp */,
|
||||
245463B80991757100464AD3 /* Isolator3.h */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB4FE9D528D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2407DE920899296600EB68BF /* Isolator3.vst */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24069E2C6E9C1C00D7FA27 /* vstsdk2.4 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B24069F2C6E9C1C00D7FA27 /* pluginterfaces */,
|
||||
8B2406A42C6E9C1C00D7FA27 /* public.sdk */,
|
||||
);
|
||||
name = vstsdk2.4;
|
||||
path = ../../../../vstsdk2.4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B24069F2C6E9C1C00D7FA27 /* pluginterfaces */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2406A02C6E9C1C00D7FA27 /* vst2.x */,
|
||||
);
|
||||
path = pluginterfaces;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2406A02C6E9C1C00D7FA27 /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2406A12C6E9C1C00D7FA27 /* vstfxstore.h */,
|
||||
8B2406A22C6E9C1C00D7FA27 /* aeffect.h */,
|
||||
8B2406A32C6E9C1C00D7FA27 /* aeffectx.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2406A42C6E9C1C00D7FA27 /* public.sdk */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2406A52C6E9C1C00D7FA27 /* source */,
|
||||
);
|
||||
path = public.sdk;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2406A52C6E9C1C00D7FA27 /* source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2406A62C6E9C1C00D7FA27 /* vst2.x */,
|
||||
);
|
||||
path = source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B2406A62C6E9C1C00D7FA27 /* vst2.x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8B2406A72C6E9C1C00D7FA27 /* audioeffectx.h */,
|
||||
8B2406A82C6E9C1C00D7FA27 /* audioeffect.cpp */,
|
||||
8B2406A92C6E9C1C00D7FA27 /* audioeffectx.cpp */,
|
||||
8B2406AA2C6E9C1C00D7FA27 /* aeffeditor.h */,
|
||||
8B2406AB2C6E9C1C00D7FA27 /* vstplugmain.cpp */,
|
||||
8B2406AC2C6E9C1C00D7FA27 /* audioeffect.h */,
|
||||
);
|
||||
path = vst2.x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8B2406B32C6E9C1C00D7FA27 /* aeffeditor.h in Headers */,
|
||||
245463B90991757100464AD3 /* Isolator3.h in Headers */,
|
||||
8B2406B52C6E9C1C00D7FA27 /* audioeffect.h in Headers */,
|
||||
8B2406AE2C6E9C1C00D7FA27 /* aeffect.h in Headers */,
|
||||
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
|
||||
8B2406B02C6E9C1C00D7FA27 /* audioeffectx.h in Headers */,
|
||||
8B2406AD2C6E9C1C00D7FA27 /* vstfxstore.h in Headers */,
|
||||
8B2406AF2C6E9C1C00D7FA27 /* aeffectx.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "Isolator3" */;
|
||||
buildPhases = (
|
||||
8D01CCC70486CAD60068D4B7 /* Headers */,
|
||||
8D01CCC90486CAD60068D4B7 /* Resources */,
|
||||
8D01CCCB0486CAD60068D4B7 /* Sources */,
|
||||
24CFB70807E7A07C0081BD57 /* Copy PkgInfo */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Isolator3;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = "FM-Chopper";
|
||||
productReference = 2407DE920899296600EB68BF /* Isolator3.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 "Isolator3" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
ja,
|
||||
en,
|
||||
Base,
|
||||
fr,
|
||||
de,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D01CCC60486CAD60068D4B7 /* Isolator3 */,
|
||||
);
|
||||
};
|
||||
/* 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 = (
|
||||
8B2406B22C6E9C1C00D7FA27 /* audioeffectx.cpp in Sources */,
|
||||
2407DEB9089929BA00EB68BF /* Isolator3.cpp in Sources */,
|
||||
8B2406B12C6E9C1C00D7FA27 /* audioeffect.cpp in Sources */,
|
||||
8B2406B42C6E9C1C00D7FA27 /* vstplugmain.cpp in Sources */,
|
||||
24D8287009A914000093AEF8 /* Isolator3Proc.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.Isolator3;
|
||||
PRODUCT_NAME = Isolator3;
|
||||
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.Isolator3;
|
||||
PRODUCT_NAME = Isolator3;
|
||||
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 "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAEE08919AE700E695F9 /* Debug */,
|
||||
24BEAAEF08919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "Isolator3" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
24BEAAF208919AE700E695F9 /* Debug */,
|
||||
24BEAAF308919AE700E695F9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
7
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
7
plugins/MacSignedVST/Isolator3/Isolator3.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Sample.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue