phasorSelect

Author: Smashed Transistors
License: LGPL
Github: tiar/dev/phasorSelect.axo

Inlets

frac32buffer.bipolar C

frac32buffer.bipolar Cs

frac32buffer.bipolar D

frac32buffer.bipolar Ds

frac32buffer.bipolar E

frac32buffer.bipolar F

frac32buffer.bipolar Fs

frac32buffer.bipolar G

frac32buffer.bipolar Gs

frac32buffer.bipolar A

frac32buffer.bipolar As

frac32buffer.bipolar B

frac32.bipolar note

Outlets

frac32buffer.bipolar out

Displays

int32.label note

int32.label oct

Control Rate
// _____________________________________________________________________
// Krate
int note = (inlet_note >> 21) + 64;
int oct = note / 12;

disp_note = note;
disp_oct = oct;

int n12 = note - 12 * oct;
int offset = oct - 1;
if (offset < 0)
  offset = 0;
const int32_t *in = inlet_C;
if (n12 == 1)
  in = inlet_Cs;
else if (n12 == 2)
  in = inlet_D;
else if (n12 == 3)
  in = inlet_Ds;
else if (n12 == 4)
  in = inlet_E;
else if (n12 == 5)
  in = inlet_F;
else if (n12 == 6)
  in = inlet_Fs;
else if (n12 == 7)
  in = inlet_G;
else if (n12 == 8)
  in = inlet_Gs;
else if (n12 == 9)
  in = inlet_A;
else if (n12 == 10)
  in = inlet_As;
else if (n12 == 11)
  in = inlet_B;

for (int k = 0; k < BUFSIZE; k++) {
  outlet_out[k] = (in[k] << offset) & 0x07FFFFFF;
}

Privacy

© 2024 Zrna Research