From eecce2bcc69797241dbc4abb5393c6f2fe525bfc Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Mon, 9 Nov 2020 13:46:29 -0500 Subject: [PATCH] BassAmp bugfix: fixed Sub channel some --- plugins/LinuxVST/src/BassAmp/BassAmpProc.cpp | 40 +++---- plugins/MacAU/BassAmp/BassAmp.cpp | 11 +- .../christopherjohnson.pbxuser | 100 ++++++++++-------- .../christopherjohnson.perspectivev3 | 42 ++++---- .../christopherjohnson.pbxuser | 40 +++---- .../christopherjohnson.perspectivev3 | 32 +++--- plugins/MacVST/BassAmp/source/BassAmpProc.cpp | 40 +++---- plugins/WinVST/BassAmp/BassAmpProc.cpp | 40 +++---- 8 files changed, 177 insertions(+), 168 deletions(-) diff --git a/plugins/LinuxVST/src/BassAmp/BassAmpProc.cpp b/plugins/LinuxVST/src/BassAmp/BassAmpProc.cpp index 6a6e2fbf8..a84fcce3a 100755 --- a/plugins/LinuxVST/src/BassAmp/BassAmpProc.cpp +++ b/plugins/LinuxVST/src/BassAmp/BassAmpProc.cpp @@ -195,16 +195,6 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -242,6 +232,16 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;} @@ -567,16 +567,6 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -614,6 +604,16 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;} diff --git a/plugins/MacAU/BassAmp/BassAmp.cpp b/plugins/MacAU/BassAmp/BassAmp.cpp index 447465d5a..b0dd3348e 100755 --- a/plugins/MacAU/BassAmp/BassAmp.cpp +++ b/plugins/MacAU/BassAmp/BassAmp.cpp @@ -378,9 +378,7 @@ void BassAmp::BassAmpKernel::Process( const Float32 *inSourceP, //now we've got inputSample as the Drive top-end output, and we have ataLowpass and ataHalfwayLowpass ataLowpass += ataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (ataLowpass > 0) - {if (WasNegative){SubOctave = !SubOctave;} WasNegative = false;} - else {WasNegative = true;} + //set up polarities for sub-bass version Float64 randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed @@ -405,7 +403,12 @@ void BassAmp::BassAmpKernel::Process( const Float32 *inSourceP, Float64 HeadBump = iirHeadBumpA + iirHeadBumpB + iirHeadBumpC; Float64 SubBump = fabs(HeadBump); - if (SubOctave == false) {SubBump = -SubBump;} + + if (HeadBump > 0.0) { + if (WasNegative) SubOctave = !SubOctave; + WasNegative = false; + } else WasNegative = true; + if (SubOctave == false) SubBump = -SubBump; switch (bflip) { diff --git a/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser index ea95524a5..315768e44 100755 --- a/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser @@ -49,16 +49,16 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 626030858; - PBXWorkspaceStateSaveDate = 626030858; + PBXPerProjectTemplateStateSaveDate = 626635610; + PBXWorkspaceStateSaveDate = 626635610; }; perUserProjectItems = { 8B40EE4D252B7CED00DEA623 /* PlistBookmark */ = 8B40EE4D252B7CED00DEA623 /* PlistBookmark */; 8B40EEE32534AE1A00DEA623 /* PBXTextBookmark */ = 8B40EEE32534AE1A00DEA623 /* PBXTextBookmark */; - 8BB3BBF4255074E5003F7F7D /* PBXTextBookmark */ = 8BB3BBF4255074E5003F7F7D /* PBXTextBookmark */; - 8BB3BC202550790D003F7F7D /* PBXBookmark */ = 8BB3BC202550790D003F7F7D /* PBXBookmark */; - 8BB3BC212550796A003F7F7D /* PBXTextBookmark */ = 8BB3BC212550796A003F7F7D /* PBXTextBookmark */; - 8BB3BC272550796A003F7F7D /* PBXTextBookmark */ = 8BB3BC272550796A003F7F7D /* PBXTextBookmark */; + 8B5B021D2559B6B40021E83B /* PBXTextBookmark */ = 8B5B021D2559B6B40021E83B /* PBXTextBookmark */; + 8B5B02812559BD8F0021E83B /* PBXTextBookmark */ = 8B5B02812559BD8F0021E83B /* PBXTextBookmark */; + 8B5B02822559BD8F0021E83B /* PBXTextBookmark */ = 8B5B02822559BD8F0021E83B /* PBXTextBookmark */; + 8B5B02832559BD8F0021E83B /* PBXTextBookmark */ = 8B5B02832559BD8F0021E83B /* PBXTextBookmark */; 8BBBF74F253C557C001A8996 /* PBXTextBookmark */ = 8BBBF74F253C557C001A8996 /* PBXTextBookmark */; 8BBBF775253C5E73001A8996 /* PBXTextBookmark */ = 8BBBF775253C5E73001A8996 /* PBXTextBookmark */; }; @@ -95,12 +95,52 @@ vrLen = 185; vrLoc = 0; }; + 8B5B021D2559B6B40021E83B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; + name = "BassAmp.cpp: 382"; + rLen = 0; + rLoc = 16567; + rType = 0; + vrLen = 393; + vrLoc = 16313; + }; + 8B5B02812559BD8F0021E83B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; + name = "BassAmp.cpp: 381"; + rLen = 0; + rLoc = 16567; + rType = 0; + vrLen = 476; + vrLoc = 16313; + }; + 8B5B02822559BD8F0021E83B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; + name = "BassAmp.cpp: 431"; + rLen = 0; + rLoc = 18557; + rType = 0; + vrLen = 1632; + vrLoc = 17011; + }; + 8B5B02832559BD8F0021E83B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; + name = "BassAmp.cpp: 412"; + rLen = 0; + rLoc = 17790; + rType = 0; + vrLen = 1566; + vrLoc = 17048; + }; 8BA05A660720730100365D66 /* BassAmp.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {678, 9072}}"; - sepNavSelRange = "{11612, 0}"; - sepNavVisRange = "{9610, 230}"; - sepNavWindowFrame = "{{366, 42}, {1074, 836}}"; + sepNavIntBoundsRect = "{{0, 0}, {1353, 8604}}"; + sepNavSelRange = "{17790, 0}"; + sepNavVisRange = "{17048, 1566}"; + sepNavWindowFrame = "{{720, -128}, {1074, 836}}"; }; }; 8BA05A690720730100365D66 /* BassAmpVersion.h */ = { @@ -111,40 +151,6 @@ sepNavWindowFrame = "{{15, 57}, {790, 821}}"; }; }; - 8BB3BBF4255074E5003F7F7D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; - name = "BassAmp.cpp: 278"; - rLen = 0; - rLoc = 11612; - rType = 0; - vrLen = 250; - vrLoc = 9590; - }; - 8BB3BC202550790D003F7F7D /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; - }; - 8BB3BC212550796A003F7F7D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; - name = "BassAmp.cpp: 278"; - rLen = 0; - rLoc = 11612; - rType = 0; - vrLen = 230; - vrLoc = 9610; - }; - 8BB3BC272550796A003F7F7D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* BassAmp.cpp */; - name = "BassAmp.cpp: 425"; - rLen = 0; - rLoc = 18488; - rType = 0; - vrLen = 1428; - vrLoc = 17355; - }; 8BBBF74F253C557C001A8996 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* BassAmpVersion.h */; @@ -167,9 +173,9 @@ }; 8BC6025B073B072D006C4272 /* BassAmp.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 4392}}"; - sepNavSelRange = "{6866, 0}"; - sepNavVisRange = "{3421, 393}"; + sepNavIntBoundsRect = "{{0, 0}, {1146, 4266}}"; + sepNavSelRange = "{6134, 0}"; + sepNavVisRange = "{5589, 835}"; sepNavWindowFrame = "{{482, 57}, {790, 821}}"; }; }; diff --git a/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 index 4c4428271..542043642 100755 --- a/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 @@ -241,10 +241,10 @@ _historyCapacity 0 bookmark - 8BB3BC272550796A003F7F7D + 8B5B02832559BD8F0021E83B history - 8BB3BC202550790D003F7F7D + 8B5B02822559BD8F0021E83B SplitCount @@ -260,7 +260,7 @@ PBXModuleWindowStatusBarHidden2 RubberWindowFrame - 366 98 1074 780 0 0 1440 878 + 720 -72 1074 780 0 0 1440 878 @@ -367,7 +367,7 @@ 288 RubberWindowFrame - 499 124 915 754 0 0 1440 878 + 470 94 915 754 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -395,14 +395,14 @@ _historyCapacity 0 bookmark - 8BB3BC212550796A003F7F7D + 8B5B02812559BD8F0021E83B history 8B40EE4D252B7CED00DEA623 8B40EEE32534AE1A00DEA623 8BBBF74F253C557C001A8996 8BBBF775253C5E73001A8996 - 8BB3BBF4255074E5003F7F7D + 8B5B021D2559B6B40021E83B SplitCount @@ -416,18 +416,18 @@ GeometryConfiguration Frame - {{0, 0}, {605, 256}} + {{0, 0}, {605, 243}} RubberWindowFrame - 499 124 915 754 0 0 1440 878 + 470 94 915 754 0 0 1440 878 Module PBXNavigatorGroup Proportion - 256pt + 243pt Proportion - 452pt + 465pt Tabs @@ -441,9 +441,7 @@ GeometryConfiguration Frame - {{10, 27}, {605, 425}} - RubberWindowFrame - 499 124 915 754 0 0 1440 878 + {{10, 27}, {605, 438}} Module XCDetailModule @@ -459,7 +457,7 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {605, 438}} Module PBXProjectFindModule @@ -497,7 +495,9 @@ GeometryConfiguration Frame - {{10, 27}, {605, 412}} + {{10, 27}, {605, 438}} + RubberWindowFrame + 470 94 915 754 0 0 1440 878 Module PBXBuildResultsModule @@ -525,11 +525,11 @@ TableOfContents - 8BB3BC222550796A003F7F7D + 8B5B02232559B6C60021E83B 1CA23ED40692098700951B8B - 8BB3BC232550796A003F7F7D + 8B5B02242559B6C60021E83B 8BD7274A1D46E5A5000176F0 - 8BB3BC242550796A003F7F7D + 8B5B02252559B6C60021E83B 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -702,7 +702,7 @@ StatusbarIsVisible TimeStamp - 626030954.30176497 + 626638223.66101205 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -719,11 +719,11 @@ 5 WindowOrderList - /Users/christopherjohnson/Desktop/Plugins/MacAU/BassAmp/BassAmp.xcodeproj 8BB3BC252550796A003F7F7D + /Users/christopherjohnson/Desktop/Plugins/MacAU/BassAmp/BassAmp.xcodeproj WindowString - 499 124 915 754 0 0 1440 878 + 470 94 915 754 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser index 3a3dcb381..8867fe613 100755 --- a/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.pbxuser @@ -49,12 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 626029825; - PBXWorkspaceStateSaveDate = 626029825; + PBXPerProjectTemplateStateSaveDate = 626637957; + PBXWorkspaceStateSaveDate = 626637957; }; perUserProjectItems = { - 8BB3BBA925506CD6003F7F7D /* PBXTextBookmark */ = 8BB3BBA925506CD6003F7F7D /* PBXTextBookmark */; - 8BB3BC14255078F4003F7F7D /* PBXTextBookmark */ = 8BB3BC14255078F4003F7F7D /* PBXTextBookmark */; + 8B5B01F52559B3470021E83B /* PBXTextBookmark */ = 8B5B01F52559B3470021E83B /* PBXTextBookmark */; + 8B5B027C2559BD8B0021E83B /* PBXTextBookmark */ = 8B5B027C2559BD8B0021E83B /* PBXTextBookmark */; }; sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; userBuildSettings = { @@ -70,10 +70,10 @@ }; 245463B80991757100464AD3 /* BassAmp.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 4176}}"; + sepNavIntBoundsRect = "{{0, 0}, {1110, 3528}}"; sepNavSelRange = "{5054, 15}"; - sepNavVisRange = "{4479, 664}"; - sepNavWindowFrame = "{{64, 47}, {895, 831}}"; + sepNavVisRange = "{1978, 1132}"; + sepNavWindowFrame = "{{722, 27}, {895, 831}}"; }; }; 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { @@ -86,9 +86,9 @@ }; 24D8286F09A914000093AEF8 /* BassAmpProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 13716}}"; - sepNavSelRange = "{1018, 0}"; - sepNavVisRange = "{519, 24}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 13590}}"; + sepNavSelRange = "{33490, 0}"; + sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{372, 66}, {1048, 812}}"; }; }; @@ -106,25 +106,25 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BB3BBA925506CD6003F7F7D /* PBXTextBookmark */ = { + 8B5B01F52559B3470021E83B /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 24D8286F09A914000093AEF8 /* BassAmpProc.cpp */; - name = "BassAmpProc.cpp: 36"; + name = "BassAmpProc.cpp: 576"; rLen = 0; - rLoc = 1018; + rLoc = 33490; rType = 0; - vrLen = 58; - vrLoc = 485; + vrLen = 0; + vrLoc = 0; }; - 8BB3BC14255078F4003F7F7D /* PBXTextBookmark */ = { + 8B5B027C2559BD8B0021E83B /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 24D8286F09A914000093AEF8 /* BassAmpProc.cpp */; - name = "BassAmpProc.cpp: 36"; + name = "BassAmpProc.cpp: 568"; rLen = 0; - rLoc = 1018; + rLoc = 33490; rType = 0; - vrLen = 24; - vrLoc = 519; + vrLen = 0; + vrLoc = 0; }; 8D01CCC60486CAD60068D4B7 /* BassAmp */ = { activeExec = 0; diff --git a/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 index 3db74bdd5..d19712283 100755 --- a/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/BassAmp/BassAmp.xcodeproj/christopherjohnson.perspectivev3 @@ -323,7 +323,7 @@ 185 RubberWindowFrame - 308 203 810 487 0 0 1440 878 + 657 303 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -351,10 +351,10 @@ _historyCapacity 0 bookmark - 8BB3BC14255078F4003F7F7D + 8B5B027C2559BD8B0021E83B history - 8BB3BBA925506CD6003F7F7D + 8B5B01F52559B3470021E83B SplitCount @@ -368,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 51}} + {{0, 0}, {603, 13}} RubberWindowFrame - 308 203 810 487 0 0 1440 878 + 657 303 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 13pt Proportion - 390pt + 428pt Tabs @@ -393,9 +393,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} + {{10, 27}, {603, 401}} RubberWindowFrame - 308 203 810 487 0 0 1440 878 + 657 303 810 487 0 0 1440 878 Module XCDetailModule @@ -411,7 +411,7 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 401}} Module PBXProjectFindModule @@ -477,11 +477,11 @@ TableOfContents - 8BB3BC15255078F4003F7F7D + 8B5B027D2559BD8B0021E83B 1CA23ED40692098700951B8B - 8BB3BC16255078F4003F7F7D + 8B5B027E2559BD8B0021E83B 8B0237581D42B1C400E1E8C8 - 8BB3BC17255078F4003F7F7D + 8B5B027F2559BD8B0021E83B 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -634,7 +634,7 @@ StatusbarIsVisible TimeStamp - 626030836.92875695 + 626638219.85307705 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -651,11 +651,11 @@ 5 WindowOrderList - 8BB3BC18255078F4003F7F7D + 8B5B02802559BD8B0021E83B /Users/christopherjohnson/Desktop/Plugins/MacVST/BassAmp/BassAmp.xcodeproj WindowString - 308 203 810 487 0 0 1440 878 + 657 303 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/BassAmp/source/BassAmpProc.cpp b/plugins/MacVST/BassAmp/source/BassAmpProc.cpp index 6a6e2fbf8..a84fcce3a 100755 --- a/plugins/MacVST/BassAmp/source/BassAmpProc.cpp +++ b/plugins/MacVST/BassAmp/source/BassAmpProc.cpp @@ -195,16 +195,6 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -242,6 +232,16 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;} @@ -567,16 +567,6 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -614,6 +604,16 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;} diff --git a/plugins/WinVST/BassAmp/BassAmpProc.cpp b/plugins/WinVST/BassAmp/BassAmpProc.cpp index 6a6e2fbf8..a84fcce3a 100755 --- a/plugins/WinVST/BassAmp/BassAmpProc.cpp +++ b/plugins/WinVST/BassAmp/BassAmpProc.cpp @@ -195,16 +195,6 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -242,6 +232,16 @@ void BassAmp::processReplacing(float **inputs, float **outputs, VstInt32 sampleF double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;} @@ -567,16 +567,6 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 LataLowpass += LataHalfwayLowpass; //and combined them. Now we make sub-octaves RataLowpass += RataHalfwayLowpass; //and combined them. Now we make sub-octaves - if (LataLowpass > 0) - {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} - else {LWasNegative = true;} - //set up polarities for sub-bass version - if (RataLowpass > 0) - {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} - else {RWasNegative = true;} - //set up polarities for sub-bass version - - double randy = (rand()/(double)RAND_MAX)*0.0555; //0 to 1 the noise, may not be needed switch (bflip) @@ -614,6 +604,16 @@ void BassAmp::processDoubleReplacing(double **inputs, double **outputs, VstInt32 double LSubBump = fabs(LHeadBump); double RSubBump = fabs(RHeadBump); + + if (LHeadBump > 0) + {if (LWasNegative){LSubOctave = !LSubOctave;} LWasNegative = false;} + else {LWasNegative = true;} + //set up polarities for sub-bass version + if (RHeadBump > 0) + {if (RWasNegative){RSubOctave = !RSubOctave;} RWasNegative = false;} + else {RWasNegative = true;} + //set up polarities for sub-bass version + if (LSubOctave == false) {LSubBump = -LSubBump;} if (RSubOctave == false) {RSubBump = -RSubBump;}