ClearCoat adjustment

This commit is contained in:
Christopher Johnson 2023-11-06 15:27:24 -05:00
parent 743c48d6c6
commit eda72427e8
29 changed files with 1269 additions and 757 deletions

View file

@ -116,6 +116,8 @@ ClearCoat::ClearCoat(audioMasterCallback audioMaster) :
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.

View file

@ -194,6 +194,15 @@ private:
int shortP;
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
float A;
float B;

View file

@ -133,6 +133,7 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -343,6 +344,42 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;
@ -501,6 +538,7 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -711,6 +749,42 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;

View file

@ -282,6 +282,8 @@ ComponentResult ClearCoat::Reset(AudioUnitScope inScope, AudioUnitElement inEle
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
@ -419,6 +421,7 @@ OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = GetParameter( kParam_Two )*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -628,6 +631,42 @@ OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;

View file

@ -251,6 +251,15 @@ public:
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
uint32_t fpdL;
uint32_t fpdR;
};

View file

@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 719864074;
PBXWorkspaceStateSaveDate = 719864074;
PBXPerProjectTemplateStateSaveDate = 720986511;
PBXWorkspaceStateSaveDate = 720986511;
};
perUserProjectItems = {
8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */;
8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */;
8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = 8B1FFB7D2AE848C4004C416B /* PBXBookmark */;
8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */;
8B2448B22AF95CC000F56D14 /* PBXTextBookmark */ = 8B2448B22AF95CC000F56D14 /* PBXTextBookmark */;
8B24490A2AF9620A00F56D14 /* PBXTextBookmark */ = 8B24490A2AF9620A00F56D14 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@ -77,38 +77,44 @@
fRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */;
name = "ClearCoat.cpp: 633";
rLen = 270;
rLoc = 29022;
rLoc = 30491;
rType = 0;
vrLen = 217;
vrLoc = 29026;
};
8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
};
8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = {
8B2448B22AF95CC000F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
name = "ClearCoatVersion.h: 54";
rLen = 0;
rLoc = 2907;
rType = 0;
vrLen = 181;
vrLen = 180;
vrLoc = 2781;
};
8B24490A2AF9620A00F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
name = "ClearCoatVersion.h: 54";
rLen = 0;
rLoc = 2907;
rType = 0;
vrLen = 128;
vrLoc = 2833;
};
8BA05A660720730100365D66 /* ClearCoat.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {2748, 12150}}";
sepNavSelRange = "{20031, 9580}";
sepNavVisRange = "{28900, 1352}";
sepNavWindowFrame = "{{659, 40}, {771, 838}}";
sepNavIntBoundsRect = "{{0, 0}, {2748, 11916}}";
sepNavSelRange = "{19391, 40}";
sepNavVisRange = "{16783, 3054}";
sepNavWindowFrame = "{{51, 40}, {771, 838}}";
};
};
8BA05A690720730100365D66 /* ClearCoatVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1152}}";
sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}";
sepNavSelRange = "{2907, 0}";
sepNavVisRange = "{2781, 181}";
sepNavVisRange = "{2833, 128}";
sepNavWindowFrame = "{{15, 38}, {896, 840}}";
};
};
@ -121,10 +127,10 @@
};
8BC6025B073B072D006C4272 /* ClearCoat.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 3834}}";
sepNavSelRange = "{3285, 0}";
sepNavVisRange = "{2146, 1005}";
sepNavWindowFrame = "{{641, 119}, {1060, 701}}";
sepNavIntBoundsRect = "{{0, 0}, {1013, 5832}}";
sepNavSelRange = "{7432, 0}";
sepNavVisRange = "{7132, 441}";
sepNavWindowFrame = "{{380, 119}, {1060, 701}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {

View file

@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -352,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B1FFB7E2AE848C4004C416B</string>
<string>8B24490A2AF9620A00F56D14</string>
<key>history</key>
<array>
<string>8B1FFB7B2AE848C4004C416B</string>
<string>8B1FFB7C2AE848C4004C416B</string>
<string>8B1FFB7D2AE848C4004C416B</string>
<string>8B2448B22AF95CC000F56D14</string>
</array>
</dict>
<key>SplitCount</key>
@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {603, 117}}</string>
<string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>117pt</string>
<string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>324pt</string>
<string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@ -396,9 +396,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 297}}</string>
<string>{{10, 27}, {603, 328}}</string>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -452,7 +452,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
<string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1FFB7F2AE848C4004C416B</string>
<string>8B24490B2AF9620A00F56D14</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1FFB802AE848C4004C416B</string>
<string>8B24490C2AF9620A00F56D14</string>
<string>8B80DD832AE71ACE0036BE63</string>
<string>8B1FFB812AE848C4004C416B</string>
<string>8B24490D2AF9620A00F56D14</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -637,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>719866052.44707799</real>
<real>720986634.347139</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -654,11 +654,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>8B1FFB822AE848C4004C416B</string>
<string>8B24490E2AF9620A00F56D14</string>
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj</string>
</array>
<key>WindowString</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>

View file

@ -282,6 +282,8 @@ ComponentResult ClearCoat::Reset(AudioUnitScope inScope, AudioUnitElement inEle
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
return noErr;
@ -419,6 +421,7 @@ OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = GetParameter( kParam_Two )*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -628,6 +631,42 @@ OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;

View file

@ -251,6 +251,15 @@ public:
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
uint32_t fpdL;
uint32_t fpdR;
};

View file

@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 719864074;
PBXWorkspaceStateSaveDate = 719864074;
PBXPerProjectTemplateStateSaveDate = 720986511;
PBXWorkspaceStateSaveDate = 720986511;
};
perUserProjectItems = {
8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */;
8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */;
8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = 8B1FFB7D2AE848C4004C416B /* PBXBookmark */;
8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */;
8B2448B22AF95CC000F56D14 /* PBXTextBookmark */ = 8B2448B22AF95CC000F56D14 /* PBXTextBookmark */;
8B24490A2AF9620A00F56D14 /* PBXTextBookmark */ = 8B24490A2AF9620A00F56D14 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@ -77,38 +77,44 @@
fRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */;
name = "ClearCoat.cpp: 633";
rLen = 270;
rLoc = 29022;
rLoc = 30491;
rType = 0;
vrLen = 217;
vrLoc = 29026;
};
8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
};
8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = {
8B2448B22AF95CC000F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
name = "ClearCoatVersion.h: 54";
rLen = 0;
rLoc = 2907;
rType = 0;
vrLen = 181;
vrLen = 180;
vrLoc = 2781;
};
8B24490A2AF9620A00F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */;
name = "ClearCoatVersion.h: 54";
rLen = 0;
rLoc = 2907;
rType = 0;
vrLen = 128;
vrLoc = 2833;
};
8BA05A660720730100365D66 /* ClearCoat.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {2748, 12150}}";
sepNavSelRange = "{20031, 9580}";
sepNavVisRange = "{28900, 1352}";
sepNavWindowFrame = "{{659, 40}, {771, 838}}";
sepNavIntBoundsRect = "{{0, 0}, {2748, 11916}}";
sepNavSelRange = "{19391, 40}";
sepNavVisRange = "{16783, 3054}";
sepNavWindowFrame = "{{51, 40}, {771, 838}}";
};
};
8BA05A690720730100365D66 /* ClearCoatVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 1152}}";
sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}";
sepNavSelRange = "{2907, 0}";
sepNavVisRange = "{2781, 181}";
sepNavVisRange = "{2833, 128}";
sepNavWindowFrame = "{{15, 38}, {896, 840}}";
};
};
@ -121,10 +127,10 @@
};
8BC6025B073B072D006C4272 /* ClearCoat.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1056, 3834}}";
sepNavSelRange = "{3285, 0}";
sepNavVisRange = "{2146, 1005}";
sepNavWindowFrame = "{{641, 119}, {1060, 701}}";
sepNavIntBoundsRect = "{{0, 0}, {1013, 5832}}";
sepNavSelRange = "{7432, 0}";
sepNavVisRange = "{7132, 441}";
sepNavWindowFrame = "{{380, 119}, {1060, 701}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {

View file

@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -352,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B1FFB7E2AE848C4004C416B</string>
<string>8B24490A2AF9620A00F56D14</string>
<key>history</key>
<array>
<string>8B1FFB7B2AE848C4004C416B</string>
<string>8B1FFB7C2AE848C4004C416B</string>
<string>8B1FFB7D2AE848C4004C416B</string>
<string>8B2448B22AF95CC000F56D14</string>
</array>
</dict>
<key>SplitCount</key>
@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {603, 117}}</string>
<string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>117pt</string>
<string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>324pt</string>
<string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@ -396,9 +396,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 297}}</string>
<string>{{10, 27}, {603, 328}}</string>
<key>RubberWindowFrame</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -452,7 +452,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
<string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1FFB7F2AE848C4004C416B</string>
<string>8B24490B2AF9620A00F56D14</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1FFB802AE848C4004C416B</string>
<string>8B24490C2AF9620A00F56D14</string>
<string>8B80DD832AE71ACE0036BE63</string>
<string>8B1FFB812AE848C4004C416B</string>
<string>8B24490D2AF9620A00F56D14</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -637,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>719866052.44707799</real>
<real>720986634.347139</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -654,11 +654,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>8B1FFB822AE848C4004C416B</string>
<string>8B24490E2AF9620A00F56D14</string>
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj</string>
</array>
<key>WindowString</key>
<string>609 346 810 487 0 0 1440 878 </string>
<string>37 335 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>

View file

@ -49,8 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 719864001;
PBXWorkspaceStateSaveDate = 719864001;
PBXPerProjectTemplateStateSaveDate = 720986645;
PBXWorkspaceStateSaveDate = 720986645;
};
perUserProjectItems = {
8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */ = 8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */;
8B24492E2AF9626A00F56D14 /* PBXTextBookmark */ = 8B24492E2AF9626A00F56D14 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
@ -58,17 +62,17 @@
};
2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 3510}}";
sepNavSelRange = "{6292, 0}";
sepNavVisRange = "{5854, 1565}";
sepNavIntBoundsRect = "{{0, 0}, {948, 4590}}";
sepNavSelRange = "{3174, 0}";
sepNavVisRange = "{2836, 1269}";
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* ClearCoat.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1110, 2880}}";
sepNavIntBoundsRect = "{{0, 0}, {768, 3726}}";
sepNavSelRange = "{841, 0}";
sepNavVisRange = "{663, 2150}";
sepNavVisRange = "{765, 106}";
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
};
};
@ -82,9 +86,9 @@
};
24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {2703, 20610}}";
sepNavSelRange = "{37126, 0}";
sepNavVisRange = "{36334, 1374}";
sepNavIntBoundsRect = "{{0, 0}, {849, 15192}}";
sepNavSelRange = "{38091, 0}";
sepNavVisRange = "{38375, 1646}";
sepNavWindowFrame = "{{31, 42}, {895, 831}}";
};
};
@ -102,6 +106,26 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* ClearCoat.h */;
name = "ClearCoat.h: 39";
rLen = 0;
rLoc = 841;
rType = 0;
vrLen = 159;
vrLoc = 765;
};
8B24492E2AF9626A00F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* ClearCoat.h */;
name = "ClearCoat.h: 39";
rLen = 0;
rLoc = 841;
rType = 0;
vrLen = 106;
vrLoc = 765;
};
8D01CCC60486CAD60068D4B7 /* ClearCoat */ = {
activeExec = 0;
};

