QO_control

description
Author: Remco van der Most
License: BSD
Github: sss/osc/QO_control.axo

Inlets

frac32 volume

frac32 PW

int32 octave

int32 harmonic

Outlets

None

Parameters

int32.hradio waveform

frac32.s.map.kpitch rate

frac32.u.map cutoff

frac32.u.mapvsl volume

frac32.s.map fine

frac32.s.map fm1

frac32.s.map fm2

frac32.s.map fm3

frac32.s.map PW

frac32.s.map PWM

int32 semi

int32 octave

int32 harmonic

Attributes

objref main

Declaration
int32_t _volume;
int32_t _waveform;
int32_t _freq;
int32_t _fm1;
int32_t _fm2;
int32_t _fm3;
int32_t cut;
int32_t rate;
int32_t PWM;
int32_t width;
Control Rate
MTOFEXTENDED((attr_main._mainpitch) +
                 (param_semi + (param_octave + inlet_octave) * 12 << 21) +
                 (param_fine >> 8),
             _freq);
MTOF((attr_main._mainpitch) + (param_semi + param_octave * 12 << 21) +
         (param_fine >> 8) + param_cutoff,
     cut);
_freq = _freq * (param_harmonic + inlet_harmonic);
_volume = ___SMMUL(param_volume << 3, inlet_volume << 2);
_waveform = param_waveform;
_fm1 = ___SMMUL(attr_main._fm << 3, param_fm1 << 2);
_fm2 = ___SMMUL(attr_main._fm << 3, param_fm2 << 2);
_fm3 = ___SMMUL(attr_main._fm << 3, param_fm3 << 2);
MTOF(param_rate, rate)
rate = rate >> 4;
PWM = param_PW + inlet_PW;
width = param_PWM;

Privacy

© 2024 Zrna Research