From 2b92107a766712a5dd98bd96ae31c0a4244cc35f Mon Sep 17 00:00:00 2001 From: junh1024 Date: Wed, 21 Feb 2024 00:26:55 +1300 Subject: [PATCH] Update 2>5 V2 upmix defaults, gfxGoniometer V2 YSFX compat fixes --- Converters/2.0 to 5.0 Upmix V2 (L).txt | 2 +- Meters/gfxGoniometer V2.txt | 68 +++++++++++++++++++++----- README.md | 37 +++++++++----- 3 files changed, 80 insertions(+), 27 deletions(-) diff --git a/Converters/2.0 to 5.0 Upmix V2 (L).txt b/Converters/2.0 to 5.0 Upmix V2 (L).txt index 4468e42..aa434d3 100644 --- a/Converters/2.0 to 5.0 Upmix V2 (L).txt +++ b/Converters/2.0 to 5.0 Upmix V2 (L).txt @@ -2,7 +2,7 @@ desc: //includes code from stock lowpass, slider1:0<0,100,2>Width -slider2:0<-100,100,2>Depth +slider2:100<-100,100,2>Depth slider3:1<0,1,{Reverse (Narrow), Normal (Wide)}>Polarity of SR (Rear width) slider4:15000<5000,15000,500>Rear LP (Hz, 15k=off) slider5:0<0,100,1>Rear Delay (ms) diff --git a/Meters/gfxGoniometer V2.txt b/Meters/gfxGoniometer V2.txt index bfa6b16..4a0aec6 100644 --- a/Meters/gfxGoniometer V2.txt +++ b/Meters/gfxGoniometer V2.txt @@ -2,19 +2,47 @@ desc:Goniometer V2 [LOSER, junh1024] //tags: analysis visualization //author: LOSER, junh1024 - slider1:1<1,16,1>Input (channel) slider2:2<1,16,1>Compare to (channel) slider3:0<0,100,1>-Unused slider4:0<0,100,1>-Unused -slider5:0<0,100,1>-Ch corrrelation% -slider6:0<0,100,1>-Ch Pan % +slider5:0<0,100,1>Corrrelation % +slider6:0<-100,100,1>Pan % slider7:0<0,100,1>-Unused slider8:1<0,1,1{Dots,Lines}>Display -in_pin:left input -in_pin:right input -out_pin:none +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +in_pin:input +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output +out_pin:output @init gfx_clear=-1; @@ -44,6 +72,8 @@ scaling_hist_factor=1; // add volume normalization - junh1024 +spl0_old=spl0; +spl1_old=spl1; // select channels spl0=spl(slider1-1); @@ -80,7 +110,7 @@ vert = 0[b] = cos(angle)*radius; horiz = off[b] = sin(angle)*radius; b PHASEUPDATERATE ? ( - //calculate phase + // calculate phase ph = (phC/n); ph = ph*ph_hist_factor + ph_old*(1-ph_hist_factor); ph_old=ph; phC = n = 0; ); +// restore original values for output. Needed for YSFX compat +spl0=spl0_old; +spl1=spl1_old; + + +@block + +// calculate pan +pan_temp= (R_stat-L_stat)/(R_stat+L_stat); +pan=pan_temp*pan_hist_factor+pan_old*(1-pan_hist_factor); +pan_old=pan; + +// connect phase & pan to sliders +slider5=ph*100; +slider6=pan*100; + + @gfx 450 450 size = min(gfx_w,gfx_h*.95)|0; @@ -198,11 +245,6 @@ gfx_x = size-25; gfx_y = size+phase_y_offs; gfx_drawnumber(1,0); -// calculate pan -pan_temp= (R_stat-L_stat)/(R_stat+L_stat); -pan=pan_temp*pan_hist_factor+pan_old*(1-pan_hist_factor); -pan_old=pan; - // draw pan number gfx_r=0.4; gfx_g=0.6; gfx_b=0.8; gfx_a=1; gfx_x = sizeH-8; gfx_y = size+pan_y_offs-10; diff --git a/README.md b/README.md index 519de97..cb783f9 100644 --- a/README.md +++ b/README.md @@ -255,23 +255,36 @@ Then you're ready to go. Run a Reascript by going Actions > Show > Load, Run. ## VST Compatibility -VST Compatibility for windows is achieved through ReaJS. You can then run some FX in your favorite DAW (surround FX may not work in some hosts) or even live in APO Equalizer. -1. Install Reaplugs 64bit https://www.reaper.fm/reaplugs/ into "C:\Program Files\VSTPlugIns" -2. Navigate into that directory , and create "reajs.ini" &/ "reajs_64.ini" as instructed by "reajs_info.txt" -3. Open the ini and change the file to these if using surround. Use 8 for 7.1. +### Windows VST2 users + +VST2 Compatibility for windows is achieved through ReaJS. You can then run some FX in your favorite DAW (surround FX may not work in some hosts) or perhaps live in Equalizer APO. + +1. Install Reaplugs 64bit https://www.reaper.fm/reaplugs/ into your VST2 folder, Example: "C:\Program Files\VSTPlugIns" +2. Navigate into the Reaplugs directory, and download [this file](https://github.com/junh1024/Reaper-Surround/releases/download/0.2105/reajs.ini) in there. Example: the downloaded reajs.ini , goes into C:\Program Files\VSTPlugIns\Reaplugs\ +3. Open reajs.ini and change the rootpath to where the ReaPlugs JS folder is. Example: "C:\Program Files\VSTPlugIns\Reaplugs\JS" . If you're using exactly the path as per step 1, this is already set. +4. Change the file to these if using surround. Use 8 for 7.1. If you want exactly 7.1, this is already set. ``` -inputs=6 ; number of audio inputs (0-64) -outputs=6 ; number of audio outputs (0-64) +inputs=8 ; number of audio inputs (0-64) +outputs=8 ; number of audio outputs (0-64) ``` -4. Extract [this zip](https://github.com/junh1024/Reaper-Surround/archive/master.zip) into your [REAPER Effects](#introduction) folder -5. add/change rootpath in the ini file to your REAPER Effects folder. Strings must be double quoted. -5. load reaJS into your host and select the Effects +5. Extract [this zip](https://github.com/junh1024/Reaper-Surround/archive/master.zip) into your ReaPlugs JS Effects folder, such that it sits beside other Effects folders. Example: C:\Program Files\VSTPlugIns\Reaplugs\JS\Effects\Reaper-Surround Master\ +6. Load the ReaJS plugin into your host, and press "Load" to select the Effects under Reaper-Surround + +### Mac/VST3 users + +You will need to use [**YSFX**](https://github.com/JoepVanlier/ysfx/releases/tag/v0.0.2) and extract the VST3 into: + +- Windows: C:\Program Files\Common Files\VST3 +- Mac: Library\Audio\Plug-ins\VST + +Unfortunately, YSFX has [FFT issues](https://github.com/jpcima/ysfx/issues/66) so it rules out most of the interesting ones, and has trouble finding dependencies. I've made a small archive of 2 interesting FX & their dependancies for YSFX users [**here**](https://github.com/junh1024/Reaper-Surround/releases/download/0.2105/Reaper-Surround-YSFX.zip) . + ### AAX Compatibility -AAX Compatibility for Pro Tools windows is limited due to the FILM order for channels and limited options for channel count. I haven't tested this. +AAX Compatibility for Pro Tools Windows is limited due to the FILM order for channels and limited options for channel count. I haven't tested this. -6. Follow steps 1-4 as above +6. Follow steps 1-5 as for "Windows VST2 users" 7. Insert ReaJS in a VST to AAX loader like DDMF metaplugin 8. Insert the loader into a 2 or 6ch track 9. Load ReaJS into your loader and select your FX @@ -351,5 +364,3 @@ Reduction figures are approximate. **And?** Conclusion: performance or quality is roughly on par with commercial implementations, but not necessarily simultaneously as you may need to make adjustments which increase CPU. My FFT FX typically use 10-15% of a 3Ghz core. If you're exporting long projects on a laptop on power-save mode, they'll do fine. Latency is also higher at a default of 4096sa compared with a typical 2048sa. Performance is balanced with quality, and if you want choice, you have ample control over otherwise "internal" or "unimportant" decisions which commercial vendors decide for you. - -