View file

@ -339,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B0237581D42B1C400E1E8C8</string>
<key>PBXProjectModuleLabel</key>
<string>Gain.h</string>
<string>ClearCoat.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -347,7 +347,15 @@
<key>PBXProjectModuleGUID</key>
<string>8B0237591D42B1C400E1E8C8</string>
<key>PBXProjectModuleLabel</key>
<string>Gain.h</string>
<string>ClearCoat.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B24492E2AF9626A00F56D14</string>
<key>history</key>
<array>
<string>8B2448FA2AF95DB400F56D14</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
@ -360,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
<string>34 365 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>0pt</string>
<string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>441pt</string>
<string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@ -385,7 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
<string>{{10, 27}, {603, 297}}</string>
<key>RubberWindowFrame</key>
<string>34 365 810 487 0 0 1440 878 </string>
</dict>
@ -469,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1FFB832AE848C7004C416B</string>
<string>8B24492F2AF9626A00F56D14</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1FFB842AE848C7004C416B</string>
<string>8B2449302AF9626A00F56D14</string>
<string>8B0237581D42B1C400E1E8C8</string>
<string>8B1FFB852AE848C7004C416B</string>
<string>8B2449312AF9626A00F56D14</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -626,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>719866055.71459603</real>
<real>720986730.33185506</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -643,8 +651,8 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>8B1FFB862AE848C7004C416B</string>
<string>/Users/christopherjohnson/Desktop/ClearCoat/ClearCoat.xcodeproj</string>
<string>8B2449322AF9626A00F56D14</string>
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj</string>
</array>
<key>WindowString</key>
<string>34 365 810 487 0 0 1440 878 </string>

