Skip to content

Commit

Permalink
Update 2>5 V2 upmix defaults, gfxGoniometer V2 YSFX compat fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
junh1024 committed Feb 21, 2024
1 parent 61f5013 commit 2b92107
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 27 deletions.
2 changes: 1 addition & 1 deletion Converters/2.0 to 5.0 Upmix V2 (L).txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
68 changes: 55 additions & 13 deletions Meters/gfxGoniometer V2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -44,6 +72,8 @@ scaling_hist_factor=1;

// add volume normalization - junh1024

spl0_old=spl0;
spl1_old=spl1;

// select channels
spl0=spl(slider1-1);
Expand Down Expand Up @@ -80,7 +110,7 @@ vert = 0[b] = cos(angle)*radius;
horiz = off[b] = sin(angle)*radius;
b<MAXDRAWSPLS ? b += 1;


// collect stats for pan
L_stat =abs(spl0)*spl_hist_factor+L_stat*(1-spl_hist_factor);
R_stat =abs(spl1)*spl_hist_factor+R_stat*(1-spl_hist_factor);

Expand All @@ -89,13 +119,30 @@ R_stat_old =R_stat;

s0 != s1 ? phC-=1:phC+=1;
(n+=1) > 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;
Expand Down Expand Up @@ -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;
Expand Down
37 changes: 24 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.


0 comments on commit 2b92107

Please sign in to comment.