From f87fdca8e3df86e62d6552f11a640b71691b57cd Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Sun, 17 Nov 2019 19:33:24 -0500 Subject: PocketVerbs --- .../PocketVerbs/English.lproj/InfoPlist.strings | Bin 0 -> 388 bytes plugins/MacAU/PocketVerbs/Info.plist | 28 + plugins/MacAU/PocketVerbs/PocketVerbs.cpp | 4909 ++++++++++++++++++++ plugins/MacAU/PocketVerbs/PocketVerbs.exp | 1 + plugins/MacAU/PocketVerbs/PocketVerbs.h | 271 ++ plugins/MacAU/PocketVerbs/PocketVerbs.r | 61 + .../christopherjohnson.mode1v3 | 1374 ++++++ .../christopherjohnson.pbxuser | 149 + .../christopherjohnson.perspectivev3 | 1485 ++++++ .../PocketVerbs.xcodeproj/project.pbxproj | 490 ++ plugins/MacAU/PocketVerbs/PocketVerbsVersion.h | 58 + .../PocketVerbs.pbxindex/categories.pbxbtree | Bin 0 -> 84 bytes .../PocketVerbs.pbxindex/cdecls.pbxbtree | Bin 0 -> 324808 bytes .../PocketVerbs.pbxindex/decls.pbxbtree | Bin 0 -> 328468 bytes .../PocketVerbs.pbxindex/files.pbxbtree | Bin 0 -> 3808 bytes .../PocketVerbs.pbxindex/imports.pbxbtree | Bin 0 -> 10652 bytes .../PocketVerbs.pbxindex/pbxindex.header | Bin 0 -> 24 bytes .../PocketVerbs.pbxindex/protocols.pbxbtree | Bin 0 -> 84 bytes .../PocketVerbs.pbxindex/refs.pbxbtree | Bin 0 -> 244932 bytes .../strings.pbxstrings/control | Bin 0 -> 524308 bytes .../strings.pbxstrings/strings | Bin 0 -> 714783 bytes .../PocketVerbs.pbxindex/subclasses.pbxbtree | Bin 0 -> 824 bytes .../PocketVerbs.pbxindex/symbols0.pbxsymbols | Bin 0 -> 1389968 bytes plugins/MacAU/PocketVerbs/version.plist | 16 + 24 files changed, 8842 insertions(+) create mode 100755 plugins/MacAU/PocketVerbs/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/PocketVerbs/Info.plist create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.cpp create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.exp create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.h create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.r create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/PocketVerbs/PocketVerbsVersion.h create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/categories.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/cdecls.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/decls.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/files.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/imports.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/pbxindex.header create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/protocols.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/refs.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/control create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/strings create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/subclasses.pbxbtree create mode 100755 plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/symbols0.pbxsymbols create mode 100755 plugins/MacAU/PocketVerbs/version.plist (limited to 'plugins/MacAU') diff --git a/plugins/MacAU/PocketVerbs/English.lproj/InfoPlist.strings b/plugins/MacAU/PocketVerbs/English.lproj/InfoPlist.strings new file mode 100755 index 0000000..eaeed1c Binary files /dev/null and b/plugins/MacAU/PocketVerbs/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/PocketVerbs/Info.plist b/plugins/MacAU/PocketVerbs/Info.plist new file mode 100755 index 0000000..12f0517 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.cpp b/plugins/MacAU/PocketVerbs/PocketVerbs.cpp new file mode 100755 index 0000000..741b94e --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.cpp @@ -0,0 +1,4909 @@ +/* +* File: PocketVerbs.cpp +* +* Version: 1.0 +* +* Created: 8/19/12 +* +* Copyright: Copyright © 2012 Airwindows, All Rights Reserved +* +* 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. +* +*/ +/*============================================================================= + PocketVerbs.cpp + +=============================================================================*/ +#include "PocketVerbs.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(PocketVerbs) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::PocketVerbs +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +PocketVerbs::PocketVerbs(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + SetParameter(kParam_Three, kDefaultValue_ParamThree ); + SetParameter(kParam_Four, kDefaultValue_ParamFour ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult PocketVerbs::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + if ((inScope == kAudioUnitScope_Global) && (inParameterID == kParam_One)) //ID must be actual name of parameter identifier, not number + { + if (outStrings == NULL) return noErr; + CFStringRef strings [] = + { + kMenuItem_Chamber, + kMenuItem_Spring, + kMenuItem_Tiled, + kMenuItem_Room, + kMenuItem_Stretch, + kMenuItem_Zarathustra, + }; + *outStrings = CFArrayCreate ( + NULL, + (const void **) strings, + (sizeof (strings) / sizeof (strings [0])), + NULL + ); + return noErr; + } + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult PocketVerbs::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = kChamber; + outParameterInfo.maxValue = kZarathustra; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + case kParam_Three: + AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamThree; + break; + case kParam_Four: + AUBase::FillInParameterName (outParameterInfo, kParameterFourName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamFour; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult PocketVerbs::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult PocketVerbs::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// PocketVerbs::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult PocketVerbs::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____PocketVerbsEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::PocketVerbsKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void PocketVerbs::PocketVerbsKernel::Reset() +{ + int count; + for(count = 0; count < 6; count++) {dA[count] = 0.0; dB[count] = 0.0; dC[count] = 0.0; dD[count] = 0.0; dE[count] = 0.0; + dF[count] = 0.0; dG[count] = 0.0; dH[count] = 0.0; dI[count] = 0.0; dJ[count] = 0.0; dK[count] = 0.0; dL[count] = 0.0; + dM[count] = 0.0; dN[count] = 0.0; dO[count] = 0.0; dP[count] = 0.0; dQ[count] = 0.0; dR[count] = 0.0; dS[count] = 0.0; + dT[count] = 0.0; dU[count] = 0.0; dV[count] = 0.0; dW[count] = 0.0; dX[count] = 0.0; dY[count] = 0.0; dZ[count] = 0.0;} + + for(count = 0; count < 15149; count++) {aA[count] = 0.0;} + for(count = 0; count < 15149; count++) {oA[count] = 0.0;} + for(count = 0; count < 14617; count++) {aB[count] = 0.0;} + for(count = 0; count < 14617; count++) {oB[count] = 0.0;} + for(count = 0; count < 14357; count++) {aC[count] = 0.0;} + for(count = 0; count < 14357; count++) {oC[count] = 0.0;} + for(count = 0; count < 13817; count++) {aD[count] = 0.0;} + for(count = 0; count < 13817; count++) {oD[count] = 0.0;} + for(count = 0; count < 13561; count++) {aE[count] = 0.0;} + for(count = 0; count < 13561; count++) {oE[count] = 0.0;} + for(count = 0; count < 13045; count++) {aF[count] = 0.0;} + for(count = 0; count < 13045; count++) {oF[count] = 0.0;} + for(count = 0; count < 11965; count++) {aG[count] = 0.0;} + for(count = 0; count < 11965; count++) {oG[count] = 0.0;} + for(count = 0; count < 11129; count++) {aH[count] = 0.0;} + for(count = 0; count < 11129; count++) {oH[count] = 0.0;} + for(count = 0; count < 10597; count++) {aI[count] = 0.0;} + for(count = 0; count < 10597; count++) {oI[count] = 0.0;} + for(count = 0; count < 9809; count++) {aJ[count] = 0.0;} + for(count = 0; count < 9809; count++) {oJ[count] = 0.0;} + for(count = 0; count < 9521; count++) {aK[count] = 0.0;} + for(count = 0; count < 9521; count++) {oK[count] = 0.0;} + for(count = 0; count < 8981; count++) {aL[count] = 0.0;} + for(count = 0; count < 8981; count++) {oL[count] = 0.0;} + for(count = 0; count < 8785; count++) {aM[count] = 0.0;} + for(count = 0; count < 8785; count++) {oM[count] = 0.0;} + for(count = 0; count < 8461; count++) {aN[count] = 0.0;} + for(count = 0; count < 8461; count++) {oN[count] = 0.0;} + for(count = 0; count < 8309; count++) {aO[count] = 0.0;} + for(count = 0; count < 8309; count++) {oO[count] = 0.0;} + for(count = 0; count < 7981; count++) {aP[count] = 0.0;} + for(count = 0; count < 7981; count++) {oP[count] = 0.0;} + for(count = 0; count < 7321; count++) {aQ[count] = 0.0;} + for(count = 0; count < 7321; count++) {oQ[count] = 0.0;} + for(count = 0; count < 6817; count++) {aR[count] = 0.0;} + for(count = 0; count < 6817; count++) {oR[count] = 0.0;} + for(count = 0; count < 6505; count++) {aS[count] = 0.0;} + for(count = 0; count < 6505; count++) {oS[count] = 0.0;} + for(count = 0; count < 6001; count++) {aT[count] = 0.0;} + for(count = 0; count < 6001; count++) {oT[count] = 0.0;} + for(count = 0; count < 5837; count++) {aU[count] = 0.0;} + for(count = 0; count < 5837; count++) {oU[count] = 0.0;} + for(count = 0; count < 5501; count++) {aV[count] = 0.0;} + for(count = 0; count < 5501; count++) {oV[count] = 0.0;} + for(count = 0; count < 5009; count++) {aW[count] = 0.0;} + for(count = 0; count < 5009; count++) {oW[count] = 0.0;} + for(count = 0; count < 4849; count++) {aX[count] = 0.0;} + for(count = 0; count < 4849; count++) {oX[count] = 0.0;} + for(count = 0; count < 4295; count++) {aY[count] = 0.0;} + for(count = 0; count < 4295; count++) {oY[count] = 0.0;} + for(count = 0; count < 4179; count++) {aZ[count] = 0.0;} + for(count = 0; count < 4179; count++) {oZ[count] = 0.0;} + + + outA = 1; alpA = 1; delayA = 4; maxdelayA = 7573; + outB = 1; alpB = 1; delayB = 4; maxdelayB = 7307; + outC = 1; alpC = 1; delayC = 4; maxdelayC = 7177; + outD = 1; alpD = 1; delayD = 4; maxdelayD = 6907; + outE = 1; alpE = 1; delayE = 4; maxdelayE = 6779; + outF = 1; alpF = 1; delayF = 4; maxdelayF = 6521; + outG = 1; alpG = 1; delayG = 4; maxdelayG = 5981; + outH = 1; alpH = 1; delayH = 4; maxdelayH = 5563; + outI = 1; alpI = 1; delayI = 4; maxdelayI = 5297; + outJ = 1; alpJ = 1; delayJ = 4; maxdelayJ = 4903; + outK = 1; alpK = 1; delayK = 4; maxdelayK = 4759; + outL = 1; alpL = 1; delayL = 4; maxdelayL = 4489; + outM = 1; alpM = 1; delayM = 4; maxdelayM = 4391; + outN = 1; alpN = 1; delayN = 4; maxdelayN = 4229; + outO = 1; alpO = 1; delayO = 4; maxdelayO = 4153; + outP = 1; alpP = 1; delayP = 4; maxdelayP = 3989; + outQ = 1; alpQ = 1; delayQ = 4; maxdelayQ = 3659; + outR = 1; alpR = 1; delayR = 4; maxdelayR = 3407; + outS = 1; alpS = 1; delayS = 4; maxdelayS = 3251; + outT = 1; alpT = 1; delayT = 4; maxdelayT = 2999; + outU = 1; alpU = 1; delayU = 4; maxdelayU = 2917; + outV = 1; alpV = 1; delayV = 4; maxdelayV = 2749; + outW = 1; alpW = 1; delayW = 4; maxdelayW = 2503; + outX = 1; alpX = 1; delayX = 4; maxdelayX = 2423; + outY = 1; alpY = 1; delayY = 4; maxdelayY = 2146; + outZ = 1; alpZ = 1; delayZ = 4; maxdelayZ = 2088; + + savedRoomsize = -1.0; //force update to begin + countdown = -1; + peak = 1.0; + fpd = 17; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// PocketVerbs::PocketVerbsKernel::Process +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void PocketVerbs::PocketVerbsKernel::Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence ) +{ + UInt32 nSampleFrames = inFramesToProcess; + const Float32 *sourceP = inSourceP; + Float32 *destP = inDestP; + int verbtype = GetParameter( kParam_One ); + Float64 roomsize = (pow(GetParameter( kParam_Two ),2)*1.9)+0.1; + + Float64 release = 0.00008 * pow(GetParameter( kParam_Three ),3); + if (release == 0.0) peak = 1.0; + Float64 wetnesstarget = GetParameter( kParam_Four ); + Float64 dryness = (1.0 - wetnesstarget); + //verbs use base wetness value internally + Float64 wetness = wetnesstarget; + Float64 constallpass = 0.618033988749894848204586; //golden ratio! + int allpasstemp; + int count; + int max = 70; //biggest divisor to test primes against + Float64 bridgerectifier; + Float64 gain = 0.5+(wetnesstarget*0.5); //dryer for less verb drive + //used as an aux, saturates when fed high levels + + //remap values to primes input number in question is 'i' + //max is the largest prime we care about- HF interactions more interesting than the big numbers + //pushing values larger and larger until we have a result + //for (primetest=2; primetest <= max; primetest++) {if ( i!=primetest && i % primetest == 0 ) {i += 1; primetest=2;}} + + if (savedRoomsize != roomsize) {savedRoomsize = roomsize; countdown = 26;} //kick off the adjustment which will take 26 zippernoise refreshes to complete + if (countdown > 0) {switch (countdown) + { + case 1: + delayA = (int(maxdelayA * roomsize)); + for (count=2; count <= max; count++) {if ( delayA != count && delayA % count == 0 ) {delayA += 1; count=2;}} //try for primeish As + if (delayA > maxdelayA) delayA = maxdelayA; //insanitycheck + for(count = alpA; count < 15149; count++) {aA[count] = 0.0;} + for(count = outA; count < 15149; count++) {oA[count] = 0.0;} + break; + + case 2: + delayB = (int(maxdelayB * roomsize)); + for (count=2; count <= max; count++) {if ( delayB != count && delayB % count == 0 ) {delayB += 1; count=2;}} //try for primeish Bs + if (delayB > maxdelayB) delayB = maxdelayB; //insanitycheck + for(count = alpB; count < 14617; count++) {aB[count] = 0.0;} + for(count = outB; count < 14617; count++) {oB[count] = 0.0;} + break; + + case 3: + delayC = (int(maxdelayC * roomsize)); + for (count=2; count <= max; count++) {if ( delayC != count && delayC % count == 0 ) {delayC += 1; count=2;}} //try for primeish Cs + if (delayC > maxdelayC) delayC = maxdelayC; //insanitycheck + for(count = alpC; count < 14357; count++) {aC[count] = 0.0;} + for(count = outC; count < 14357; count++) {oC[count] = 0.0;} + break; + + case 4: + delayD = (int(maxdelayD * roomsize)); + for (count=2; count <= max; count++) {if ( delayD != count && delayD % count == 0 ) {delayD += 1; count=2;}} //try for primeish Ds + if (delayD > maxdelayD) delayD = maxdelayD; //insanitycheck + for(count = alpD; count < 13817; count++) {aD[count] = 0.0;} + for(count = outD; count < 13817; count++) {oD[count] = 0.0;} + break; + + case 5: + delayE = (int(maxdelayE * roomsize)); + for (count=2; count <= max; count++) {if ( delayE != count && delayE % count == 0 ) {delayE += 1; count=2;}} //try for primeish Es + if (delayE > maxdelayE) delayE = maxdelayE; //insanitycheck + for(count = alpE; count < 13561; count++) {aE[count] = 0.0;} + for(count = outE; count < 13561; count++) {oE[count] = 0.0;} + break; + + case 6: + delayF = (int(maxdelayF * roomsize)); + for (count=2; count <= max; count++) {if ( delayF != count && delayF % count == 0 ) {delayF += 1; count=2;}} //try for primeish Fs + if (delayF > maxdelayF) delayF = maxdelayF; //insanitycheck + for(count = alpF; count < 13045; count++) {aF[count] = 0.0;} + for(count = outF; count < 13045; count++) {oF[count] = 0.0;} + break; + + case 7: + delayG = (int(maxdelayG * roomsize)); + for (count=2; count <= max; count++) {if ( delayG != count && delayG % count == 0 ) {delayG += 1; count=2;}} //try for primeish Gs + if (delayG > maxdelayG) delayG = maxdelayG; //insanitycheck + for(count = alpG; count < 11965; count++) {aG[count] = 0.0;} + for(count = outG; count < 11965; count++) {oG[count] = 0.0;} + break; + + case 8: + delayH = (int(maxdelayH * roomsize)); + for (count=2; count <= max; count++) {if ( delayH != count && delayH % count == 0 ) {delayH += 1; count=2;}} //try for primeish Hs + if (delayH > maxdelayH) delayH = maxdelayH; //insanitycheck + for(count = alpH; count < 11129; count++) {aH[count] = 0.0;} + for(count = outH; count < 11129; count++) {oH[count] = 0.0;} + break; + + case 9: + delayI = (int(maxdelayI * roomsize)); + for (count=2; count <= max; count++) {if ( delayI != count && delayI % count == 0 ) {delayI += 1; count=2;}} //try for primeish Is + if (delayI > maxdelayI) delayI = maxdelayI; //insanitycheck + for(count = alpI; count < 10597; count++) {aI[count] = 0.0;} + for(count = outI; count < 10597; count++) {oI[count] = 0.0;} + break; + + case 10: + delayJ = (int(maxdelayJ * roomsize)); + for (count=2; count <= max; count++) {if ( delayJ != count && delayJ % count == 0 ) {delayJ += 1; count=2;}} //try for primeish Js + if (delayJ > maxdelayJ) delayJ = maxdelayJ; //insanitycheck + for(count = alpJ; count < 9809; count++) {aJ[count] = 0.0;} + for(count = outJ; count < 9809; count++) {oJ[count] = 0.0;} + break; + + case 11: + delayK = (int(maxdelayK * roomsize)); + for (count=2; count <= max; count++) {if ( delayK != count && delayK % count == 0 ) {delayK += 1; count=2;}} //try for primeish Ks + if (delayK > maxdelayK) delayK = maxdelayK; //insanitycheck + for(count = alpK; count < 9521; count++) {aK[count] = 0.0;} + for(count = outK; count < 9521; count++) {oK[count] = 0.0;} + break; + + case 12: + delayL = (int(maxdelayL * roomsize)); + for (count=2; count <= max; count++) {if ( delayL != count && delayL % count == 0 ) {delayL += 1; count=2;}} //try for primeish Ls + if (delayL > maxdelayL) delayL = maxdelayL; //insanitycheck + for(count = alpL; count < 8981; count++) {aL[count] = 0.0;} + for(count = outL; count < 8981; count++) {oL[count] = 0.0;} + break; + + case 13: + delayM = (int(maxdelayM * roomsize)); + for (count=2; count <= max; count++) {if ( delayM != count && delayM % count == 0 ) {delayM += 1; count=2;}} //try for primeish Ms + if (delayM > maxdelayM) delayM = maxdelayM; //insanitycheck + for(count = alpM; count < 8785; count++) {aM[count] = 0.0;} + for(count = outM; count < 8785; count++) {oM[count] = 0.0;} + break; + + case 14: + delayN = (int(maxdelayN * roomsize)); + for (count=2; count <= max; count++) {if ( delayN != count && delayN % count == 0 ) {delayN += 1; count=2;}} //try for primeish Ns + if (delayN > maxdelayN) delayN = maxdelayN; //insanitycheck + for(count = alpN; count < 8461; count++) {aN[count] = 0.0;} + for(count = outN; count < 8461; count++) {oN[count] = 0.0;} + break; + + case 15: + delayO = (int(maxdelayO * roomsize)); + for (count=2; count <= max; count++) {if ( delayO != count && delayO % count == 0 ) {delayO += 1; count=2;}} //try for primeish Os + if (delayO > maxdelayO) delayO = maxdelayO; //insanitycheck + for(count = alpO; count < 8309; count++) {aO[count] = 0.0;} + for(count = outO; count < 8309; count++) {oO[count] = 0.0;} + break; + + case 16: + delayP = (int(maxdelayP * roomsize)); + for (count=2; count <= max; count++) {if ( delayP != count && delayP % count == 0 ) {delayP += 1; count=2;}} //try for primeish Ps + if (delayP > maxdelayP) delayP = maxdelayP; //insanitycheck + for(count = alpP; count < 7981; count++) {aP[count] = 0.0;} + for(count = outP; count < 7981; count++) {oP[count] = 0.0;} + break; + + case 17: + delayQ = (int(maxdelayQ * roomsize)); + for (count=2; count <= max; count++) {if ( delayQ != count && delayQ % count == 0 ) {delayQ += 1; count=2;}} //try for primeish Qs + if (delayQ > maxdelayQ) delayQ = maxdelayQ; //insanitycheck + for(count = alpQ; count < 7321; count++) {aQ[count] = 0.0;} + for(count = outQ; count < 7321; count++) {oQ[count] = 0.0;} + break; + + case 18: + delayR = (int(maxdelayR * roomsize)); + for (count=2; count <= max; count++) {if ( delayR != count && delayR % count == 0 ) {delayR += 1; count=2;}} //try for primeish Rs + if (delayR > maxdelayR) delayR = maxdelayR; //insanitycheck + for(count = alpR; count < 6817; count++) {aR[count] = 0.0;} + for(count = outR; count < 6817; count++) {oR[count] = 0.0;} + break; + + case 19: + delayS = (int(maxdelayS * roomsize)); + for (count=2; count <= max; count++) {if ( delayS != count && delayS % count == 0 ) {delayS += 1; count=2;}} //try for primeish Ss + if (delayS > maxdelayS) delayS = maxdelayS; //insanitycheck + for(count = alpS; count < 6505; count++) {aS[count] = 0.0;} + for(count = outS; count < 6505; count++) {oS[count] = 0.0;} + break; + + case 20: + delayT = (int(maxdelayT * roomsize)); + for (count=2; count <= max; count++) {if ( delayT != count && delayT % count == 0 ) {delayT += 1; count=2;}} //try for primeish Ts + if (delayT > maxdelayT) delayT = maxdelayT; //insanitycheck + for(count = alpT; count < 6001; count++) {aT[count] = 0.0;} + for(count = outT; count < 6001; count++) {oT[count] = 0.0;} + break; + + case 21: + delayU = (int(maxdelayU * roomsize)); + for (count=2; count <= max; count++) {if ( delayU != count && delayU % count == 0 ) {delayU += 1; count=2;}} //try for primeish Us + if (delayU > maxdelayU) delayU = maxdelayU; //insanitycheck + for(count = alpU; count < 5837; count++) {aU[count] = 0.0;} + for(count = outU; count < 5837; count++) {oU[count] = 0.0;} + break; + + case 22: + delayV = (int(maxdelayV * roomsize)); + for (count=2; count <= max; count++) {if ( delayV != count && delayV % count == 0 ) {delayV += 1; count=2;}} //try for primeish Vs + if (delayV > maxdelayV) delayV = maxdelayV; //insanitycheck + for(count = alpV; count < 5501; count++) {aV[count] = 0.0;} + for(count = outV; count < 5501; count++) {oV[count] = 0.0;} + break; + + case 23: + delayW = (int(maxdelayW * roomsize)); + for (count=2; count <= max; count++) {if ( delayW != count && delayW % count == 0 ) {delayW += 1; count=2;}} //try for primeish Ws + if (delayW > maxdelayW) delayW = maxdelayW; //insanitycheck + for(count = alpW; count < 5009; count++) {aW[count] = 0.0;} + for(count = outW; count < 5009; count++) {oW[count] = 0.0;} + break; + + case 24: + delayX = (int(maxdelayX * roomsize)); + for (count=2; count <= max; count++) {if ( delayX != count && delayX % count == 0 ) {delayX += 1; count=2;}} //try for primeish Xs + if (delayX > maxdelayX) delayX = maxdelayX; //insanitycheck + for(count = alpX; count < 4849; count++) {aX[count] = 0.0;} + for(count = outX; count < 4849; count++) {oX[count] = 0.0;} + break; + + case 25: + delayY = (int(maxdelayY * roomsize)); + for (count=2; count <= max; count++) {if ( delayY != count && delayY % count == 0 ) {delayY += 1; count=2;}} //try for primeish Ys + if (delayY > maxdelayY) delayY = maxdelayY; //insanitycheck + for(count = alpY; count < 4295; count++) {aY[count] = 0.0;} + for(count = outY; count < 4295; count++) {oY[count] = 0.0;} + break; + + case 26: + delayZ = (int(maxdelayZ * roomsize)); + for (count=2; count <= max; count++) {if ( delayZ != count && delayZ % count == 0 ) {delayZ += 1; count=2;}} //try for primeish Zs + if (delayZ > maxdelayZ) delayZ = maxdelayZ; //insanitycheck + for(count = alpZ; count < 4179; count++) {aZ[count] = 0.0;} + for(count = outZ; count < 4179; count++) {oZ[count] = 0.0;} + break; + } //end of switch statement + countdown--; + } + + + while (nSampleFrames-- > 0) { + long double inputSample = *sourceP; + if (fabs(inputSample)<1.18e-37) inputSample = fpd * 1.18e-37; + long double drySample = inputSample; + + peak -= release; + if (peak < fabs(inputSample*2.0)) peak = fabs(inputSample*2.0); + if (peak > 1.0) peak = 1.0; + //chase the maximum signal to incorporate the wetter/louder behavior + //boost for more extreme effect when in use, cap it + + inputSample *= gain; + bridgerectifier = fabs(inputSample); + bridgerectifier = sin(bridgerectifier); + if (inputSample > 0) inputSample = bridgerectifier; + else inputSample = -bridgerectifier; + //here we apply the ADT2 console-on-steroids trick + + switch (verbtype) + { + + +case 1://Chamber + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[3] = dA[2]; + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = (dA[1] + dA[2] + dA[3])/3.0; + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[3] = dB[2]; + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = (dB[1] + dB[2] + dB[3])/3.0; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[3] = dC[2]; + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = (dA[1] + dC[2] + dC[3])/3.0; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[3] = dD[2]; + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = (dD[1] + dD[2] + dD[3])/3.0; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[3] = dE[2]; + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = (dA[1] + dE[2] + dE[3])/3.0; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[3] = dF[2]; + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = (dF[1] + dF[2] + dF[3])/3.0; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[3] = dG[2]; + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = (dA[1] + dG[2] + dG[3])/3.0; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[3] = dH[2]; + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = (dH[1] + dH[2] + dH[3])/3.0; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[3] = dI[2]; + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = (dI[1] + dI[2] + dI[3])/3.0; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[3] = dJ[2]; + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = (dJ[1] + dJ[2] + dJ[3])/3.0; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[3] = dK[2]; + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = (dA[1] + dK[2] + dK[3])/3.0; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[3] = dL[2]; + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = (dL[1] + dL[2] + dL[3])/3.0; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[3] = dM[2]; + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = (dA[1] + dM[2] + dM[3])/3.0; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[3] = dN[2]; + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = (dN[1] + dN[2] + dN[3])/3.0; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[3] = dO[2]; + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = (dO[1] + dO[2] + dO[3])/3.0; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[3] = dP[2]; + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = (dP[1] + dP[2] + dP[3])/3.0; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[3] = dQ[2]; + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = (dA[1] + dQ[2] + dQ[3])/3.0; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[3] = dR[2]; + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = (dR[1] + dR[2] + dR[3])/3.0; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[3] = dS[2]; + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = (dA[1] + dS[2] + dS[3])/3.0; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[3] = dT[2]; + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = (dT[1] + dT[2] + dT[3])/3.0; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[3] = dU[2]; + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = (dU[1] + dU[2] + dU[3])/3.0; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[3] = dV[2]; + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = (dV[1] + dV[2] + dV[3])/3.0; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[3] = dW[2]; + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = (dA[1] + dW[2] + dW[3])/3.0; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[3] = dX[2]; + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = (dX[1] + dX[2] + dX[3])/3.0; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[3] = dY[2]; + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = (dY[1] + dY[2] + dY[3])/3.0; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[3] = dZ[2]; + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = (dZ[1] + dZ[2] + dZ[3])/3.0; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[6] = dA[5]; + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dA[4] + dA[5] + dA[6])/3.0; + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[6] = dB[5]; + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dB[4] + dB[5] + dB[6])/3.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[6] = dC[5]; + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dA[1] + dC[5] + dC[6])/3.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[6] = dD[5]; + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dD[4] + dD[5] + dD[6])/3.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[6] = dE[5]; + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dA[1] + dE[5] + dE[6])/3.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[6] = dF[5]; + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dF[4] + dF[5] + dF[6])/3.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[6] = dG[5]; + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dG[4] + dG[5] + dG[6])/3.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[6] = dH[5]; + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dH[4] + dH[5] + dH[6])/3.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[6] = dI[5]; + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dI[4] + dI[5] + dI[6])/3.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[6] = dJ[5]; + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dJ[4] + dJ[5] + dJ[6])/3.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[6] = dK[5]; + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dA[1] + dK[5] + dK[6])/3.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[6] = dL[5]; + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dL[4] + dL[5] + dL[6])/3.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[6] = dM[5]; + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[4] + dM[5] + dM[6])/3.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[6] = dN[5]; + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dN[4] + dN[5] + dN[6])/3.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[6] = dO[5]; + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dA[1] + dO[5] + dO[6])/3.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[6] = dP[5]; + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dP[4] + dP[5] + dP[6])/3.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[6] = dQ[5]; + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dA[1] + dQ[5] + dQ[6])/3.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[6] = dR[5]; + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dR[4] + dR[5] + dR[6])/3.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[6] = dS[5]; + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dS[4] + dS[5] + dS[6])/3.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[6] = dT[5]; + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dT[4] + dT[5] + dT[6])/3.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[6] = dU[5]; + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dA[1] + dU[5] + dU[6])/3.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[6] = dV[5]; + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dV[4] + dV[5] + dV[6])/3.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[6] = dW[5]; + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dW[4] + dW[5] + dW[6])/3.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[6] = dX[5]; + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dX[4] + dX[5] + dX[6])/3.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[6] = dY[5]; + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dY[4] + dY[5] + dY[6])/3.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[6] = dZ[5]; + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dZ[4] + dZ[5] + dZ[6]); + //output Chamber + break; + + + + + + case 2: //Spring + + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[3] = dA[2]; + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = (dA[1] + dA[2] + dA[3])/3.0; + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[3] = dB[2]; + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = (dB[1] + dB[2] + dB[3])/3.0; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[3] = dC[2]; + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = (dC[1] + dC[2] + dC[3])/3.0; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[3] = dD[2]; + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = (dD[1] + dD[2] + dD[3])/3.0; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[3] = dE[2]; + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = (dE[1] + dE[2] + dE[3])/3.0; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[3] = dF[2]; + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = (dF[1] + dF[2] + dF[3])/3.0; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[3] = dG[2]; + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = (dG[1] + dG[2] + dG[3])/3.0; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[3] = dH[2]; + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = (dH[1] + dH[2] + dH[3])/3.0; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[3] = dI[2]; + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = (dI[1] + dI[2] + dI[3])/3.0; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[3] = dJ[2]; + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = (dJ[1] + dJ[2] + dJ[3])/3.0; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[3] = dK[2]; + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = (dK[1] + dK[2] + dK[3])/3.0; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[3] = dL[2]; + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = (dL[1] + dL[2] + dL[3])/3.0; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[3] = dM[2]; + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = (dM[1] + dM[2] + dM[3])/3.0; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[3] = dN[2]; + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = (dN[1] + dN[2] + dN[3])/3.0; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[3] = dO[2]; + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = (dO[1] + dO[2] + dO[3])/3.0; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[3] = dP[2]; + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = (dP[1] + dP[2] + dP[3])/3.0; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[3] = dQ[2]; + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = (dQ[1] + dQ[2] + dQ[3])/3.0; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[3] = dR[2]; + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = (dR[1] + dR[2] + dR[3])/3.0; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[3] = dS[2]; + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = (dS[1] + dS[2] + dS[3])/3.0; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[3] = dT[2]; + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = (dT[1] + dT[2] + dT[3])/3.0; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[3] = dU[2]; + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = (dU[1] + dU[2] + dU[3])/3.0; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[3] = dV[2]; + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = (dV[1] + dV[2] + dV[3])/3.0; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[3] = dW[2]; + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = (dW[1] + dW[2] + dW[3])/3.0; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[3] = dX[2]; + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = (dX[1] + dX[2] + dX[3])/3.0; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[3] = dY[2]; + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = (dY[1] + dY[2] + dY[3])/3.0; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[3] = dZ[2]; + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = (dZ[1] + dZ[2] + dZ[3])/3.0; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[6] = dA[5]; + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dY[1] + dA[5] + dA[6])/3.0; + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[6] = dB[5]; + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dX[1] + dB[5] + dB[6])/3.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[6] = dC[5]; + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dW[1] + dC[5] + dC[6])/3.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[6] = dD[5]; + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dV[1] + dD[5] + dD[6])/3.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[6] = dE[5]; + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dU[1] + dE[5] + dE[6])/3.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[6] = dF[5]; + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dT[1] + dF[5] + dF[6])/3.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[6] = dG[5]; + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dS[1] + dG[5] + dG[6])/3.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[6] = dH[5]; + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dR[1] + dH[5] + dH[6])/3.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[6] = dI[5]; + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dQ[1] + dI[5] + dI[6])/3.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[6] = dJ[5]; + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dP[1] + dJ[5] + dJ[6])/3.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[6] = dK[5]; + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dO[1] + dK[5] + dK[6])/3.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[6] = dL[5]; + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dN[1] + dL[5] + dL[6])/3.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[6] = dM[5]; + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[1] + dM[5] + dM[6])/3.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[6] = dN[5]; + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dL[1] + dN[5] + dN[6])/3.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[6] = dO[5]; + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dK[1] + dO[5] + dO[6])/3.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[6] = dP[5]; + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dJ[1] + dP[5] + dP[6])/3.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[6] = dQ[5]; + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dI[1] + dQ[5] + dQ[6])/3.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[6] = dR[5]; + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dH[1] + dR[5] + dR[6])/3.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[6] = dS[5]; + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dG[1] + dS[5] + dS[6])/3.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[6] = dT[5]; + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dF[1] + dT[5] + dT[6])/3.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[6] = dU[5]; + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dE[1] + dU[5] + dU[6])/3.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[6] = dV[5]; + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dD[1] + dV[5] + dV[6])/3.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[6] = dW[5]; + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dC[1] + dW[5] + dW[6])/3.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[6] = dX[5]; + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dA[1] + dX[5] + dX[6])/3.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[6] = dY[5]; + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dB[1] + dY[5] + dY[6])/3.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[6] = dZ[5]; + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dZ[5] + dZ[6]); + //output Spring + break; + + +case 3: //Tiled + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = (dA[1] + dA[2])/2.0; + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = (dB[1] + dB[2])/2.0; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = (dA[1] + dC[2])/2.0; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = (dD[1] + dD[2])/2.0; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = (dA[1] + dE[2])/2.0; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = (dF[1] + dF[2])/2.0; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = (dA[1] + dG[2])/2.0; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = (dH[1] + dH[2])/2.0; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = (dI[1] + dI[2])/2.0; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = (dJ[1] + dJ[2])/2.0; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = (dA[1] + dK[2])/2.0; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = (dL[1] + dL[2])/2.0; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = (dA[1] + dM[2])/2.0; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = (dN[1] + dN[2])/2.0; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = (dO[1] + dO[2])/2.0; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = (dP[1] + dP[2])/2.0; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = (dA[1] + dQ[2])/2.0; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = (dR[1] + dR[2])/2.0; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = (dA[1] + dS[2])/2.0; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = (dT[1] + dT[2])/2.0; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = (dU[1] + dU[2])/2.0; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = (dV[1] + dV[2])/2.0; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = (dA[1] + dW[2])/2.0; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = (dX[1] + dX[2])/2.0; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = (dY[1] + dY[2])/2.0; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = (dZ[1] + dZ[2])/2.0; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dA[4] + dA[5])/2.0; + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dB[4] + dB[5])/2.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dA[1] + dC[5])/2.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dD[4] + dD[5])/2.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dA[1] + dE[5])/2.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dF[4] + dF[5])/2.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dG[4] + dG[5])/2.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dH[4] + dH[5])/2.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dI[4] + dI[5])/2.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dJ[4] + dJ[5])/2.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dA[1] + dK[5])/2.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dL[4] + dL[5])/2.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[4] + dM[5])/2.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dN[4] + dN[5])/2.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dA[1] + dO[5])/2.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dP[4] + dP[5])/2.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dA[1] + dQ[5])/2.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dR[4] + dR[5])/2.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dS[4] + dS[5])/2.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dT[4] + dT[5])/2.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dA[1] + dU[5])/2.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dV[4] + dV[5])/2.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dW[4] + dW[5])/2.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dX[4] + dX[5])/2.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dY[4] + dY[5])/2.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dZ[4] + dZ[5]); + //output Tiled + break; + + +case 4://Room + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = drySample; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = drySample; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dA[1]+dA[2])/2.0; + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dB[1]+dB[2])/2.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dC[1]+dC[2])/2.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dD[1]+dD[2])/2.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dE[1]+dE[2])/2.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dF[1]+dF[2])/2.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dG[1]+dG[2])/2.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dH[1]+dH[2])/2.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dI[1]+dI[2])/2.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dJ[1]+dJ[2])/2.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dK[1]+dK[2])/2.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dL[1]+dL[2])/2.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[1]+dM[2])/2.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dN[1]+dN[2])/2.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dO[1]+dO[2])/2.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dP[1]+dP[2])/2.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dQ[1]+dQ[2])/2.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dR[1]+dR[2])/2.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dS[1]+dS[2])/2.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dT[1]+dT[2])/2.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dU[1]+dU[2])/2.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dV[1]+dV[2])/2.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dW[1]+dW[2])/2.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dX[1]+dX[2])/2.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dY[1]+dY[2])/2.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dB[4] * dryness); + inputSample += (dC[4] * dryness); + inputSample += dD[4]; + inputSample += dE[4]; + inputSample += dF[4]; + inputSample += dG[4]; + inputSample += dH[4]; + inputSample += dI[4]; + inputSample += dJ[4]; + inputSample += dK[4]; + inputSample += dL[4]; + inputSample += dM[4]; + inputSample += dN[4]; + inputSample += dO[4]; + inputSample += dP[4]; + inputSample += dQ[4]; + inputSample += dR[4]; + inputSample += dS[4]; + inputSample += dT[4]; + inputSample += dU[4]; + inputSample += dV[4]; + inputSample += dW[4]; + inputSample += dX[4]; + inputSample += dY[4]; + inputSample += (dZ[4] * wetness); + + inputSample += (dB[5] * dryness); + inputSample += (dC[5] * dryness); + inputSample += dD[5]; + inputSample += dE[5]; + inputSample += dF[5]; + inputSample += dG[5]; + inputSample += dH[5]; + inputSample += dI[5]; + inputSample += dJ[5]; + inputSample += dK[5]; + inputSample += dL[5]; + inputSample += dM[5]; + inputSample += dN[5]; + inputSample += dO[5]; + inputSample += dP[5]; + inputSample += dQ[5]; + inputSample += dR[5]; + inputSample += dS[5]; + inputSample += dT[5]; + inputSample += dU[5]; + inputSample += dV[5]; + inputSample += dW[5]; + inputSample += dX[5]; + inputSample += dY[5]; + inputSample += (dZ[5] * wetness); + + inputSample /= (26.0 + (wetness * 4.0)); + //output Room effect + break; + + + + + + +case 5: //Stretch + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = (dA[1] + dA[2])/2.0; + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = (dB[1] + dB[2])/2.0; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = (dC[1] + dC[2])/2.0; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = (dD[1] + dD[2])/2.0; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = (dE[1] + dE[2])/2.0; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = (dF[1] + dF[2])/2.0; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = (dG[1] + dG[2])/2.0; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = (dH[1] + dH[2])/2.0; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = (dI[1] + dI[2])/2.0; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = (dJ[1] + dJ[2])/2.0; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = (dK[1] + dK[2])/2.0; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = (dL[1] + dL[2])/2.0; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = (dM[1] + dM[2])/2.0; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = (dN[1] + dN[2])/2.0; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = (dO[1] + dO[2])/2.0; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = (dP[1] + dP[2])/2.0; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = (dQ[1] + dQ[2])/2.0; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = (dR[1] + dR[2])/2.0; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = (dS[1] + dS[2])/2.0; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = (dT[1] + dT[2])/2.0; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = (dU[1] + dU[2])/2.0; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = (dV[1] + dV[2])/2.0; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = (dW[1] + dW[2])/2.0; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = (dX[1] + dX[2])/2.0; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = (dY[1] + dY[2])/2.0; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = (dZ[1] + dZ[2])/2.0; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dA[4] + dA[5])/2.0; + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dB[4] + dB[5])/2.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dC[4] + dC[5])/2.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dD[4] + dD[5])/2.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dE[4] + dE[5])/2.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dF[4] + dF[5])/2.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dG[4] + dG[5])/2.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dH[4] + dH[5])/2.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dI[4] + dI[5])/2.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dJ[4] + dJ[5])/2.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dK[4] + dK[5])/2.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dL[4] + dL[5])/2.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[4] + dM[5])/2.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dN[4] + dN[5])/2.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dO[4] + dO[5])/2.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dP[4] + dP[5])/2.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dQ[4] + dQ[5])/2.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dR[4] + dR[5])/2.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dS[4] + dS[5])/2.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dT[4] + dT[5])/2.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dU[4] + dU[5])/2.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dV[4] + dV[5])/2.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dW[4] + dW[5])/2.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dX[4] + dX[5])/2.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dY[4] + dY[5])/2.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dZ[4] + dZ[5])/2.0; + //output Stretch unrealistic but smooth fake Paulstretch + break; + + +case 6: //Zarathustra + allpasstemp = alpA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= aA[allpasstemp]*constallpass; + aA[alpA] = inputSample; + inputSample *= constallpass; + alpA--; if (alpA < 0 || alpA > delayA) {alpA = delayA;} + inputSample += (aA[alpA]); + //allpass filter A + + dA[3] = dA[2]; + dA[2] = dA[1]; + dA[1] = inputSample; + inputSample = (dA[1] + dA[2] + dZ[3])/3.0; //add feedback + + allpasstemp = alpB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= aB[allpasstemp]*constallpass; + aB[alpB] = inputSample; + inputSample *= constallpass; + alpB--; if (alpB < 0 || alpB > delayB) {alpB = delayB;} + inputSample += (aB[alpB]); + //allpass filter B + + dB[3] = dB[2]; + dB[2] = dB[1]; + dB[1] = inputSample; + inputSample = (dB[1] + dB[2] + dB[3])/3.0; + + allpasstemp = alpC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= aC[allpasstemp]*constallpass; + aC[alpC] = inputSample; + inputSample *= constallpass; + alpC--; if (alpC < 0 || alpC > delayC) {alpC = delayC;} + inputSample += (aC[alpC]); + //allpass filter C + + dC[3] = dC[2]; + dC[2] = dC[1]; + dC[1] = inputSample; + inputSample = (dC[1] + dC[2] + dC[3])/3.0; + + allpasstemp = alpD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= aD[allpasstemp]*constallpass; + aD[alpD] = inputSample; + inputSample *= constallpass; + alpD--; if (alpD < 0 || alpD > delayD) {alpD = delayD;} + inputSample += (aD[alpD]); + //allpass filter D + + dD[3] = dD[2]; + dD[2] = dD[1]; + dD[1] = inputSample; + inputSample = (dD[1] + dD[2] + dD[3])/3.0; + + allpasstemp = alpE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= aE[allpasstemp]*constallpass; + aE[alpE] = inputSample; + inputSample *= constallpass; + alpE--; if (alpE < 0 || alpE > delayE) {alpE = delayE;} + inputSample += (aE[alpE]); + //allpass filter E + + dE[3] = dE[2]; + dE[2] = dE[1]; + dE[1] = inputSample; + inputSample = (dE[1] + dE[2] + dE[3])/3.0; + + allpasstemp = alpF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= aF[allpasstemp]*constallpass; + aF[alpF] = inputSample; + inputSample *= constallpass; + alpF--; if (alpF < 0 || alpF > delayF) {alpF = delayF;} + inputSample += (aF[alpF]); + //allpass filter F + + dF[3] = dF[2]; + dF[2] = dF[1]; + dF[1] = inputSample; + inputSample = (dF[1] + dF[2] + dF[3])/3.0; + + allpasstemp = alpG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= aG[allpasstemp]*constallpass; + aG[alpG] = inputSample; + inputSample *= constallpass; + alpG--; if (alpG < 0 || alpG > delayG) {alpG = delayG;} + inputSample += (aG[alpG]); + //allpass filter G + + dG[3] = dG[2]; + dG[2] = dG[1]; + dG[1] = inputSample; + inputSample = (dG[1] + dG[2] + dG[3])/3.0; + + allpasstemp = alpH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= aH[allpasstemp]*constallpass; + aH[alpH] = inputSample; + inputSample *= constallpass; + alpH--; if (alpH < 0 || alpH > delayH) {alpH = delayH;} + inputSample += (aH[alpH]); + //allpass filter H + + dH[3] = dH[2]; + dH[2] = dH[1]; + dH[1] = inputSample; + inputSample = (dH[1] + dH[2] + dH[3])/3.0; + + allpasstemp = alpI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= aI[allpasstemp]*constallpass; + aI[alpI] = inputSample; + inputSample *= constallpass; + alpI--; if (alpI < 0 || alpI > delayI) {alpI = delayI;} + inputSample += (aI[alpI]); + //allpass filter I + + dI[3] = dI[2]; + dI[2] = dI[1]; + dI[1] = inputSample; + inputSample = (dI[1] + dI[2] + dI[3])/3.0; + + allpasstemp = alpJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= aJ[allpasstemp]*constallpass; + aJ[alpJ] = inputSample; + inputSample *= constallpass; + alpJ--; if (alpJ < 0 || alpJ > delayJ) {alpJ = delayJ;} + inputSample += (aJ[alpJ]); + //allpass filter J + + dJ[3] = dJ[2]; + dJ[2] = dJ[1]; + dJ[1] = inputSample; + inputSample = (dJ[1] + dJ[2] + dJ[3])/3.0; + + allpasstemp = alpK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= aK[allpasstemp]*constallpass; + aK[alpK] = inputSample; + inputSample *= constallpass; + alpK--; if (alpK < 0 || alpK > delayK) {alpK = delayK;} + inputSample += (aK[alpK]); + //allpass filter K + + dK[3] = dK[2]; + dK[2] = dK[1]; + dK[1] = inputSample; + inputSample = (dK[1] + dK[2] + dK[3])/3.0; + + allpasstemp = alpL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= aL[allpasstemp]*constallpass; + aL[alpL] = inputSample; + inputSample *= constallpass; + alpL--; if (alpL < 0 || alpL > delayL) {alpL = delayL;} + inputSample += (aL[alpL]); + //allpass filter L + + dL[3] = dL[2]; + dL[2] = dL[1]; + dL[1] = inputSample; + inputSample = (dL[1] + dL[2] + dL[3])/3.0; + + allpasstemp = alpM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= aM[allpasstemp]*constallpass; + aM[alpM] = inputSample; + inputSample *= constallpass; + alpM--; if (alpM < 0 || alpM > delayM) {alpM = delayM;} + inputSample += (aM[alpM]); + //allpass filter M + + dM[3] = dM[2]; + dM[2] = dM[1]; + dM[1] = inputSample; + inputSample = (dM[1] + dM[2] + dM[3])/3.0; + + allpasstemp = alpN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= aN[allpasstemp]*constallpass; + aN[alpN] = inputSample; + inputSample *= constallpass; + alpN--; if (alpN < 0 || alpN > delayN) {alpN = delayN;} + inputSample += (aN[alpN]); + //allpass filter N + + dN[3] = dN[2]; + dN[2] = dN[1]; + dN[1] = inputSample; + inputSample = (dN[1] + dN[2] + dN[3])/3.0; + + allpasstemp = alpO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= aO[allpasstemp]*constallpass; + aO[alpO] = inputSample; + inputSample *= constallpass; + alpO--; if (alpO < 0 || alpO > delayO) {alpO = delayO;} + inputSample += (aO[alpO]); + //allpass filter O + + dO[3] = dO[2]; + dO[2] = dO[1]; + dO[1] = inputSample; + inputSample = (dO[1] + dO[2] + dO[3])/3.0; + + allpasstemp = alpP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= aP[allpasstemp]*constallpass; + aP[alpP] = inputSample; + inputSample *= constallpass; + alpP--; if (alpP < 0 || alpP > delayP) {alpP = delayP;} + inputSample += (aP[alpP]); + //allpass filter P + + dP[3] = dP[2]; + dP[2] = dP[1]; + dP[1] = inputSample; + inputSample = (dP[1] + dP[2] + dP[3])/3.0; + + allpasstemp = alpQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= aQ[allpasstemp]*constallpass; + aQ[alpQ] = inputSample; + inputSample *= constallpass; + alpQ--; if (alpQ < 0 || alpQ > delayQ) {alpQ = delayQ;} + inputSample += (aQ[alpQ]); + //allpass filter Q + + dQ[3] = dQ[2]; + dQ[2] = dQ[1]; + dQ[1] = inputSample; + inputSample = (dQ[1] + dQ[2] + dQ[3])/3.0; + + allpasstemp = alpR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= aR[allpasstemp]*constallpass; + aR[alpR] = inputSample; + inputSample *= constallpass; + alpR--; if (alpR < 0 || alpR > delayR) {alpR = delayR;} + inputSample += (aR[alpR]); + //allpass filter R + + dR[3] = dR[2]; + dR[2] = dR[1]; + dR[1] = inputSample; + inputSample = (dR[1] + dR[2] + dR[3])/3.0; + + allpasstemp = alpS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= aS[allpasstemp]*constallpass; + aS[alpS] = inputSample; + inputSample *= constallpass; + alpS--; if (alpS < 0 || alpS > delayS) {alpS = delayS;} + inputSample += (aS[alpS]); + //allpass filter S + + dS[3] = dS[2]; + dS[2] = dS[1]; + dS[1] = inputSample; + inputSample = (dS[1] + dS[2] + dS[3])/3.0; + + allpasstemp = alpT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= aT[allpasstemp]*constallpass; + aT[alpT] = inputSample; + inputSample *= constallpass; + alpT--; if (alpT < 0 || alpT > delayT) {alpT = delayT;} + inputSample += (aT[alpT]); + //allpass filter T + + dT[3] = dT[2]; + dT[2] = dT[1]; + dT[1] = inputSample; + inputSample = (dT[1] + dT[2] + dT[3])/3.0; + + allpasstemp = alpU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= aU[allpasstemp]*constallpass; + aU[alpU] = inputSample; + inputSample *= constallpass; + alpU--; if (alpU < 0 || alpU > delayU) {alpU = delayU;} + inputSample += (aU[alpU]); + //allpass filter U + + dU[3] = dU[2]; + dU[2] = dU[1]; + dU[1] = inputSample; + inputSample = (dU[1] + dU[2] + dU[3])/3.0; + + allpasstemp = alpV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= aV[allpasstemp]*constallpass; + aV[alpV] = inputSample; + inputSample *= constallpass; + alpV--; if (alpV < 0 || alpV > delayV) {alpV = delayV;} + inputSample += (aV[alpV]); + //allpass filter V + + dV[3] = dV[2]; + dV[2] = dV[1]; + dV[1] = inputSample; + inputSample = (dV[1] + dV[2] + dV[3])/3.0; + + allpasstemp = alpW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= aW[allpasstemp]*constallpass; + aW[alpW] = inputSample; + inputSample *= constallpass; + alpW--; if (alpW < 0 || alpW > delayW) {alpW = delayW;} + inputSample += (aW[alpW]); + //allpass filter W + + dW[3] = dW[2]; + dW[2] = dW[1]; + dW[1] = inputSample; + inputSample = (dW[1] + dW[2] + dW[3])/3.0; + + allpasstemp = alpX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= aX[allpasstemp]*constallpass; + aX[alpX] = inputSample; + inputSample *= constallpass; + alpX--; if (alpX < 0 || alpX > delayX) {alpX = delayX;} + inputSample += (aX[alpX]); + //allpass filter X + + dX[3] = dX[2]; + dX[2] = dX[1]; + dX[1] = inputSample; + inputSample = (dX[1] + dX[2] + dX[3])/3.0; + + allpasstemp = alpY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= aY[allpasstemp]*constallpass; + aY[alpY] = inputSample; + inputSample *= constallpass; + alpY--; if (alpY < 0 || alpY > delayY) {alpY = delayY;} + inputSample += (aY[alpY]); + //allpass filter Y + + dY[3] = dY[2]; + dY[2] = dY[1]; + dY[1] = inputSample; + inputSample = (dY[1] + dY[2] + dY[3])/3.0; + + allpasstemp = alpZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= aZ[allpasstemp]*constallpass; + aZ[alpZ] = inputSample; + inputSample *= constallpass; + alpZ--; if (alpZ < 0 || alpZ > delayZ) {alpZ = delayZ;} + inputSample += (aZ[alpZ]); + //allpass filter Z + + dZ[3] = dZ[2]; + dZ[2] = dZ[1]; + dZ[1] = inputSample; + inputSample = (dZ[1] + dZ[2] + dZ[3])/3.0; + + // now the second stage using the 'out' bank of allpasses + + allpasstemp = outA - 1; + if (allpasstemp < 0 || allpasstemp > delayA) {allpasstemp = delayA;} + inputSample -= oA[allpasstemp]*constallpass; + oA[outA] = inputSample; + inputSample *= constallpass; + outA--; if (outA < 0 || outA > delayA) {outA = delayA;} + inputSample += (oA[outA]); + //allpass filter A + + dA[6] = dA[5]; + dA[5] = dA[4]; + dA[4] = inputSample; + inputSample = (dC[1] + dA[5] + dA[6])/3.0; //note, feeding in dry again for a little more clarity! + + allpasstemp = outB - 1; + if (allpasstemp < 0 || allpasstemp > delayB) {allpasstemp = delayB;} + inputSample -= oB[allpasstemp]*constallpass; + oB[outB] = inputSample; + inputSample *= constallpass; + outB--; if (outB < 0 || outB > delayB) {outB = delayB;} + inputSample += (oB[outB]); + //allpass filter B + + dB[6] = dB[5]; + dB[5] = dB[4]; + dB[4] = inputSample; + inputSample = (dB[4] + dB[5] + dB[6])/3.0; + + allpasstemp = outC - 1; + if (allpasstemp < 0 || allpasstemp > delayC) {allpasstemp = delayC;} + inputSample -= oC[allpasstemp]*constallpass; + oC[outC] = inputSample; + inputSample *= constallpass; + outC--; if (outC < 0 || outC > delayC) {outC = delayC;} + inputSample += (oC[outC]); + //allpass filter C + + dC[6] = dC[5]; + dC[5] = dC[4]; + dC[4] = inputSample; + inputSample = (dC[4] + dC[5] + dC[6])/3.0; + + allpasstemp = outD - 1; + if (allpasstemp < 0 || allpasstemp > delayD) {allpasstemp = delayD;} + inputSample -= oD[allpasstemp]*constallpass; + oD[outD] = inputSample; + inputSample *= constallpass; + outD--; if (outD < 0 || outD > delayD) {outD = delayD;} + inputSample += (oD[outD]); + //allpass filter D + + dD[6] = dD[5]; + dD[5] = dD[4]; + dD[4] = inputSample; + inputSample = (dD[4] + dD[5] + dD[6])/3.0; + + allpasstemp = outE - 1; + if (allpasstemp < 0 || allpasstemp > delayE) {allpasstemp = delayE;} + inputSample -= oE[allpasstemp]*constallpass; + oE[outE] = inputSample; + inputSample *= constallpass; + outE--; if (outE < 0 || outE > delayE) {outE = delayE;} + inputSample += (oE[outE]); + //allpass filter E + + dE[6] = dE[5]; + dE[5] = dE[4]; + dE[4] = inputSample; + inputSample = (dE[4] + dE[5] + dE[6])/3.0; + + allpasstemp = outF - 1; + if (allpasstemp < 0 || allpasstemp > delayF) {allpasstemp = delayF;} + inputSample -= oF[allpasstemp]*constallpass; + oF[outF] = inputSample; + inputSample *= constallpass; + outF--; if (outF < 0 || outF > delayF) {outF = delayF;} + inputSample += (oF[outF]); + //allpass filter F + + dF[6] = dF[5]; + dF[5] = dF[4]; + dF[4] = inputSample; + inputSample = (dF[4] + dF[5] + dF[6])/3.0; + + allpasstemp = outG - 1; + if (allpasstemp < 0 || allpasstemp > delayG) {allpasstemp = delayG;} + inputSample -= oG[allpasstemp]*constallpass; + oG[outG] = inputSample; + inputSample *= constallpass; + outG--; if (outG < 0 || outG > delayG) {outG = delayG;} + inputSample += (oG[outG]); + //allpass filter G + + dG[6] = dG[5]; + dG[5] = dG[4]; + dG[4] = inputSample; + inputSample = (dG[4] + dG[5] + dG[6])/3.0; + + allpasstemp = outH - 1; + if (allpasstemp < 0 || allpasstemp > delayH) {allpasstemp = delayH;} + inputSample -= oH[allpasstemp]*constallpass; + oH[outH] = inputSample; + inputSample *= constallpass; + outH--; if (outH < 0 || outH > delayH) {outH = delayH;} + inputSample += (oH[outH]); + //allpass filter H + + dH[6] = dH[5]; + dH[5] = dH[4]; + dH[4] = inputSample; + inputSample = (dH[4] + dH[5] + dH[6])/3.0; + + allpasstemp = outI - 1; + if (allpasstemp < 0 || allpasstemp > delayI) {allpasstemp = delayI;} + inputSample -= oI[allpasstemp]*constallpass; + oI[outI] = inputSample; + inputSample *= constallpass; + outI--; if (outI < 0 || outI > delayI) {outI = delayI;} + inputSample += (oI[outI]); + //allpass filter I + + dI[6] = dI[5]; + dI[5] = dI[4]; + dI[4] = inputSample; + inputSample = (dI[4] + dI[5] + dI[6])/3.0; + + allpasstemp = outJ - 1; + if (allpasstemp < 0 || allpasstemp > delayJ) {allpasstemp = delayJ;} + inputSample -= oJ[allpasstemp]*constallpass; + oJ[outJ] = inputSample; + inputSample *= constallpass; + outJ--; if (outJ < 0 || outJ > delayJ) {outJ = delayJ;} + inputSample += (oJ[outJ]); + //allpass filter J + + dJ[6] = dJ[5]; + dJ[5] = dJ[4]; + dJ[4] = inputSample; + inputSample = (dJ[4] + dJ[5] + dJ[6])/3.0; + + allpasstemp = outK - 1; + if (allpasstemp < 0 || allpasstemp > delayK) {allpasstemp = delayK;} + inputSample -= oK[allpasstemp]*constallpass; + oK[outK] = inputSample; + inputSample *= constallpass; + outK--; if (outK < 0 || outK > delayK) {outK = delayK;} + inputSample += (oK[outK]); + //allpass filter K + + dK[6] = dK[5]; + dK[5] = dK[4]; + dK[4] = inputSample; + inputSample = (dK[4] + dK[5] + dK[6])/3.0; + + allpasstemp = outL - 1; + if (allpasstemp < 0 || allpasstemp > delayL) {allpasstemp = delayL;} + inputSample -= oL[allpasstemp]*constallpass; + oL[outL] = inputSample; + inputSample *= constallpass; + outL--; if (outL < 0 || outL > delayL) {outL = delayL;} + inputSample += (oL[outL]); + //allpass filter L + + dL[6] = dL[5]; + dL[5] = dL[4]; + dL[4] = inputSample; + inputSample = (dL[4] + dL[5] + dL[6])/3.0; + + allpasstemp = outM - 1; + if (allpasstemp < 0 || allpasstemp > delayM) {allpasstemp = delayM;} + inputSample -= oM[allpasstemp]*constallpass; + oM[outM] = inputSample; + inputSample *= constallpass; + outM--; if (outM < 0 || outM > delayM) {outM = delayM;} + inputSample += (oM[outM]); + //allpass filter M + + dM[6] = dM[5]; + dM[5] = dM[4]; + dM[4] = inputSample; + inputSample = (dM[4] + dM[5] + dM[6])/3.0; + + allpasstemp = outN - 1; + if (allpasstemp < 0 || allpasstemp > delayN) {allpasstemp = delayN;} + inputSample -= oN[allpasstemp]*constallpass; + oN[outN] = inputSample; + inputSample *= constallpass; + outN--; if (outN < 0 || outN > delayN) {outN = delayN;} + inputSample += (oN[outN]); + //allpass filter N + + dN[6] = dN[5]; + dN[5] = dN[4]; + dN[4] = inputSample; + inputSample = (dN[4] + dN[5] + dN[6])/3.0; + + allpasstemp = outO - 1; + if (allpasstemp < 0 || allpasstemp > delayO) {allpasstemp = delayO;} + inputSample -= oO[allpasstemp]*constallpass; + oO[outO] = inputSample; + inputSample *= constallpass; + outO--; if (outO < 0 || outO > delayO) {outO = delayO;} + inputSample += (oO[outO]); + //allpass filter O + + dO[6] = dO[5]; + dO[5] = dO[4]; + dO[4] = inputSample; + inputSample = (dO[4] + dO[5] + dO[6])/3.0; + + allpasstemp = outP - 1; + if (allpasstemp < 0 || allpasstemp > delayP) {allpasstemp = delayP;} + inputSample -= oP[allpasstemp]*constallpass; + oP[outP] = inputSample; + inputSample *= constallpass; + outP--; if (outP < 0 || outP > delayP) {outP = delayP;} + inputSample += (oP[outP]); + //allpass filter P + + dP[6] = dP[5]; + dP[5] = dP[4]; + dP[4] = inputSample; + inputSample = (dP[4] + dP[5] + dP[6])/3.0; + + allpasstemp = outQ - 1; + if (allpasstemp < 0 || allpasstemp > delayQ) {allpasstemp = delayQ;} + inputSample -= oQ[allpasstemp]*constallpass; + oQ[outQ] = inputSample; + inputSample *= constallpass; + outQ--; if (outQ < 0 || outQ > delayQ) {outQ = delayQ;} + inputSample += (oQ[outQ]); + //allpass filter Q + + dQ[6] = dQ[5]; + dQ[5] = dQ[4]; + dQ[4] = inputSample; + inputSample = (dQ[4] + dQ[5] + dQ[6])/3.0; + + allpasstemp = outR - 1; + if (allpasstemp < 0 || allpasstemp > delayR) {allpasstemp = delayR;} + inputSample -= oR[allpasstemp]*constallpass; + oR[outR] = inputSample; + inputSample *= constallpass; + outR--; if (outR < 0 || outR > delayR) {outR = delayR;} + inputSample += (oR[outR]); + //allpass filter R + + dR[6] = dR[5]; + dR[5] = dR[4]; + dR[4] = inputSample; + inputSample = (dR[4] + dR[5] + dR[6])/3.0; + + allpasstemp = outS - 1; + if (allpasstemp < 0 || allpasstemp > delayS) {allpasstemp = delayS;} + inputSample -= oS[allpasstemp]*constallpass; + oS[outS] = inputSample; + inputSample *= constallpass; + outS--; if (outS < 0 || outS > delayS) {outS = delayS;} + inputSample += (oS[outS]); + //allpass filter S + + dS[6] = dS[5]; + dS[5] = dS[4]; + dS[4] = inputSample; + inputSample = (dS[4] + dS[5] + dS[6])/3.0; + + allpasstemp = outT - 1; + if (allpasstemp < 0 || allpasstemp > delayT) {allpasstemp = delayT;} + inputSample -= oT[allpasstemp]*constallpass; + oT[outT] = inputSample; + inputSample *= constallpass; + outT--; if (outT < 0 || outT > delayT) {outT = delayT;} + inputSample += (oT[outT]); + //allpass filter T + + dT[6] = dT[5]; + dT[5] = dT[4]; + dT[4] = inputSample; + inputSample = (dT[4] + dT[5] + dT[6])/3.0; + + allpasstemp = outU - 1; + if (allpasstemp < 0 || allpasstemp > delayU) {allpasstemp = delayU;} + inputSample -= oU[allpasstemp]*constallpass; + oU[outU] = inputSample; + inputSample *= constallpass; + outU--; if (outU < 0 || outU > delayU) {outU = delayU;} + inputSample += (oU[outU]); + //allpass filter U + + dU[6] = dU[5]; + dU[5] = dU[4]; + dU[4] = inputSample; + inputSample = (dU[4] + dU[5] + dU[6])/3.0; + + allpasstemp = outV - 1; + if (allpasstemp < 0 || allpasstemp > delayV) {allpasstemp = delayV;} + inputSample -= oV[allpasstemp]*constallpass; + oV[outV] = inputSample; + inputSample *= constallpass; + outV--; if (outV < 0 || outV > delayV) {outV = delayV;} + inputSample += (oV[outV]); + //allpass filter V + + dV[6] = dV[5]; + dV[5] = dV[4]; + dV[4] = inputSample; + inputSample = (dV[4] + dV[5] + dV[6])/3.0; + + allpasstemp = outW - 1; + if (allpasstemp < 0 || allpasstemp > delayW) {allpasstemp = delayW;} + inputSample -= oW[allpasstemp]*constallpass; + oW[outW] = inputSample; + inputSample *= constallpass; + outW--; if (outW < 0 || outW > delayW) {outW = delayW;} + inputSample += (oW[outW]); + //allpass filter W + + dW[6] = dW[5]; + dW[5] = dW[4]; + dW[4] = inputSample; + inputSample = (dW[4] + dW[5] + dW[6])/3.0; + + allpasstemp = outX - 1; + if (allpasstemp < 0 || allpasstemp > delayX) {allpasstemp = delayX;} + inputSample -= oX[allpasstemp]*constallpass; + oX[outX] = inputSample; + inputSample *= constallpass; + outX--; if (outX < 0 || outX > delayX) {outX = delayX;} + inputSample += (oX[outX]); + //allpass filter X + + dX[6] = dX[5]; + dX[5] = dX[4]; + dX[4] = inputSample; + inputSample = (dX[4] + dX[5] + dX[6])/3.0; + + allpasstemp = outY - 1; + if (allpasstemp < 0 || allpasstemp > delayY) {allpasstemp = delayY;} + inputSample -= oY[allpasstemp]*constallpass; + oY[outY] = inputSample; + inputSample *= constallpass; + outY--; if (outY < 0 || outY > delayY) {outY = delayY;} + inputSample += (oY[outY]); + //allpass filter Y + + dY[6] = dY[5]; + dY[5] = dY[4]; + dY[4] = inputSample; + inputSample = (dY[4] + dY[5] + dY[6])/3.0; + + allpasstemp = outZ - 1; + if (allpasstemp < 0 || allpasstemp > delayZ) {allpasstemp = delayZ;} + inputSample -= oZ[allpasstemp]*constallpass; + oZ[outZ] = inputSample; + inputSample *= constallpass; + outZ--; if (outZ < 0 || outZ > delayZ) {outZ = delayZ;} + inputSample += (oZ[outZ]); + //allpass filter Z + + dZ[6] = dZ[5]; + dZ[5] = dZ[4]; + dZ[4] = inputSample; + inputSample = (dZ[4] + dZ[5] + dZ[6]); + //output Zarathustra infinite space verb + break; + + } + //end big switch for verb type + + + + bridgerectifier = fabs(inputSample); + bridgerectifier = 1.0-cos(bridgerectifier); + if (inputSample > 0) inputSample -= bridgerectifier; + else inputSample += bridgerectifier; + inputSample /= gain; + //here we apply the ADT2 'console on steroids' trick + + wetness = wetnesstarget; + //setting up verb wetness to be manipulated by gate and peak + + wetness *= peak; + //but we only use peak (indirect) to deal with dry/wet, so that it'll manipulate the dry/wet like we want + + drySample *= (1.0-wetness); + inputSample *= wetness; + inputSample += drySample; + //here we combine the tanks with the dry signal + + + //begin 32 bit floating point dither + int expon; frexpf((float)inputSample, &expon); + fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5; + inputSample += static_cast(fpd) * 5.960464655174751e-36L * pow(2,expon+62); + //end 32 bit floating point dither + + *destP = inputSample; + sourceP += inNumChannels; destP += inNumChannels; + } +} + diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.exp b/plugins/MacAU/PocketVerbs/PocketVerbs.exp new file mode 100755 index 0000000..41b0949 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.exp @@ -0,0 +1 @@ +_PocketVerbsEntry diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.h b/plugins/MacAU/PocketVerbs/PocketVerbs.h new file mode 100755 index 0000000..c713f82 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.h @@ -0,0 +1,271 @@ +/* +* File: PocketVerbs.h +* +* Version: 1.0 +* +* Created: 8/19/12 +* +* Copyright: Copyright © 2012 Airwindows, All Rights Reserved +* +* 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 "PocketVerbsVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __PocketVerbs_h__ +#define __PocketVerbs_h__ + + +#pragma mark ____PocketVerbs Parameters + +// parameters +static CFStringRef kParameterOneName = CFSTR("Type"); +static const int kChamber = 1; +static const int kSpring = 2; +static const int kTiled = 3; +static const int kRoom = 4; +static const int kStretch = 5; +static const int kZarathustra = 6; +static const int kDefaultValue_ParamOne = kChamber; + +static CFStringRef kMenuItem_Chamber = CFSTR ("Chamber"); +static CFStringRef kMenuItem_Spring = CFSTR ("Spring"); +static CFStringRef kMenuItem_Tiled = CFSTR ("Tiled"); +static CFStringRef kMenuItem_Room = CFSTR ("Room"); +static CFStringRef kMenuItem_Stretch = CFSTR ("Stretch"); +static CFStringRef kMenuItem_Zarathustra = CFSTR ("Zarathustra"); + + +static const float kDefaultValue_ParamTwo = 0.5; +static const float kDefaultValue_ParamThree = 0.0; +static const float kDefaultValue_ParamFour = 0.5; + +static CFStringRef kParameterTwoName = CFSTR("Size"); +static CFStringRef kParameterThreeName = CFSTR("Gating"); +static CFStringRef kParameterFourName = CFSTR("Dry/Wet"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + kParam_Three =2, + kParam_Four =3, + //Add your parameters here... + kNumberOfParameters=4 +}; + +#pragma mark ____PocketVerbs +class PocketVerbs : public AUEffectBase +{ +public: + PocketVerbs(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~PocketVerbs () { delete mDebugDispatcher; } +#endif + + virtual AUKernelBase * NewKernel() { return new PocketVerbsKernel(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()*220000.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 kPocketVerbsVersion; } + + + +protected: + class PocketVerbsKernel : public AUKernelBase // most of the real work happens here + { +public: + PocketVerbsKernel(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: + Float64 dA[7]; + Float64 dB[7]; + Float64 dC[7]; + Float64 dD[7]; + Float64 dE[7]; + Float64 dF[7]; + Float64 dG[7]; + Float64 dH[7]; + Float64 dI[7]; + Float64 dJ[7]; + Float64 dK[7]; + Float64 dL[7]; + Float64 dM[7]; + Float64 dN[7]; + Float64 dO[7]; + Float64 dP[7]; + Float64 dQ[7]; + Float64 dR[7]; + Float64 dS[7]; + Float64 dT[7]; + Float64 dU[7]; + Float64 dV[7]; + Float64 dW[7]; + Float64 dX[7]; + Float64 dY[7]; + Float64 dZ[7]; + + Float64 aA[15150]; + Float64 aB[14618]; + Float64 aC[14358]; + Float64 aD[13818]; + Float64 aE[13562]; + Float64 aF[13046]; + Float64 aG[11966]; + Float64 aH[11130]; + Float64 aI[10598]; + Float64 aJ[9810]; + Float64 aK[9522]; + Float64 aL[8982]; + Float64 aM[8786]; + Float64 aN[8462]; + Float64 aO[8310]; + Float64 aP[7982]; + Float64 aQ[7322]; + Float64 aR[6818]; + Float64 aS[6506]; + Float64 aT[6002]; + Float64 aU[5838]; + Float64 aV[5502]; + Float64 aW[5010]; + Float64 aX[4850]; + Float64 aY[4296]; + Float64 aZ[4180]; + + Float64 oA[15150]; + Float64 oB[14618]; + Float64 oC[14358]; + Float64 oD[13818]; + Float64 oE[13562]; + Float64 oF[13046]; + Float64 oG[11966]; + Float64 oH[11130]; + Float64 oI[10598]; + Float64 oJ[9810]; + Float64 oK[9522]; + Float64 oL[8982]; + Float64 oM[8786]; + Float64 oN[8462]; + Float64 oO[8310]; + Float64 oP[7982]; + Float64 oQ[7322]; + Float64 oR[6818]; + Float64 oS[6506]; + Float64 oT[6002]; + Float64 oU[5838]; + Float64 oV[5502]; + Float64 oW[5010]; + Float64 oX[4850]; + Float64 oY[4296]; + Float64 oZ[4180]; + + int outA, alpA, maxdelayA, delayA; + int outB, alpB, maxdelayB, delayB; + int outC, alpC, maxdelayC, delayC; + int outD, alpD, maxdelayD, delayD; + int outE, alpE, maxdelayE, delayE; + int outF, alpF, maxdelayF, delayF; + int outG, alpG, maxdelayG, delayG; + int outH, alpH, maxdelayH, delayH; + int outI, alpI, maxdelayI, delayI; + int outJ, alpJ, maxdelayJ, delayJ; + int outK, alpK, maxdelayK, delayK; + int outL, alpL, maxdelayL, delayL; + int outM, alpM, maxdelayM, delayM; + int outN, alpN, maxdelayN, delayN; + int outO, alpO, maxdelayO, delayO; + int outP, alpP, maxdelayP, delayP; + int outQ, alpQ, maxdelayQ, delayQ; + int outR, alpR, maxdelayR, delayR; + int outS, alpS, maxdelayS, delayS; + int outT, alpT, maxdelayT, delayT; + int outU, alpU, maxdelayU, delayU; + int outV, alpV, maxdelayV, delayV; + int outW, alpW, maxdelayW, delayW; + int outX, alpX, maxdelayX, delayX; + int outY, alpY, maxdelayY, delayY; + int outZ, alpZ, maxdelayZ, delayZ; + + Float64 savedRoomsize; + int countdown; + Float64 peak; + uint32_t fpd; + + }; + }; + + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.r b/plugins/MacAU/PocketVerbs/PocketVerbs.r new file mode 100755 index 0000000..07090e6 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.r @@ -0,0 +1,61 @@ +/* +* File: PocketVerbs.r +* +* Version: 1.0 +* +* Created: 8/19/12 +* +* Copyright: Copyright © 2012 Airwindows, All Rights Reserved +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "PocketVerbsVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_PocketVerbs 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PocketVerbs~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_PocketVerbs +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE PocketVerbs_COMP_SUBTYPE +#define COMP_MANUF PocketVerbs_COMP_MANF + +#define VERSION kPocketVerbsVersion +#define NAME "Airwindows: PocketVerbs" +#define DESCRIPTION "PocketVerbs AU" +#define ENTRY_POINT "PocketVerbsEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 0000000..4bbeff6 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1374 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 647}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 665}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 547 163 857 706 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + PocketVerbsVersion.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + PocketVerbsVersion.h + _historyCapacity + 0 + bookmark + 8B4223CF189BDBA000BD9C44 + history + + 8B21D7851745523400E1943E + 8B35583517455FF2009B6944 + 8B9B2A791779C31C0061D2E0 + 8B9B2A7A1779C31C0061D2E0 + 8B9B2A7B1779C31C0061D2E0 + 8B464AE617E3574500CFD7BE + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {649, 267}} + RubberWindowFrame + 547 163 857 706 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 267pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 272}, {649, 393}} + RubberWindowFrame + 547 163 857 706 0 0 1440 878 + + Module + XCDetailModule + Proportion + 393pt + + + Proportion + 649pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8B4223D0189BDBA000BD9C44 + 1CE0B1FE06471DED0097A5F4 + 8B4223D1189BDBA000BD9C44 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8B4223D3189BDBA000BD9C44 + 8BD3CCBD148831C90062E48C + /Users/christopherjohnson/Desktop/Dropbox/AU/PocketVerbs/PocketVerbs.xcodeproj + + WindowString + 547 163 857 706 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8B4223D2189BDBA000BD9C44 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 0000000..7fbbf18 --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,149 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* PocketVerbs */; + 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, + 301, + 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 = 595625819; + PBXWorkspaceStateSaveDate = 595625819; + }; + perUserProjectItems = { + 8B0639D12380A76700606DBC /* PBXTextBookmark */ = 8B0639D12380A76700606DBC /* PBXTextBookmark */; + 8B0639D22380A76700606DBC /* PBXTextBookmark */ = 8B0639D22380A76700606DBC /* PBXTextBookmark */; + 8B0639D32380A76700606DBC /* PBXTextBookmark */ = 8B0639D32380A76700606DBC /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B0639D12380A76700606DBC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* PocketVerbsVersion.h */; + name = "PocketVerbsVersion.h: 48"; + rLen = 0; + rLoc = 2728; + rType = 0; + vrLen = 87; + vrLoc = 2683; + }; + 8B0639D22380A76700606DBC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PocketVerbs.cpp */; + name = "PocketVerbs.cpp: 325"; + rLen = 0; + rLoc = 15455; + rType = 0; + vrLen = 87; + vrLoc = 14950; + }; + 8B0639D32380A76700606DBC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PocketVerbs.cpp */; + name = "PocketVerbs.cpp: 325"; + rLen = 0; + rLoc = 15455; + rType = 0; + vrLen = 87; + vrLoc = 14950; + }; + 8BA05A660720730100365D66 /* PocketVerbs.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1111, 62803}}"; + sepNavSelRange = "{15455, 0}"; + sepNavVisRange = "{14950, 87}"; + sepNavWindowFrame = "{{518, 57}, {908, 821}}"; + }; + }; + 8BA05A670720730100365D66 /* PocketVerbs.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {588, 259}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 18}"; + }; + }; + 8BA05A680720730100365D66 /* PocketVerbs.r */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {702, 627}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1442}"; + }; + }; + 8BA05A690720730100365D66 /* PocketVerbsVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {803, 936}}"; + sepNavSelRange = "{2728, 0}"; + sepNavVisRange = "{2683, 87}"; + sepNavWindowFrame = "{{575, 67}, {834, 801}}"; + }; + }; + 8BC6025B073B072D006C4272 /* PocketVerbs.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1041, 3523}}"; + sepNavSelRange = "{5987, 0}"; + sepNavVisRange = "{3031, 1879}"; + sepNavWindowFrame = "{{546, 57}, {885, 821}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* PocketVerbs */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 0000000..37ac50e --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8BEED1FF1EA54DCA0094708A + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 620 386 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8BEED1FA1EA54DCA0094708A + PBXProjectModuleLabel + PocketVerbs.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8BEED1FB1EA54DCA0094708A + PBXProjectModuleLabel + PocketVerbs.cpp + _historyCapacity + 0 + bookmark + 8B0639D32380A76700606DBC + history + + 8B0639D12380A76700606DBC + 8B0639D22380A76700606DBC + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 51}} + RubberWindowFrame + 620 386 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 51pt + + + Proportion + 390pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 363}} + RubberWindowFrame + 620 386 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B0639D42380A76700606DBC + 1CA23ED40692098700951B8B + 8B0639D52380A76700606DBC + 8BEED1FA1EA54DCA0094708A + 8B0639D62380A76700606DBC + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 595634023.18682003 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B0639D72380A76700606DBC + /Users/christopherjohnson/Desktop/Plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj + + WindowString + 620 386 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/project.pbxproj b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/project.pbxproj new file mode 100755 index 0000000..b874a8f --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbs.xcodeproj/project.pbxproj @@ -0,0 +1,490 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; }; + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; }; + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; }; + 8B4119B70749654200361ABE /* PocketVerbs.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* PocketVerbs.r */; }; + 8BA05A6B0720730100365D66 /* PocketVerbs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* PocketVerbs.cpp */; }; + 8BA05A6E0720730100365D66 /* PocketVerbsVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* PocketVerbsVersion.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 /* PocketVerbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* PocketVerbs.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; }; + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* PocketVerbs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PocketVerbs.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* PocketVerbs.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = PocketVerbs.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* PocketVerbs.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = PocketVerbs.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* PocketVerbsVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PocketVerbsVersion.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* PocketVerbs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PocketVerbs.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* PocketVerbs.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PocketVerbs.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 /* PocketVerbs */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = PocketVerbs; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* PocketVerbs.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* PocketVerbs.h */, + 8BA05A660720730100365D66 /* PocketVerbs.cpp */, + 8BA05A670720730100365D66 /* PocketVerbs.exp */, + 8BA05A680720730100365D66 /* PocketVerbs.r */, + 8BA05A690720730100365D66 /* PocketVerbsVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BA05A7D072073D200365D66 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BA05A7E072073D200365D66 /* AUBase */, + 8BA05A99072073D200365D66 /* OtherBases */, + 8BA05AA6072073D200365D66 /* Utility */, + ); + name = AUPublic; + path = Extras/CoreAudio/AudioUnits/AUPublic; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; + 8BA05A7E072073D200365D66 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BA05A7F072073D200365D66 /* AUBase.cpp */, + 8BA05A80072073D200365D66 /* AUBase.h */, + 8BA05A81072073D200365D66 /* AUDispatch.cpp */, + 8BA05A82072073D200365D66 /* AUDispatch.h */, + 8BA05A83072073D200365D66 /* AUInputElement.cpp */, + 8BA05A84072073D200365D66 /* AUInputElement.h */, + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */, + 8BA05A86072073D200365D66 /* AUOutputElement.h */, + 8BA05A87072073D200365D66 /* AUResources.r */, + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */, + 8BA05A89072073D200365D66 /* AUScopeElement.h */, + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */, + 8BA05A8B072073D200365D66 /* ComponentBase.h */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BA05AA6072073D200365D66 /* Utility */ = { + isa = PBXGroup; + children = ( + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */, + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */, + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */, + 8BA05AA8072073D200365D66 /* AUBuffer.h */, + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */, + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */, + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */, + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */, + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05AEB0720742700365D66 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BA05B050720754400365D66 /* CAAUParameter.cpp */, + 8BA05B060720754400365D66 /* CAAUParameter.h */, + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */, + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */, + 8BA05AE10720742100365D66 /* CAMutex.cpp */, + 8BA05AE20720742100365D66 /* CAMutex.h */, + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */, + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */, + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */, + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */, + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */, + ); + name = PublicUtility; + path = Extras/CoreAudio/PublicUtility; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6E0720730100365D66 /* PocketVerbsVersion.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 /* PocketVerbs.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 /* PocketVerbs */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "PocketVerbs" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PocketVerbs; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = PocketVerbs; + productReference = 8D01CCD20486CAD60068D4B7 /* PocketVerbs.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 "PocketVerbs" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* PocketVerbs */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* PocketVerbs */, + ); + }; +/* 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 /* PocketVerbs.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* PocketVerbs.cpp in Sources */, + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */, + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */, + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */, + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */, + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */, + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */, + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */, + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */, + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */, + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */, + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */, + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */, + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */, + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */, + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = PocketVerbs.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 = PocketVerbs; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = PocketVerbs.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 = PocketVerbs; + 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 "PocketVerbs" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "PocketVerbs" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/PocketVerbs/PocketVerbsVersion.h b/plugins/MacAU/PocketVerbs/PocketVerbsVersion.h new file mode 100755 index 0000000..b05ac2d --- /dev/null +++ b/plugins/MacAU/PocketVerbs/PocketVerbsVersion.h @@ -0,0 +1,58 @@ +/* +* File: PocketVerbsVersion.h +* +* Version: 1.0 +* +* Created: 8/19/12 +* +* Copyright: Copyright © 2012 Airwindows, All Rights Reserved +* +* 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 __PocketVerbsVersion_h__ +#define __PocketVerbsVersion_h__ + + +#ifdef DEBUG + #define kPocketVerbsVersion 0xFFFFFFFF +#else + #define kPocketVerbsVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define PocketVerbs_COMP_MANF 'Dthr' +#define PocketVerbs_COMP_SUBTYPE 'pkvb' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/categories.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/categories.pbxbtree new file mode 100755 index 0000000..d3f6bb3 Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/categories.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/cdecls.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/cdecls.pbxbtree new file mode 100755 index 0000000..4821b57 Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/cdecls.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/decls.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/decls.pbxbtree new file mode 100755 index 0000000..4a40b5d Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/decls.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/files.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/files.pbxbtree new file mode 100755 index 0000000..f9bccaa Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/files.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/imports.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/imports.pbxbtree new file mode 100755 index 0000000..9d9ec0a Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/imports.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/pbxindex.header b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/pbxindex.header new file mode 100755 index 0000000..6131daa Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/pbxindex.header differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/protocols.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/protocols.pbxbtree new file mode 100755 index 0000000..d3f6bb3 Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/protocols.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/refs.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/refs.pbxbtree new file mode 100755 index 0000000..aca451d Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/refs.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/control b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/control new file mode 100755 index 0000000..d0d3ded Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/control differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/strings b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/strings new file mode 100755 index 0000000..8c8a0b1 Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/strings.pbxstrings/strings differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/subclasses.pbxbtree b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/subclasses.pbxbtree new file mode 100755 index 0000000..712f37a Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/subclasses.pbxbtree differ diff --git a/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/symbols0.pbxsymbols b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/symbols0.pbxsymbols new file mode 100755 index 0000000..46e93f5 Binary files /dev/null and b/plugins/MacAU/PocketVerbs/build/PocketVerbs.build/PocketVerbs.pbxindex/symbols0.pbxsymbols differ diff --git a/plugins/MacAU/PocketVerbs/version.plist b/plugins/MacAU/PocketVerbs/version.plist new file mode 100755 index 0000000..11edf8a --- /dev/null +++ b/plugins/MacAU/PocketVerbs/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + -- cgit v1.2.3