From 1340c990ffe6e09462eb6edba892cd06d0e3dc3c Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Sun, 13 Oct 2019 19:28:55 -0400 Subject: Monitoring (redux) --- .../christopherjohnson.pbxuser | 50 ++++++++++++----- .../christopherjohnson.perspectivev3 | 46 +++++++++------- plugins/MacVST/Monitoring/source/Monitoring.cpp | 12 +++-- .../MacVST/Monitoring/source/MonitoringProc.cpp | 62 ++++++++++++++++------ 4 files changed, 118 insertions(+), 52 deletions(-) (limited to 'plugins/MacVST') diff --git a/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.pbxuser index ddb8cd7..bcff55a 100755 --- a/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.pbxuser @@ -49,8 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 589663780; - PBXWorkspaceStateSaveDate = 589663780; + PBXPerProjectTemplateStateSaveDate = 592088736; + PBXWorkspaceStateSaveDate = 592088736; + }; + perUserProjectItems = { + 8B120FF1234A8EEE00C990C9 /* PBXTextBookmark */ = 8B120FF1234A8EEE00C990C9 /* PBXTextBookmark */; + 8BB29AD0234A4F71003B3A8E /* PBXTextBookmark */ = 8BB29AD0234A4F71003B3A8E /* PBXTextBookmark */; }; sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; userBuildSettings = { @@ -58,18 +62,18 @@ }; 2407DEB6089929BA00EB68BF /* Monitoring.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1230, 2223}}"; - sepNavSelRange = "{5144, 24}"; - sepNavVisRange = "{4229, 2265}"; - sepNavWindowFrame = "{{12, 57}, {895, 821}}"; + sepNavIntBoundsRect = "{{0, 0}, {1230, 2197}}"; + sepNavSelRange = "{6256, 0}"; + sepNavVisRange = "{4822, 2491}"; + sepNavWindowFrame = "{{510, 57}, {895, 821}}"; }; }; 245463B80991757100464AD3 /* Monitoring.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {866, 1105}}"; + sepNavIntBoundsRect = "{{0, 0}, {901, 1118}}"; sepNavSelRange = "{3361, 0}"; - sepNavVisRange = "{0, 2396}"; - sepNavWindowFrame = "{{20, 57}, {895, 821}}"; + sepNavVisRange = "{694, 2836}"; + sepNavWindowFrame = "{{528, 57}, {895, 821}}"; }; }; 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { @@ -82,10 +86,10 @@ }; 24D8286F09A914000093AEF8 /* MonitoringProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {992, 21411}}"; - sepNavSelRange = "{32543, 0}"; - sepNavVisRange = "{31463, 3401}"; - sepNavWindowFrame = "{{81, 57}, {895, 821}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 12792}}"; + sepNavSelRange = "{46745, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{518, 57}, {895, 821}}"; }; }; 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { @@ -102,6 +106,26 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 8B120FF1234A8EEE00C990C9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 24D8286F09A914000093AEF8 /* MonitoringProc.cpp */; + name = "MonitoringProc.cpp: 783"; + rLen = 0; + rLoc = 46745; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BB29AD0234A4F71003B3A8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 24D8286F09A914000093AEF8 /* MonitoringProc.cpp */; + name = "MonitoringProc.cpp: 782"; + rLen = 0; + rLoc = 46745; + rType = 0; + vrLen = 25; + vrLoc = 27860; + }; 8D01CCC60486CAD60068D4B7 /* Monitoring */ = { activeExec = 0; }; diff --git a/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.perspectivev3 index 6148e7f..e9adff3 100755 --- a/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/Monitoring/Monitoring.xcodeproj/christopherjohnson.perspectivev3 @@ -256,6 +256,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -298,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 5 + 6 4 0 @@ -321,7 +323,7 @@ 185 RubberWindowFrame - 25 342 810 487 0 0 1440 878 + 246 279 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -337,7 +339,7 @@ PBXProjectModuleGUID 8B0237581D42B1C400E1E8C8 PBXProjectModuleLabel - Gain.h + MonitoringProc.cpp PBXSplitModuleInNavigatorKey Split0 @@ -345,7 +347,15 @@ PBXProjectModuleGUID 8B0237591D42B1C400E1E8C8 PBXProjectModuleLabel - Gain.h + MonitoringProc.cpp + _historyCapacity + 0 + bookmark + 8B120FF1234A8EEE00C990C9 + history + + 8BB29AD0234A4F71003B3A8E + SplitCount 1 @@ -358,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {603, 32}} RubberWindowFrame - 25 342 810 487 0 0 1440 878 + 246 279 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 32pt Proportion - 441pt + 409pt Tabs @@ -383,7 +393,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 382}} + RubberWindowFrame + 246 279 810 487 0 0 1440 878 Module XCDetailModule @@ -438,8 +450,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 25 342 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -467,11 +477,11 @@ TableOfContents - 8B0DB63723259214007D41E7 + 8B120FF2234A8EEE00C990C9 1CA23ED40692098700951B8B - 8B0DB63823259214007D41E7 + 8B120FF3234A8EEE00C990C9 8B0237581D42B1C400E1E8C8 - 8B0DB63923259214007D41E7 + 8B120FF4234A8EEE00C990C9 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -624,7 +634,7 @@ StatusbarIsVisible TimeStamp - 589664788.96294105 + 592088814.93142998 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -641,11 +651,11 @@ 5 WindowOrderList - 8B0DB63A23259214007D41E7 - /Users/christopherjohnson/Desktop/Monitoring/Monitoring.xcodeproj + 8B120FF5234A8EEE00C990C9 + /Users/christopherjohnson/Desktop/Plugins/MacVST/Monitoring/Monitoring.xcodeproj WindowString - 25 342 810 487 0 0 1440 878 + 246 279 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/Monitoring/source/Monitoring.cpp b/plugins/MacVST/Monitoring/source/Monitoring.cpp index 124af48..f7cefe1 100755 --- a/plugins/MacVST/Monitoring/source/Monitoring.cpp +++ b/plugins/MacVST/Monitoring/source/Monitoring.cpp @@ -135,7 +135,7 @@ void Monitoring::getParameterName(VstInt32 index, char *text) { void Monitoring::getParameterDisplay(VstInt32 index, char *text) { switch (index) { - case kParamA: switch((VstInt32)( A * 11.999 )) //0 to almost edge of # of params + case kParamA: switch((VstInt32)( A * 15.999 )) //0 to almost edge of # of params { case 0: vst_strncpy (text, "Out24", kVstMaxParamStrLen); break; case 1: vst_strncpy (text, "Out16", kVstMaxParamStrLen); break; case 2: vst_strncpy (text, "Peaks", kVstMaxParamStrLen); break; @@ -145,9 +145,13 @@ void Monitoring::getParameterDisplay(VstInt32 index, char *text) { case 6: vst_strncpy (text, "Side", kVstMaxParamStrLen); break; case 7: vst_strncpy (text, "Vinyl", kVstMaxParamStrLen); break; case 8: vst_strncpy (text, "Aurat", kVstMaxParamStrLen); break; - case 9: vst_strncpy (text, "Phone", kVstMaxParamStrLen); break; - case 10: vst_strncpy (text, "Cans A", kVstMaxParamStrLen); break; - case 11: vst_strncpy (text, "Cans B", kVstMaxParamStrLen); break; + case 9: vst_strncpy (text, "MonoRat", kVstMaxParamStrLen); break; + case 10: vst_strncpy (text, "MonoLat", kVstMaxParamStrLen); break; + case 11: vst_strncpy (text, "Phone", kVstMaxParamStrLen); break; + case 12: vst_strncpy (text, "Cans A", kVstMaxParamStrLen); break; + case 13: vst_strncpy (text, "Cans B", kVstMaxParamStrLen); break; + case 14: vst_strncpy (text, "Cans C", kVstMaxParamStrLen); break; + case 15: vst_strncpy (text, "Cans D", kVstMaxParamStrLen); break; default: break; // unknown parameter, shouldn't happen! } break; default: break; // unknown parameter, shouldn't happen! diff --git a/plugins/MacVST/Monitoring/source/MonitoringProc.cpp b/plugins/MacVST/Monitoring/source/MonitoringProc.cpp index 297655c..db51380 100755 --- a/plugins/MacVST/Monitoring/source/MonitoringProc.cpp +++ b/plugins/MacVST/Monitoring/source/MonitoringProc.cpp @@ -18,16 +18,16 @@ void Monitoring::processReplacing(float **inputs, float **outputs, VstInt32 samp overallscale /= 44100.0; overallscale *= getSampleRate(); - int processing = (VstInt32)( A * 11.999 ); + int processing = (VstInt32)( A * 15.999 ); int am = (int)149.0 * overallscale; int bm = (int)179.0 * overallscale; int cm = (int)191.0 * overallscale; int dm = (int)223.0 * overallscale; //these are 'good' primes, spacing out the allpasses int allpasstemp; //for PeaksOnly - biquad[0] = 0.0385/overallscale; biquad[1] = 0.0825; //define as VINYL unless overridden - if (processing == 8) {biquad[0] = 0.0375/overallscale; biquad[1] = 0.1575;} - if (processing == 9) {biquad[0] = 0.1245/overallscale; biquad[1] = 0.46;} + biquad[0] = 0.0375/overallscale; biquad[1] = 0.1575; //define as AURAT, MONORAT, MONOLAT unless overridden + if (processing == 7) {biquad[0] = 0.0385/overallscale; biquad[1] = 0.0825;} + if (processing == 11) {biquad[0] = 0.1245/overallscale; biquad[1] = 0.46;} double K = tan(M_PI * biquad[0]); double norm = 1.0 / (1.0 + K / biquad[1] + K * K); biquad[2] = K / biquad[1] * norm; @@ -289,7 +289,14 @@ void Monitoring::processReplacing(float **inputs, float **outputs, VstInt32 samp case 7: case 8: case 9: + case 10: + case 11: //Bandpass: changes in EQ are up in the variable defining, not here + //7 Vinyl, 8 9 10 Aurat, 11 Phone + if (processing == 9) {inputSampleR = (inputSampleL + inputSampleR)*0.5;inputSampleL = 0.0;} + if (processing == 10) {inputSampleL = (inputSampleL + inputSampleR)*0.5;inputSampleR = 0.0;} + if (processing == 11) {long double M; M = (inputSampleL + inputSampleR)*0.5; inputSampleL = M;inputSampleR = M;} + inputSampleL = sin(inputSampleL); inputSampleR = sin(inputSampleR); //encode Console5: good cleanness @@ -309,8 +316,10 @@ void Monitoring::processReplacing(float **inputs, float **outputs, VstInt32 samp inputSampleL = asin(inputSampleL); inputSampleR = asin(inputSampleR); //amplitude aspect break; - case 10: - case 11: + case 12: + case 13: + case 14: + case 15: inputSampleL = sin(inputSampleL); inputSampleR = sin(inputSampleR); long double drySampleL; drySampleL = inputSampleL; @@ -324,8 +333,11 @@ void Monitoring::processReplacing(float **inputs, float **outputs, VstInt32 samp inputSampleR += (aR[ax]); //a single Midiverb-style allpass - if (processing == 10) {inputSampleL *= 0.125; inputSampleR *= 0.125;} - else {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 12) {inputSampleL *= 0.125; inputSampleR *= 0.125;} + if (processing == 13) {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 14) {inputSampleL *= 0.5; inputSampleR *= 0.5;} + if (processing == 15) {drySampleL *= 0.5; drySampleR *= 0.5;} + if (processing == 15) {inputSampleL *= 0.5; inputSampleR *= 0.5;} //Cans A suppresses the crossfeed more, Cans B makes it louder drySampleL += inputSampleR; @@ -339,8 +351,10 @@ void Monitoring::processReplacing(float **inputs, float **outputs, VstInt32 samp inputSampleR += (dR[dx]); //a single Midiverb-style allpass, which is stretching the previous one even more - if (processing == 10) {inputSampleL *= 0.5; inputSampleR *= 0.5;} - else {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 12) {inputSampleL *= 0.5; inputSampleR *= 0.5;} + if (processing == 13) {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 14) {inputSampleL *= 0.125; inputSampleR *= 0.125;} + if (processing == 15) {inputSampleL *= 0.5; inputSampleR *= 0.5;} //Cans A already had crossfeeds down, bloom is louder. Cans B sits on bloom more drySampleL += inputSampleL; @@ -488,7 +502,7 @@ void Monitoring::processDoubleReplacing(double **inputs, double **outputs, VstIn overallscale /= 44100.0; overallscale *= getSampleRate(); - int processing = (VstInt32)( A * 11.999 ); + int processing = (VstInt32)( A * 15.999 ); int am = (int)149.0 * overallscale; int bm = (int)179.0 * overallscale; int cm = (int)191.0 * overallscale; @@ -759,7 +773,14 @@ void Monitoring::processDoubleReplacing(double **inputs, double **outputs, VstIn case 7: case 8: case 9: + case 10: + case 11: //Bandpass: changes in EQ are up in the variable defining, not here + //7 Vinyl, 8 9 10 Aurat, 11 Phone + if (processing == 9) {inputSampleR = (inputSampleL + inputSampleR)*0.5;inputSampleL = 0.0;} + if (processing == 10) {inputSampleL = (inputSampleL + inputSampleR)*0.5;inputSampleR = 0.0;} + if (processing == 11) {long double M; M = (inputSampleL + inputSampleR)*0.5; inputSampleL = M;inputSampleR = M;} + inputSampleL = sin(inputSampleL); inputSampleR = sin(inputSampleR); //encode Console5: good cleanness @@ -779,8 +800,10 @@ void Monitoring::processDoubleReplacing(double **inputs, double **outputs, VstIn inputSampleL = asin(inputSampleL); inputSampleR = asin(inputSampleR); //amplitude aspect break; - case 10: - case 11: + case 12: + case 13: + case 14: + case 15: inputSampleL = sin(inputSampleL); inputSampleR = sin(inputSampleR); long double drySampleL; drySampleL = inputSampleL; @@ -794,8 +817,11 @@ void Monitoring::processDoubleReplacing(double **inputs, double **outputs, VstIn inputSampleR += (aR[ax]); //a single Midiverb-style allpass - if (processing == 10) {inputSampleL *= 0.125; inputSampleR *= 0.125;} - else {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 12) {inputSampleL *= 0.125; inputSampleR *= 0.125;} + if (processing == 13) {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 14) {inputSampleL *= 0.5; inputSampleR *= 0.5;} + if (processing == 15) {drySampleL *= 0.5; drySampleR *= 0.5;} + if (processing == 15) {inputSampleL *= 0.5; inputSampleR *= 0.5;} //Cans A suppresses the crossfeed more, Cans B makes it louder drySampleL += inputSampleR; @@ -809,8 +835,10 @@ void Monitoring::processDoubleReplacing(double **inputs, double **outputs, VstIn inputSampleR += (dR[dx]); //a single Midiverb-style allpass, which is stretching the previous one even more - if (processing == 10) {inputSampleL *= 0.5; inputSampleR *= 0.5;} - else {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 12) {inputSampleL *= 0.5; inputSampleR *= 0.5;} + if (processing == 13) {inputSampleL *= 0.25; inputSampleR *= 0.25;} + if (processing == 14) {inputSampleL *= 0.125; inputSampleR *= 0.125;} + if (processing == 15) {inputSampleL *= 0.5; inputSampleR *= 0.5;} //Cans A already had crossfeeds down, bloom is louder. Cans B sits on bloom more drySampleL += inputSampleL; -- cgit v1.2.3