desmux8AUTO

*decodes 8 modular signal from ES-6(or +ES-7)or optx into DAW inputs.
*You can route the detect signal from other module in order to determin the channel flip.
*detecting signal should be connected to input 9

Install reaplugs. https://www.reaper.fm/reaplugs/

Put the js-file “desmux8AUTOplus” into your plugin folder. “\ReaPlugs\JS\Effects”

If you use Reaper DAW, the js folder exists in the appdata folder.

“C:\Users\username\AppData\Roaming\REAPER\Effects”

Plese use “*.ini” file and rename the plugin and change vstid if you need.

“reajs.dll” >> “reajs9.dll” (9inputs,8outputs)

The file name of plugin-dll file should be the same as ini file.

ReaJScode

desc:v3desmux8AUTOplus
//tags: utility processing encode and decode adat s/mux at 96kHz with auto channel detection
//author: QVmember 20220815  v3  https://qvmodular.com/

// 1-8(0-7)  for ES-6
//Copyright 2021  Akira Katsurada
//Released under the MIT license
// See  https://opensource.org/licenses/mit-license.php

//adding plus one input for autodetect 

// input1-8  for decode ES-6  

in_pin:Input 1
in_pin:Input 2
in_pin:Input 3
in_pin:Input 4
in_pin:Input 5
in_pin:Input 6
in_pin:Input 7
in_pin:Input 8
in_pin:Input 9

out_pin:Output 1
out_pin:Output 2
out_pin:Output 3
out_pin:Output 4
out_pin:Output 5
out_pin:Output 6
out_pin:Output 7
out_pin:Output 8


slider1:0<0,1,1>ChFlip
slider2:1<0,1,1>Auto on off 


@init
framebit = 0;
flip = 0;
data_sync = 0;
@sample



slider2 == 0 ? (flip = slider1);


framebit >1  ?  framebit = 0;


framebit == flip  ? (


//ES-6decode input input

data1 = spl0; 
data3 = spl2; 
data5 = spl4;
data7 = spl6;

 
 
// ES6 decode output
spl0 = 0;  
spl1 = 0;
spl2 = 0;  
spl3 = 0;
spl4 = 0;  
spl5 = 0;
spl6 = 0;  
spl7 = 0;


);



framebit == abs(flip-1)  ? (


//ES-6 decode input
data2 = spl0;
data4 = spl2;
data6 = spl4;
data8 = spl6;



//autodetect
slider2 == 1 ? (

data_sync = spl8; 
//input9
);

data_sync < 0.25 ? (flip = abs(flip -1));




//ES-6decode output

spl0 = data1;  
spl1 = data2;
spl2 = data3;  
spl3 = data4;
spl4 = data5;  
spl5 = data6;
spl6 = data7;  
spl7 = data8;


);

framebit += 1;