aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/WinVST
diff options
context:
space:
mode:
authorChris Johnson <jinx6568@sover.net>2020-02-04 03:55:47 -0500
committerChris Johnson <jinx6568@sover.net>2020-02-04 03:55:47 -0500
commit828681015d65db1c4f6c39c1ffb9fe89b71f8af2 (patch)
tree7ab528032f038884229843ac8f1f3817db4902ad /plugins/WinVST
parent95d0811f50332fe99cdb52eed0bd929faec2d43c (diff)
downloadairwindows-lv2-port-828681015d65db1c4f6c39c1ffb9fe89b71f8af2.tar.gz
airwindows-lv2-port-828681015d65db1c4f6c39c1ffb9fe89b71f8af2.tar.bz2
airwindows-lv2-port-828681015d65db1c4f6c39c1ffb9fe89b71f8af2.zip
Tape plugins update
Diffstat (limited to 'plugins/WinVST')
-rwxr-xr-xplugins/WinVST/Tape/.vs/VSTProject/v14/.suobin22528 -> 22528 bytes
-rwxr-xr-xplugins/WinVST/Tape/TapeProc.cpp8
-rwxr-xr-xplugins/WinVST/ToTape6/.vs/VSTProject/v14/.suobin22528 -> 22528 bytes
-rwxr-xr-xplugins/WinVST/ToTape6/ToTape6Proc.cpp58
4 files changed, 45 insertions, 21 deletions
diff --git a/plugins/WinVST/Tape/.vs/VSTProject/v14/.suo b/plugins/WinVST/Tape/.vs/VSTProject/v14/.suo
index ee3a0a2..98df0af 100755
--- a/plugins/WinVST/Tape/.vs/VSTProject/v14/.suo
+++ b/plugins/WinVST/Tape/.vs/VSTProject/v14/.suo
Binary files differ
diff --git a/plugins/WinVST/Tape/TapeProc.cpp b/plugins/WinVST/Tape/TapeProc.cpp
index 1d1050c..e29f71a 100755
--- a/plugins/WinVST/Tape/TapeProc.cpp
+++ b/plugins/WinVST/Tape/TapeProc.cpp
@@ -326,6 +326,12 @@ void Tape::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sa
long double inputSampleR = *in2;
if (fabs(inputSampleL)<1.18e-43) inputSampleL = fpd * 1.18e-43;
if (fabs(inputSampleR)<1.18e-43) inputSampleR = fpd * 1.18e-43;
+
+ if (inputgain < 1.0) {
+ inputSampleL *= inputgain;
+ inputSampleR *= inputgain;
+ } //gain cut before anything, even dry
+
long double drySampleL = inputSampleL;
long double drySampleR = inputSampleR;
@@ -438,7 +444,7 @@ void Tape::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sa
long double groundSampleL = drySampleL - inputSampleL; //set up UnBox
long double groundSampleR = drySampleR - inputSampleR; //set up UnBox
- if (inputgain != 1.0) {
+ if (inputgain > 1.0) {
inputSampleL *= inputgain;
inputSampleR *= inputgain;
} //gain boost inside UnBox: do not boost fringe audio
diff --git a/plugins/WinVST/ToTape6/.vs/VSTProject/v14/.suo b/plugins/WinVST/ToTape6/.vs/VSTProject/v14/.suo
index bb04217..5e0c932 100755
--- a/plugins/WinVST/ToTape6/.vs/VSTProject/v14/.suo
+++ b/plugins/WinVST/ToTape6/.vs/VSTProject/v14/.suo
Binary files differ
diff --git a/plugins/WinVST/ToTape6/ToTape6Proc.cpp b/plugins/WinVST/ToTape6/ToTape6Proc.cpp
index 6140295..1b4ff7d 100755
--- a/plugins/WinVST/ToTape6/ToTape6Proc.cpp
+++ b/plugins/WinVST/ToTape6/ToTape6Proc.cpp
@@ -61,6 +61,11 @@ void ToTape6::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
long double drySampleL = inputSampleL;
long double drySampleR = inputSampleR;
+ if (inputgain < 1.0) {
+ inputSampleL *= inputgain;
+ inputSampleR *= inputgain;
+ } //gain cut before plugin
+
double flutterrandy = fpd / (double)UINT32_MAX;
//now we've got a random flutter, so we're messing with the pitch before tape effects go on
if (gcount < 0 || gcount > 499) {gcount = 499;}
@@ -199,7 +204,7 @@ void ToTape6::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
long double groundSampleL = vibDrySampleL - inputSampleL; //set up UnBox on fluttered audio
long double groundSampleR = vibDrySampleR - inputSampleR; //set up UnBox on fluttered audio
- if (inputgain != 1.0) {
+ if (inputgain > 1.0) {
inputSampleL *= inputgain;
inputSampleR *= inputgain;
}
@@ -217,16 +222,20 @@ void ToTape6::processReplacing(float **inputs, float **outputs, VstInt32 sampleF
if (HighsSampleR < 0) inputSampleR += applySoften;
//apply Soften depending on polarity
- if (fabs(inputSampleL) < 0.0025) {
- iirHeadBumpAL *= 0.99;
- iirHeadBumpBL *= 0.99;
- } //restrain resonant quality of head bump algorithm
+ double suppress = (1.0-fabs(inputSampleL)) * 0.00013;
+ if (iirHeadBumpAL > suppress) iirHeadBumpAL -= suppress;
+ if (iirHeadBumpAL < -suppress) iirHeadBumpAL += suppress;
+ if (iirHeadBumpBL > suppress) iirHeadBumpBL -= suppress;
+ if (iirHeadBumpBL < -suppress) iirHeadBumpBL += suppress;
+ //restrain resonant quality of head bump algorithm
+ suppress = (1.0-fabs(inputSampleR)) * 0.00013;
+ if (iirHeadBumpAR > suppress) iirHeadBumpAR -= suppress;
+ if (iirHeadBumpAR < -suppress) iirHeadBumpAR += suppress;
+ if (iirHeadBumpBR > suppress) iirHeadBumpBR -= suppress;
+ if (iirHeadBumpBR < -suppress) iirHeadBumpBR += suppress;
+ //restrain resonant quality of head bump algorithm
+
inputSampleL += ((iirHeadBumpAL + iirHeadBumpBL) * HeadBumpControl);
- //apply Fatten.
- if (fabs(inputSampleR) < 0.0025) {
- iirHeadBumpAR *= 0.99;
- iirHeadBumpBR *= 0.99;
- } //restrain resonant quality of head bump algorithm
inputSampleR += ((iirHeadBumpAR + iirHeadBumpBR) * HeadBumpControl);
//apply Fatten.
@@ -386,6 +395,11 @@ void ToTape6::processDoubleReplacing(double **inputs, double **outputs, VstInt32
long double drySampleL = inputSampleL;
long double drySampleR = inputSampleR;
+ if (inputgain < 1.0) {
+ inputSampleL *= inputgain;
+ inputSampleR *= inputgain;
+ } //gain cut before plugin
+
double flutterrandy = fpd / (double)UINT32_MAX;
//now we've got a random flutter, so we're messing with the pitch before tape effects go on
if (gcount < 0 || gcount > 499) {gcount = 499;}
@@ -524,7 +538,7 @@ void ToTape6::processDoubleReplacing(double **inputs, double **outputs, VstInt32
long double groundSampleL = vibDrySampleL - inputSampleL; //set up UnBox on fluttered audio
long double groundSampleR = vibDrySampleR - inputSampleR; //set up UnBox on fluttered audio
- if (inputgain != 1.0) {
+ if (inputgain > 1.0) {
inputSampleL *= inputgain;
inputSampleR *= inputgain;
}
@@ -542,16 +556,20 @@ void ToTape6::processDoubleReplacing(double **inputs, double **outputs, VstInt32
if (HighsSampleR < 0) inputSampleR += applySoften;
//apply Soften depending on polarity
- if (fabs(inputSampleL) < 0.0025) {
- iirHeadBumpAL *= 0.99;
- iirHeadBumpBL *= 0.99;
- } //restrain resonant quality of head bump algorithm
+ double suppress = (1.0-fabs(inputSampleL)) * 0.00013;
+ if (iirHeadBumpAL > suppress) iirHeadBumpAL -= suppress;
+ if (iirHeadBumpAL < -suppress) iirHeadBumpAL += suppress;
+ if (iirHeadBumpBL > suppress) iirHeadBumpBL -= suppress;
+ if (iirHeadBumpBL < -suppress) iirHeadBumpBL += suppress;
+ //restrain resonant quality of head bump algorithm
+ suppress = (1.0-fabs(inputSampleR)) * 0.00013;
+ if (iirHeadBumpAR > suppress) iirHeadBumpAR -= suppress;
+ if (iirHeadBumpAR < -suppress) iirHeadBumpAR += suppress;
+ if (iirHeadBumpBR > suppress) iirHeadBumpBR -= suppress;
+ if (iirHeadBumpBR < -suppress) iirHeadBumpBR += suppress;
+ //restrain resonant quality of head bump algorithm
+
inputSampleL += ((iirHeadBumpAL + iirHeadBumpBL) * HeadBumpControl);
- //apply Fatten.
- if (fabs(inputSampleR) < 0.0025) {
- iirHeadBumpAR *= 0.99;
- iirHeadBumpBR *= 0.99;
- } //restrain resonant quality of head bump algorithm
inputSampleR += ((iirHeadBumpAR + iirHeadBumpBR) * HeadBumpControl);
//apply Fatten.