cvca

simple VCA module to use with the chainFX effects chainer module. Can be controlled by external envelope or LFO to modulate the amplitude of the signal. Controls can easily be editted for external control
Author: Remco van der Most
License: BSD
Github: sss/fx/chainer/cvca.axo

Inlets

frac32 volume

Outlets

None

Parameters

frac32.u.map volume

bool32.tgl bypass

bool32.tgl solo

Declaration
uint32_t v30 = (uint32_t)1 << 30;
uint32_t v26 = (uint32_t)1 << 26;
uint32_t v27 = (uint32_t)1 << 27;
int32_t outL;
int32_t outR;
int32_t hpL;
int32_t hpR;
int32_t IL;
int32_t IR;
uint32_t gain;
uint32_t volume;

bool bypass, solo;
int32_t FX(int32_t inL, int32_t inR, int32_t CV1, int32_t CV2) {
  IL = inL;
  IR = inR;
  outL = ___SMMUL(inL << 1, volume);
  outR = ___SMMUL(inR << 1, volume);
  if (bypass > 0) {
    outL = IL;
    outR = IR;
  }
};
Control Rate
volume = __USAT(param_volume + inlet_volume, 27) << 4;
bypass = param_bypass;
solo = param_solo;

Privacy

© 2024 Zrna Research