mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-15 14:16:00 -06:00
ClearCoat adjustment
This commit is contained in:
parent
743c48d6c6
commit
eda72427e8
29 changed files with 1269 additions and 757 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */ = {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */ = {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue