From 828681015d65db1c4f6c39c1ffb9fe89b71f8af2 Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Tue, 4 Feb 2020 03:55:47 -0500 Subject: Tape plugins update --- plugins/MacAU/Tape/Tape.cpp | 7 ++- .../Tape/Tape.xcodeproj/christopherjohnson.pbxuser | 58 +++++++++---------- .../christopherjohnson.perspectivev3 | 25 ++++---- plugins/MacAU/ToTape6/ToTape6.cpp | 18 ++++-- .../ToTape6.xcodeproj/christopherjohnson.pbxuser | 66 +++++++++++----------- .../christopherjohnson.perspectivev3 | 32 +++++------ 6 files changed, 109 insertions(+), 97 deletions(-) (limited to 'plugins/MacAU') diff --git a/plugins/MacAU/Tape/Tape.cpp b/plugins/MacAU/Tape/Tape.cpp index 43d9fdf..75b7ae3 100755 --- a/plugins/MacAU/Tape/Tape.cpp +++ b/plugins/MacAU/Tape/Tape.cpp @@ -212,6 +212,11 @@ void Tape::TapeKernel::Process( const Float32 *inSourceP, while (nSampleFrames-- > 0) { long double inputSample = *sourceP; if (fabs(inputSample)<1.18e-37) inputSample = fpd * 1.18e-37; + + if (inputgain < 1.0) { + inputSample *= inputgain; + } //gain cut before anything, even dry + long double drySample = inputSample; long double HighsSample = 0.0; @@ -271,7 +276,7 @@ void Tape::TapeKernel::Process( const Float32 *inSourceP, flip = !flip; long double groundSample = drySample - inputSample; //set up UnBox - if (inputgain != 1.0) { + if (inputgain > 1.0) { inputSample *= inputgain; } //gain boost inside UnBox: do not boost fringe audio diff --git a/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.pbxuser index 0ec8d09..f642afa 100755 --- a/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 601680037; - PBXWorkspaceStateSaveDate = 601680037; + PBXPerProjectTemplateStateSaveDate = 602113855; + PBXWorkspaceStateSaveDate = 602113855; }; perUserProjectItems = { 8B043C9B23DA71E500DF857C /* PlistBookmark */ = 8B043C9B23DA71E500DF857C /* PlistBookmark */; - 8B043CA723DA797600DF857C /* PBXTextBookmark */ = 8B043CA723DA797600DF857C /* PBXTextBookmark */; - 8B043D0A23DCEE2600DF857C /* PBXTextBookmark */ = 8B043D0A23DCEE2600DF857C /* PBXTextBookmark */; + 8BA0D9F523E3880200721922 /* PBXTextBookmark */ = 8BA0D9F523E3880200721922 /* PBXTextBookmark */; + 8BA0D9F623E3880200721922 /* PBXTextBookmark */ = 8BA0D9F623E3880200721922 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,32 +73,12 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B043CA723DA797600DF857C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Tape.cpp */; - name = "Tape.cpp: 217"; - rLen = 0; - rLoc = 9367; - rType = 0; - vrLen = 588; - vrLoc = 8979; - }; - 8B043D0A23DCEE2600DF857C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Tape.cpp */; - name = "Tape.cpp: 217"; - rLen = 0; - rLoc = 9367; - rType = 0; - vrLen = 538; - vrLoc = 9029; - }; 8BA05A660720730100365D66 /* Tape.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {670, 4602}}"; - sepNavSelRange = "{9367, 0}"; - sepNavVisRange = "{9029, 538}"; - sepNavWindowFrame = "{{768, 65}, {870, 813}}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 4654}}"; + sepNavSelRange = "{9468, 0}"; + sepNavVisRange = "{9192, 345}"; + sepNavWindowFrame = "{{570, 65}, {870, 813}}"; }; }; 8BA05A690720730100365D66 /* TapeVersion.h */ = { @@ -109,12 +89,32 @@ sepNavWindowFrame = "{{15, 60}, {870, 813}}"; }; }; + 8BA0D9F523E3880200721922 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Tape.cpp */; + name = "Tape.cpp: 222"; + rLen = 0; + rLoc = 9468; + rType = 0; + vrLen = 345; + vrLoc = 9192; + }; + 8BA0D9F623E3880200721922 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Tape.cpp */; + name = "Tape.cpp: 222"; + rLen = 0; + rLoc = 9468; + rType = 0; + vrLen = 345; + vrLoc = 9192; + }; 8BC6025B073B072D006C4272 /* Tape.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; sepNavSelRange = "{2893, 0}"; sepNavVisRange = "{3805, 1496}"; - sepNavWindowFrame = "{{913, 65}, {870, 813}}"; + sepNavWindowFrame = "{{570, 65}, {870, 813}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.perspectivev3 index 6e60cf5..57f04e8 100755 --- a/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Tape/Tape.xcodeproj/christopherjohnson.perspectivev3 @@ -302,7 +302,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -354,11 +354,11 @@ _historyCapacity 0 bookmark - 8B043D0A23DCEE2600DF857C + 8BA0D9F623E3880200721922 history 8B043C9B23DA71E500DF857C - 8B043CA723DA797600DF857C + 8BA0D9F523E3880200721922 SplitCount @@ -372,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 188}} RubberWindowFrame 599 197 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 188pt Proportion - 379pt + 420pt Tabs @@ -397,7 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {531, 393}} RubberWindowFrame 599 197 841 654 0 0 1440 878 @@ -453,7 +453,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 365}} Module PBXBuildResultsModule @@ -481,11 +481,11 @@ TableOfContents - 8B043D0B23DCEE2600DF857C + 8BA0D9F723E3880200721922 1CA23ED40692098700951B8B - 8B043D0C23DCEE2600DF857C + 8BA0D9F823E3880200721922 8BD7274A1D46E5A5000176F0 - 8B043D0D23DCEE2600DF857C + 8BA0D9F923E3880200721922 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +658,7 @@ StatusbarIsVisible TimeStamp - 601681446.32968295 + 602114050.79568899 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,7 +675,6 @@ 5 WindowOrderList - 8B043D0E23DCEE2600DF857C /Users/christopherjohnson/Desktop/Plugins/MacAU/Tape/Tape.xcodeproj WindowString diff --git a/plugins/MacAU/ToTape6/ToTape6.cpp b/plugins/MacAU/ToTape6/ToTape6.cpp index 1291f73..30e06f4 100755 --- a/plugins/MacAU/ToTape6/ToTape6.cpp +++ b/plugins/MacAU/ToTape6/ToTape6.cpp @@ -267,6 +267,11 @@ void ToTape6::ToTape6Kernel::Process( const Float32 *inSourceP, long double inputSample = *sourceP; if (fabs(inputSample)<1.18e-37) inputSample = fpd * 1.18e-37; long double drySample = inputSample; + + if (inputgain < 1.0) { + inputSample *= inputgain; + } //gain cut before plugin + Float64 flutterrandy = fpd / (double)UINT32_MAX; //now we've got a random flutter, so we're messing with the pitch before tape effects go on @@ -351,7 +356,7 @@ void ToTape6::ToTape6Kernel::Process( const Float32 *inSourceP, long double groundSample = vibDrySample - inputSample; //set up UnBox on fluttered audio - if (inputgain != 1.0) { + if (inputgain > 1.0) { inputSample *= inputgain; } //gain boost inside UnBox/Mojo @@ -362,10 +367,13 @@ void ToTape6::ToTape6Kernel::Process( const Float32 *inSourceP, if (HighsSample < 0) inputSample += applySoften; //apply Soften depending on polarity - if (fabs(inputSample) < 0.0025) { - iirHeadBumpA *= 0.99; - iirHeadBumpB *= 0.99; - } //restrain resonant quality of head bump algorithm + Float64 suppress = (1.0-fabs(inputSample)) * 0.00013; + if (iirHeadBumpA > suppress) iirHeadBumpA -= suppress; + if (iirHeadBumpA < -suppress) iirHeadBumpA += suppress; + if (iirHeadBumpB > suppress) iirHeadBumpB -= suppress; + if (iirHeadBumpB < -suppress) iirHeadBumpB += suppress; + //restrain resonant quality of head bump algorithm + inputSample += ((iirHeadBumpA + iirHeadBumpB) * HeadBumpControl); //apply Fatten. diff --git a/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.pbxuser index 19e3c58..68f0f1d 100755 --- a/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.pbxuser @@ -51,14 +51,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 601187225; - PBXWorkspaceStateSaveDate = 601187225; + PBXPerProjectTemplateStateSaveDate = 602111038; + PBXWorkspaceStateSaveDate = 602111038; }; perUserProjectItems = { 8B0437A823D499A600DF857C /* PlistBookmark */ = 8B0437A823D499A600DF857C /* PlistBookmark */; - 8B043BE023D5632700DF857C /* PBXTextBookmark */ = 8B043BE023D5632700DF857C /* PBXTextBookmark */; 8B043BFA23D5642C00DF857C /* PBXTextBookmark */ = 8B043BFA23D5642C00DF857C /* PBXTextBookmark */; - 8B043BFB23D5642C00DF857C /* PBXTextBookmark */ = 8B043BFB23D5642C00DF857C /* PBXTextBookmark */; + 8BA0D9AF23E37D1C00721922 /* PBXTextBookmark */ = 8BA0D9AF23E37D1C00721922 /* PBXTextBookmark */; + 8BA0D9B023E37D1C00721922 /* PBXTextBookmark */ = 8BA0D9B023E37D1C00721922 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -76,16 +76,6 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B043BE023D5632700DF857C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ToTape6.cpp */; - name = "ToTape6.cpp: 308"; - rLen = 0; - rLoc = 13502; - rType = 0; - vrLen = 645; - vrLoc = 12217; - }; 8B043BFA23D5642C00DF857C /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* ToTape6.h */; @@ -96,22 +86,12 @@ vrLen = 584; vrLoc = 2958; }; - 8B043BFB23D5642C00DF857C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ToTape6.cpp */; - name = "ToTape6.cpp: 308"; - rLen = 0; - rLoc = 13502; - rType = 0; - vrLen = 594; - vrLoc = 12268; - }; 8BA05A660720730100365D66 /* ToTape6.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 5889}}"; - sepNavSelRange = "{13502, 0}"; - sepNavVisRange = "{12268, 594}"; - sepNavWindowFrame = "{{732, 83}, {956, 795}}"; + sepNavIntBoundsRect = "{{0, 0}, {705, 5798}}"; + sepNavSelRange = "{13591, 0}"; + sepNavVisRange = "{12576, 379}"; + sepNavWindowFrame = "{{549, 83}, {956, 795}}"; }; }; 8BA05A690720730100365D66 /* ToTape6Version.h */ = { @@ -119,15 +99,35 @@ sepNavIntBoundsRect = "{{0, 0}, {824, 767}}"; sepNavSelRange = "{2881, 0}"; sepNavVisRange = "{70, 2874}"; - sepNavWindowFrame = "{{15, 58}, {784, 815}}"; + sepNavWindowFrame = "{{548, 58}, {784, 815}}"; }; }; + 8BA0D9AF23E37D1C00721922 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ToTape6.cpp */; + name = "ToTape6.cpp: 313"; + rLen = 0; + rLoc = 13591; + rType = 0; + vrLen = 379; + vrLoc = 12604; + }; + 8BA0D9B023E37D1C00721922 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ToTape6.cpp */; + name = "ToTape6.cpp: 313"; + rLen = 0; + rLoc = 13591; + rType = 0; + vrLen = 379; + vrLoc = 12576; + }; 8BC6025B073B072D006C4272 /* ToTape6.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 2171}}"; - sepNavSelRange = "{3276, 0}"; - sepNavVisRange = "{2958, 584}"; - sepNavWindowFrame = "{{757, 63}, {784, 815}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2158}}"; + sepNavSelRange = "{5664, 348}"; + sepNavVisRange = "{2589, 1432}"; + sepNavWindowFrame = "{{656, 63}, {784, 815}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.perspectivev3 index 0afb03e..397318a 100755 --- a/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ToTape6/ToTape6.xcodeproj/christopherjohnson.perspectivev3 @@ -326,7 +326,7 @@ 288 RubberWindowFrame - 599 224 841 654 0 0 1440 878 + 506 200 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,12 +354,12 @@ _historyCapacity 0 bookmark - 8B043BFB23D5642C00DF857C + 8BA0D9B023E37D1C00721922 history 8B0437A823D499A600DF857C 8B043BFA23D5642C00DF857C - 8B043BE023D5632700DF857C + 8BA0D9AF23E37D1C00721922 SplitCount @@ -373,18 +373,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 142}} RubberWindowFrame - 599 224 841 654 0 0 1440 878 + 506 200 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 142pt Proportion - 406pt + 466pt Tabs @@ -398,9 +398,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} + {{10, 27}, {531, 439}} RubberWindowFrame - 599 224 841 654 0 0 1440 878 + 506 200 841 654 0 0 1440 878 Module XCDetailModule @@ -454,7 +454,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {531, 408}} Module PBXBuildResultsModule @@ -482,11 +482,11 @@ TableOfContents - 8B043BFC23D5642C00DF857C + 8BA0D9B123E37D1C00721922 1CA23ED40692098700951B8B - 8B043BFD23D5642C00DF857C + 8BA0D9B223E37D1C00721922 8BD7274A1D46E5A5000176F0 - 8B043BFE23D5642C00DF857C + 8BA0D9B323E37D1C00721922 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +659,7 @@ StatusbarIsVisible TimeStamp - 601187372.72559798 + 602111260.78300297 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +676,11 @@ 5 WindowOrderList - 8B043BFF23D5642C00DF857C + 8BA0D9B423E37D1C00721922 /Users/christopherjohnson/Desktop/Plugins/MacAU/ToTape6/ToTape6.xcodeproj WindowString - 599 224 841 654 0 0 1440 878 + 506 200 841 654 0 0 1440 878 WindowToolsV3 -- cgit v1.2.3