mx4h

6 channel mixer with 1 send with stereo return. There is also send for the subgroup. All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. The send effects are post-channel fader(they are affected by the channel volume). All parameters are described if you hoover the mouse over them, so look there for description. 6% DSP
Author: Jaffasplaffa
License: BSD
Github: jaffa/mix2/mx4h.axo

Inlets

frac32buffer send 1 stereo return L

frac32buffer send 1 stereo return R

frac32buffer 1

frac32buffer 2

frac32buffer 3

frac32buffer 4

frac32buffer 5

frac32buffer 6

Outlets

frac32buffer send 1

frac32buffer Master out L

frac32buffer Master out R

Parameters

bool32.mom CHANNELS

bool32.mom RETURNS

bool32.mom MAIN

bool32.tgl ch1

bool32.tgl ch2

bool32.tgl ch3

bool32.tgl ch4

bool32.tgl ch5

bool32.tgl ch6

bool32.tgl Returna on/off

frac32.u.map Ch1. volume

frac32.u.map Ch1. senda

frac32.u.map Ch2. volume

frac32.u.map Ch2. senda

frac32.u.map Ch3. volume

frac32.u.map Ch3. senda

frac32.u.map Ch4. volume

frac32.u.map Ch4. senda

frac32.u.map Ch5. volume

frac32.u.map Ch5. senda

frac32.u.map Ch6. volume

frac32.u.map Ch6. senda

frac32.u.map Returna volume

frac32.u.map Master volume

Audio Rate
// Channel 1 //
int32_t CHANNELONE;
if (param_ch1 > 0) {
  CHANNELONE = ___SMMUL(inlet_1 << 3, param_v1 << 2);
} else {
  CHANNELONE = 0;
}
int32_t CHANNELONESENDA = ___SMMUL(CHANNELONE << 3, param_s1a << 2);

// Channel 2 //
int32_t CHANNELTWO;
if (param_ch2 > 0) {
  CHANNELTWO = ___SMMUL(inlet_2 << 3, param_v2 << 2);
} else {
  CHANNELTWO = 0;
}
int32_t CHANNELTWOSENDA = ___SMMUL(CHANNELTWO << 3, param_s2a << 2);

// Channel 3 //
int32_t CHANNELTHREE;
if (param_ch3 > 0) {
  CHANNELTHREE = ___SMMUL(inlet_3 << 3, param_v3 << 2);
} else {
  CHANNELTHREE = 0;
}
int32_t CHANNELTHREESENDA = ___SMMUL(CHANNELTHREE << 3, param_s3a << 2);

// Channel 4 //
int32_t CHANNELFOUR;
if (param_ch4 > 0) {
  CHANNELFOUR = ___SMMUL(inlet_4 << 3, param_v4 << 2);
} else {
  CHANNELFOUR = 0;
}
int32_t CHANNELFOURSENDA = ___SMMUL(CHANNELFOUR << 3, param_s4a << 2);

// Channel 5 //
int32_t CHANNELFIVE;
if (param_ch5 > 0) {
  CHANNELFIVE = ___SMMUL(inlet_5 << 3, param_v5 << 2);
} else {
  CHANNELFIVE = 0;
}
int32_t CHANNELFIVESENDA = ___SMMUL(CHANNELFIVE << 3, param_s5a << 2);

// Channel 6 //
int32_t CHANNELSIX;
if (param_ch6 > 0) {
  CHANNELSIX = ___SMMUL(inlet_6 << 3, param_v6 << 2);
} else {
  CHANNELSIX = 0;
}
int32_t CHANNELSIXSENDA = ___SMMUL(CHANNELSIX << 3, param_s6a << 2);

// Sends //
outlet_s1 = CHANNELONESENDA + CHANNELTWOSENDA + CHANNELTHREESENDA +
            CHANNELFOURSENDA + CHANNELFIVESENDA + CHANNELSIXSENDA;

// Returns//
int32_t RETURNAL;
int32_t RETURNAR;
if (param_returnaoo) {
  RETURNAL = ___SMMUL(inlet_r1l << 3, param_retavol << 2);
  RETURNAR = ___SMMUL(inlet_r1r << 3, param_retavol << 2);
}

else {
  RETURNAL = 0;
  RETURNAR = 0;
}

// Master //
outlet_ml = ___SMMUL((CHANNELONE + CHANNELTWO + CHANNELTHREE + CHANNELFOUR +
                      CHANNELFIVE + CHANNELSIX + RETURNAL)
                         << 3,
                     param_Mvol << 2);
outlet_mr = ___SMMUL((CHANNELONE + CHANNELTWO + CHANNELTHREE + CHANNELFOUR +
                      CHANNELFIVE + CHANNELSIX + RETURNAR)
                         << 3,
                     param_Mvol << 2);

Privacy

© 2024 Zrna Research