View file

@ -12,15 +12,15 @@
24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; };
24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */; };
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; };
8B15420D2AE9BAB900DE8C34 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542012AE9BAB900DE8C34 /* vstfxstore.h */; };
8B15420E2AE9BAB900DE8C34 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542022AE9BAB900DE8C34 /* aeffect.h */; };
8B15420F2AE9BAB900DE8C34 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542032AE9BAB900DE8C34 /* aeffectx.h */; };
8B1542102AE9BAB900DE8C34 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542072AE9BAB900DE8C34 /* audioeffectx.h */; };
8B1542112AE9BAB900DE8C34 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */; };
8B1542122AE9BAB900DE8C34 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */; };
8B1542132AE9BAB900DE8C34 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */; };
8B1542142AE9BAB900DE8C34 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */; };
8B1542152AE9BAB900DE8C34 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15420C2AE9BAB900DE8C34 /* audioeffect.h */; };
8BDFB2412AF9826100E671B8 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB2352AF9826100E671B8 /* vstfxstore.h */; };
8BDFB2422AF9826100E671B8 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB2362AF9826100E671B8 /* aeffect.h */; };
8BDFB2432AF9826100E671B8 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB2372AF9826100E671B8 /* aeffectx.h */; };
8BDFB2442AF9826100E671B8 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB23B2AF9826100E671B8 /* audioeffectx.h */; };
8BDFB2452AF9826100E671B8 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BDFB23C2AF9826100E671B8 /* audioeffect.cpp */; };
8BDFB2462AF9826100E671B8 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BDFB23D2AF9826100E671B8 /* audioeffectx.cpp */; };
8BDFB2472AF9826100E671B8 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB23E2AF9826100E671B8 /* aeffeditor.h */; };
8BDFB2482AF9826100E671B8 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BDFB23F2AF9826100E671B8 /* vstplugmain.cpp */; };
8BDFB2492AF9826100E671B8 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDFB2402AF9826100E671B8 /* audioeffect.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@ -30,15 +30,15 @@
24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = "<group>"; };
24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClearCoatProc.cpp; path = source/ClearCoatProc.cpp; sourceTree = "<group>"; };
24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; };
8B1542012AE9BAB900DE8C34 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8B1542022AE9BAB900DE8C34 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8B1542032AE9BAB900DE8C34 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8B1542072AE9BAB900DE8C34 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8B15420C2AE9BAB900DE8C34 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = "<group>"; };
8BDFB2352AF9826100E671B8 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = "<group>"; };
8BDFB2362AF9826100E671B8 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
8BDFB2372AF9826100E671B8 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
8BDFB23B2AF9826100E671B8 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = "<group>"; };
8BDFB23C2AF9826100E671B8 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = "<group>"; };
8BDFB23D2AF9826100E671B8 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = "<group>"; };
8BDFB23E2AF9826100E671B8 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = "<group>"; };
8BDFB23F2AF9826100E671B8 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = "<group>"; };
8BDFB2402AF9826100E671B8 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -66,7 +66,7 @@
08FB77ADFE841716C02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
8B1541FE2AE9BAB900DE8C34 /* vstsdk2.4 */,
8BDFB2322AF9826100E671B8 /* vstsdk2.4 */,
2407DEB6089929BA00EB68BF /* ClearCoat.cpp */,
24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */,
245463B80991757100464AD3 /* ClearCoat.h */,
@ -82,59 +82,59 @@
name = Products;
sourceTree = "<group>";
};
8B1541FE2AE9BAB900DE8C34 /* vstsdk2.4 */ = {
8BDFB2322AF9826100E671B8 /* vstsdk2.4 */ = {
isa = PBXGroup;
children = (
8B1541FF2AE9BAB900DE8C34 /* pluginterfaces */,
8B1542042AE9BAB900DE8C34 /* public.sdk */,
8BDFB2332AF9826100E671B8 /* pluginterfaces */,
8BDFB2382AF9826100E671B8 /* public.sdk */,
);
name = vstsdk2.4;
path = ../../../../vstsdk2.4;
sourceTree = "<group>";
};
8B1541FF2AE9BAB900DE8C34 /* pluginterfaces */ = {
8BDFB2332AF9826100E671B8 /* pluginterfaces */ = {
isa = PBXGroup;
children = (
8B1542002AE9BAB900DE8C34 /* vst2.x */,
8BDFB2342AF9826100E671B8 /* vst2.x */,
);
path = pluginterfaces;
sourceTree = "<group>";
};
8B1542002AE9BAB900DE8C34 /* vst2.x */ = {
8BDFB2342AF9826100E671B8 /* vst2.x */ = {
isa = PBXGroup;
children = (
8B1542012AE9BAB900DE8C34 /* vstfxstore.h */,
8B1542022AE9BAB900DE8C34 /* aeffect.h */,
8B1542032AE9BAB900DE8C34 /* aeffectx.h */,
8BDFB2352AF9826100E671B8 /* vstfxstore.h */,
8BDFB2362AF9826100E671B8 /* aeffect.h */,
8BDFB2372AF9826100E671B8 /* aeffectx.h */,
);
path = vst2.x;
sourceTree = "<group>";
};
8B1542042AE9BAB900DE8C34 /* public.sdk */ = {
8BDFB2382AF9826100E671B8 /* public.sdk */ = {
isa = PBXGroup;
children = (
8B1542052AE9BAB900DE8C34 /* source */,
8BDFB2392AF9826100E671B8 /* source */,
);
path = public.sdk;
sourceTree = "<group>";
};
8B1542052AE9BAB900DE8C34 /* source */ = {
8BDFB2392AF9826100E671B8 /* source */ = {
isa = PBXGroup;
children = (
8B1542062AE9BAB900DE8C34 /* vst2.x */,
8BDFB23A2AF9826100E671B8 /* vst2.x */,
);
path = source;
sourceTree = "<group>";
};
8B1542062AE9BAB900DE8C34 /* vst2.x */ = {
8BDFB23A2AF9826100E671B8 /* vst2.x */ = {
isa = PBXGroup;
children = (
8B1542072AE9BAB900DE8C34 /* audioeffectx.h */,
8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */,
8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */,
8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */,
8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */,
8B15420C2AE9BAB900DE8C34 /* audioeffect.h */,
8BDFB23B2AF9826100E671B8 /* audioeffectx.h */,
8BDFB23C2AF9826100E671B8 /* audioeffect.cpp */,
8BDFB23D2AF9826100E671B8 /* audioeffectx.cpp */,
8BDFB23E2AF9826100E671B8 /* aeffeditor.h */,
8BDFB23F2AF9826100E671B8 /* vstplugmain.cpp */,
8BDFB2402AF9826100E671B8 /* audioeffect.h */,
);
path = vst2.x;
sourceTree = "<group>";
@ -146,14 +146,14 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8B1542132AE9BAB900DE8C34 /* aeffeditor.h in Headers */,
8BDFB2472AF9826100E671B8 /* aeffeditor.h in Headers */,
245463B90991757100464AD3 /* ClearCoat.h in Headers */,
8B1542152AE9BAB900DE8C34 /* audioeffect.h in Headers */,
8B15420E2AE9BAB900DE8C34 /* aeffect.h in Headers */,
8BDFB2492AF9826100E671B8 /* audioeffect.h in Headers */,
8BDFB2422AF9826100E671B8 /* aeffect.h in Headers */,
24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */,
8B1542102AE9BAB900DE8C34 /* audioeffectx.h in Headers */,
8B15420D2AE9BAB900DE8C34 /* vstfxstore.h in Headers */,
8B15420F2AE9BAB900DE8C34 /* aeffectx.h in Headers */,
8BDFB2442AF9826100E671B8 /* audioeffectx.h in Headers */,
8BDFB2412AF9826100E671B8 /* vstfxstore.h in Headers */,
8BDFB2432AF9826100E671B8 /* aeffectx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -192,11 +192,11 @@
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
de,
en,
ja,
fr,
Base,
fr,
ja,
de,
);
mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */;
projectDirPath = "";
@ -240,10 +240,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8B1542122AE9BAB900DE8C34 /* audioeffectx.cpp in Sources */,
8BDFB2462AF9826100E671B8 /* audioeffectx.cpp in Sources */,
2407DEB9089929BA00EB68BF /* ClearCoat.cpp in Sources */,
8B1542112AE9BAB900DE8C34 /* audioeffect.cpp in Sources */,
8B1542142AE9BAB900DE8C34 /* vstplugmain.cpp in Sources */,
8BDFB2452AF9826100E671B8 /* audioeffect.cpp in Sources */,
8BDFB2482AF9826100E671B8 /* vstplugmain.cpp in Sources */,
24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;

View file

@ -116,6 +116,8 @@ ClearCoat::ClearCoat(audioMasterCallback audioMaster) :
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.

View file

@ -194,6 +194,15 @@ private:
int shortP;
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
float A;
float B;

View file

@ -133,6 +133,7 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -343,6 +344,42 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;
@ -501,6 +538,7 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -711,6 +749,42 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;

View file

@ -49,8 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 719864001;
PBXWorkspaceStateSaveDate = 719864001;
PBXPerProjectTemplateStateSaveDate = 720986645;
PBXWorkspaceStateSaveDate = 720986645;
};
perUserProjectItems = {
8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */ = 8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */;
8B24492E2AF9626A00F56D14 /* PBXTextBookmark */ = 8B24492E2AF9626A00F56D14 /* PBXTextBookmark */;
};
sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */;
userBuildSettings = {
@ -58,17 +62,17 @@
};
2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {948, 3510}}";
sepNavSelRange = "{6292, 0}";
sepNavVisRange = "{5854, 1565}";
sepNavIntBoundsRect = "{{0, 0}, {948, 4590}}";
sepNavSelRange = "{3174, 0}";
sepNavVisRange = "{2836, 1269}";
sepNavWindowFrame = "{{12, 47}, {895, 831}}";
};
};
245463B80991757100464AD3 /* ClearCoat.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1110, 2880}}";
sepNavIntBoundsRect = "{{0, 0}, {768, 3726}}";
sepNavSelRange = "{841, 0}";
sepNavVisRange = "{663, 2150}";
sepNavVisRange = "{765, 106}";
sepNavWindowFrame = "{{20, 47}, {895, 831}}";
};
};
@ -82,9 +86,9 @@
};
24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {2703, 20610}}";
sepNavSelRange = "{37126, 0}";
sepNavVisRange = "{36334, 1374}";
sepNavIntBoundsRect = "{{0, 0}, {849, 15192}}";
sepNavSelRange = "{38091, 0}";
sepNavVisRange = "{38375, 1646}";
sepNavWindowFrame = "{{31, 42}, {895, 831}}";
};
};
@ -102,6 +106,26 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
8B2448FA2AF95DB400F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* ClearCoat.h */;
name = "ClearCoat.h: 39";
rLen = 0;
rLoc = 841;
rType = 0;
vrLen = 159;
vrLoc = 765;
};
8B24492E2AF9626A00F56D14 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 245463B80991757100464AD3 /* ClearCoat.h */;
name = "ClearCoat.h: 39";
rLen = 0;
rLoc = 841;
rType = 0;
vrLen = 106;
vrLoc = 765;
};
8D01CCC60486CAD60068D4B7 /* ClearCoat */ = {
activeExec = 0;
};

View file

@ -339,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B0237581D42B1C400E1E8C8</string>
<key>PBXProjectModuleLabel</key>
<string>Gain.h</string>
<string>ClearCoat.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -347,7 +347,15 @@
<key>PBXProjectModuleGUID</key>
<string>8B0237591D42B1C400E1E8C8</string>
<key>PBXProjectModuleLabel</key>
<string>Gain.h</string>
<string>ClearCoat.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>8B24492E2AF9626A00F56D14</string>
<key>history</key>
<array>
<string>8B2448FA2AF95DB400F56D14</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
@ -360,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
<string>34 365 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>0pt</string>
<string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>441pt</string>
<string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@ -385,7 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
<string>{{10, 27}, {603, 297}}</string>
<key>RubberWindowFrame</key>
<string>34 365 810 487 0 0 1440 878 </string>
</dict>
@ -469,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>8B1FFB832AE848C7004C416B</string>
<string>8B24492F2AF9626A00F56D14</string>
<string>1CA23ED40692098700951B8B</string>
<string>8B1FFB842AE848C7004C416B</string>
<string>8B2449302AF9626A00F56D14</string>
<string>8B0237581D42B1C400E1E8C8</string>
<string>8B1FFB852AE848C7004C416B</string>
<string>8B2449312AF9626A00F56D14</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -626,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>719866055.71459603</real>
<real>720986730.33185506</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@ -643,8 +651,8 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>8B1FFB862AE848C7004C416B</string>
<string>/Users/christopherjohnson/Desktop/ClearCoat/ClearCoat.xcodeproj</string>
<string>8B2449322AF9626A00F56D14</string>
<string>/Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj</string>
</array>
<key>WindowString</key>
<string>34 365 810 487 0 0 1440 878 </string>

View file

@ -116,6 +116,8 @@ ClearCoat::ClearCoat(audioMasterCallback audioMaster) :
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.

View file

@ -194,6 +194,15 @@ private:
int shortP;
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
float A;
float B;

View file

@ -133,6 +133,7 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -343,6 +344,42 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;
@ -501,6 +538,7 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -711,6 +749,42 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;

View file

@ -116,6 +116,8 @@ ClearCoat::ClearCoat(audioMasterCallback audioMaster) :
shortP = 2366;
prevclearcoat = -1;
subAL = subAR = subBL = subBR = subCL = subCR = subDL = subDR = 0.0;
fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX;
fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX;
//this is reset: values being initialized only once. Startup values, whatever they are.

View file

@ -194,6 +194,15 @@ private:
int shortP;
int prevclearcoat;
double subAL;
double subAR;
double subBL;
double subBR;
double subCL;
double subCR;
double subDL;
double subDR;
float A;
float B;

View file

@ -133,6 +133,7 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -343,6 +344,42 @@ void ClearCoat::processReplacing(float **inputs, float **outputs, VstInt32 sampl
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;
@ -501,6 +538,7 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
prevclearcoat = clearcoat;
}
double subRate = 0.001 / overallscale;
double wet = B*2.0;
double dry = 2.0 - wet;
if (wet > 1.0) wet = 1.0;
@ -711,6 +749,42 @@ void ClearCoat::processDoubleReplacing(double **inputs, double **outputs, VstInt
//we are going through our references now
}
//begin SubTight section
double subSampleL = inputSampleL * subRate;
double subSampleR = inputSampleR * subRate;
double scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subAL+(sin(subAL-subSampleL)*scale));
subAL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subAR+(sin(subAR-subSampleR)*scale));
subAR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subBL+(sin(subBL-subSampleL)*scale));
subBL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subBR+(sin(subBR-subSampleR)*scale));
subBR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subCL+(sin(subCL-subSampleL)*scale));
subCL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subCR+(sin(subCR-subSampleR)*scale));
subCR = subSampleR*scale;
scale = 0.5+fabs(subSampleL*0.5);
subSampleL = (subDL+(sin(subDL-subSampleL)*scale));
subDL = subSampleL*scale;
scale = 0.5+fabs(subSampleR*0.5);
subSampleR = (subDR+(sin(subDR-subSampleR)*scale));
subDR = subSampleR*scale;
if (subSampleL > 0.25) subSampleL = 0.25;
if (subSampleL < -0.25) subSampleL = -0.25;
if (subSampleR > 0.25) subSampleR = 0.25;
if (subSampleR < -0.25) subSampleR = -0.25;
inputSampleL -= (subSampleL*16.0);
inputSampleR -= (subSampleR*16.0);
//end SubTight section
if (cycleEnd > 1) {
double outSample = (inputSampleL + tailL)*0.5;
tailL = inputSampleL; inputSampleL = outSample;