From 9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 Mon Sep 17 00:00:00 2001 From: Richard Date: Sun, 13 Apr 2025 18:48:02 +0100 Subject: initial --- site/udo/_TESTS/mixer_emulator.csd | 132 +++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100755 site/udo/_TESTS/mixer_emulator.csd (limited to 'site/udo/_TESTS/mixer_emulator.csd') diff --git a/site/udo/_TESTS/mixer_emulator.csd b/site/udo/_TESTS/mixer_emulator.csd new file mode 100755 index 0000000..7f8fe3e --- /dev/null +++ b/site/udo/_TESTS/mixer_emulator.csd @@ -0,0 +1,132 @@ + + +-odac8 +;--env:INCDIR="D:/Documents/Csound/_UDO" +--omacro:HOST=AUDIO +;-m0 + + +sr = 48000 +kr = 48000 +nchnls = 2 +0dbfs = 1 +seed 0 + +#include "feedback.udo" + +gimaxeq init 1.5 +gimaxsend init 1.5 +gimaxamp init 1.5 + + +opcode FLchannel, ik[], ii + ix, ichannumber xin + iwidth = 100 + iy = -50 + kp[] init 14 + ih1 FLbox sprintf("Channel %d", ichannumber), 1, 2, 14, iwidth*2, 50, ix, iy+50 + kp[0], ih2 FLbutton "Low Cut", 1, 0, 2, iwidth, 30, ix, iy+100, -1 + kp[8], ihx FLbutton "CModel", 1, 0, 2, iwidth, 30, ix+100, iy+100, -1 + + kp[1], ih3 FLknob "High", 0, gimaxeq, 0, 1, -1, 70, ix+15, iy+130 + kp[2], ih4 FLknob "Mid", 0, gimaxeq, 0, 1, -1, 70, ix+15, iy+215 + kp[3], ih5 FLknob "Low", 0, gimaxeq, 0, 1, -1, 70, ix+15, iy+300 + + FLsetColor 0, 0, 128, ih3 + FLsetColor 0, 0, 128, ih4 + FLsetColor 0, 0, 128, ih5 + FLsetVal_i gimaxeq*0.5, ih3 + FLsetVal_i gimaxeq*0.5, ih4 + FLsetVal_i gimaxeq*0.5, ih5 + + kp[4], ih6 FLknob "Aux1", 0, gimaxsend, 0, 1, -1, 70, ix+85, iy+130 + kp[5], ih7 FLknob "Aux2", 0, gimaxsend, 0, 1, -1, 70, ix+85, iy+215 + kp[6], ih8 FLknob "Aux3", 0, gimaxsend, 0, 1, -1, 70, ix+85, iy+300 + kp[7], ih9 FLknob "Aux4", 0, gimaxsend, 0, 1, -1, 70, ix+85, iy+385 + + FLsetColor 128, 0, 0, ih6 + FLsetColor 128, 0, 0, ih7 + FLsetColor 128, 0, 0, ih8 + FLsetColor 128, 0, 0, ih9 + + + kp[8], ih10 FLbutton "Pre", 1, 0, 2, 45, 70, ix+155, iy+130, -1 + kp[9], ih11 FLbutton "Pre", 1, 0, 2, 45, 70, ix+155, iy+215, -1 + kp[10], ih12 FLbutton "Pre", 1, 0, 2, 45, 70, ix+155, iy+300, -1 + kp[11], ih13 FLbutton "Pre", 1, 0, 2, 45, 70, ix+155, iy+385, -1 + + kp[12], ih14 FLslider "Gain", gimaxamp, 0, 0, 6, -1, 50, 200, ix+25, iy+385 + + kp[13], ih15 FLbutton "Mute", 1, 0, 2, 70, 25, ix+80, iy+560, -1 + ix += 200 + + + xout ix, kp +endop + +instr controller + ix = 0 + iy = 0 + FLpanel "FBMix", 1024, 600 + ix, gkc1[] FLchannel ix, 1 + ix, gkc2[] FLchannel ix, 2 + ix, gkc3[] FLchannel ix, 3 + ix, gkc4[] FLchannel ix, 4 + FLpanelEnd + FLrun + + event_i "i", "mixer", 0, p3 +endin + + + +instr mixer + ain1 init 0 + ain2 init 0 + ain3 init 0 + ain4 init 0 + + aout1 = (gkc1[13] == 0) ? fbk_channel(ain1, gkc1[0], gkc1[3], gkc1[2], gkc1[1], gkc1[8]) : 0 + aout2 = (gkc2[13] == 0) ? fbk_channel(ain2, gkc2[0], gkc2[3], gkc2[2], gkc2[1], gkc2[8]) : 0 + aout3 = (gkc3[13] == 0) ? fbk_channel(ain3, gkc3[0], gkc3[3], gkc3[2], gkc3[1], gkc3[8]) : 0 + aout4 = (gkc4[13] == 0) ? fbk_channel(ain4, gkc4[0], gkc4[3], gkc4[2], gkc4[1], gkc4[8]) : 0 + ain1 = 0 + ain2 = 0 + ain3 = 0 + ain4 = 0 + + /* sends 1 */ + ain1 = ain1 + ((gkc1[8] == 1) ? aout1*gkc1[4] : aout1*gkc1[4]*gkc1[12]) + ain2 = ain2 + ((gkc1[9] == 1) ? aout1*gkc1[5] : aout1*gkc1[5]*gkc1[12]) + ain3 = ain3 + ((gkc1[10] == 1) ? aout1*gkc1[6] : aout1*gkc1[6]*gkc1[12]) + ain4 = ain4 + ((gkc1[11] == 1) ? aout1*gkc1[7] : aout1*gkc1[7]*gkc1[12]) + + /* sends 2 */ + ain1 = ain1 + ((gkc2[8] == 1) ? aout2*gkc2[4] : aout1*gkc2[4]*gkc2[12]) + ain2 = ain2 + ((gkc2[9] == 1) ? aout2*gkc2[5] : aout1*gkc2[5]*gkc2[12]) + ain3 = ain3 + ((gkc2[10] == 1) ? aout2*gkc2[6] : aout1*gkc2[6]*gkc2[12]) + ain4 = ain4 + ((gkc2[11] == 1) ? aout2*gkc2[7] : aout1*gkc2[7]*gkc2[12]) + + /* sends 3 */ + ain1 = ain1 + ((gkc3[8] == 1) ? aout3*gkc3[4] : aout1*gkc3[4]*gkc3[12]) + ain2 = ain2 + ((gkc3[9] == 1) ? aout3*gkc3[5] : aout1*gkc3[5]*gkc3[12]) + ain3 = ain3 + ((gkc3[10] == 1) ? aout3*gkc3[6] : aout1*gkc3[6]*gkc3[12]) + ain4 = ain4 + ((gkc3[11] == 1) ? aout3*gkc3[7] : aout1*gkc3[7]*gkc3[12]) + + /* sends 4 */ + ain1 = ain1 + ((gkc4[8] == 1) ? aout4*gkc4[4] : aout1*gkc4[4]*gkc4[12]) + ain2 = ain2 + ((gkc4[9] == 1) ? aout4*gkc4[5] : aout1*gkc4[5]*gkc4[12]) + ain3 = ain3 + ((gkc4[10] == 1) ? aout4*gkc4[6] : aout1*gkc4[6]*gkc4[12]) + ain4 = ain4 + ((gkc4[11] == 1) ? aout4*gkc4[7] : aout1*gkc4[7]*gkc4[12]) + + + aout = (aout1*gkc1[12]) + (aout2*gkc2[12]) + (aout3*gkc3[12]) + (aout4*gkc4[12]) + aout *= 0.25 + outs aout, aout +endin + + + +i"controller" 0 3600 + + \ No newline at end of file -- cgit v1.2.3