poly gv 8

outputs the state of 8 notes,starting from 'startnote'.gate and velocity.
Author: robert schirmer
License: BSD
Github: rbrt/midi/in/poly gv 8.axo

Inlets

int32 startnote

Outlets

bool32 g0

bool32 g1

bool32 g2

bool32 g3

bool32 g4

bool32 g5

bool32 g6

bool32 g7

frac32.positive v0

frac32.positive v1

frac32.positive v2

frac32.positive v3

frac32.positive v4

frac32.positive v5

frac32.positive v6

frac32.positive v7

Parameters

int32 startnote

Declaration
bool gate[128];
uint8_t velo[128];

uint8_t start;
Control Rate
start = (inlet_startnote + param_startnote);

outlet_g0 = gate[start];
outlet_g1 = gate[start + 1];
outlet_g2 = gate[start + 2];
outlet_g3 = gate[start + 3];

outlet_g4 = gate[start + 4];
outlet_g5 = gate[start + 5];
outlet_g6 = gate[start + 6];
outlet_g7 = gate[start + 7];

outlet_v0 = velo[start] << 20;
outlet_v1 = velo[start + 1] << 20;
outlet_v2 = velo[start + 2] << 20;
outlet_v3 = velo[start + 3] << 20;

outlet_v4 = velo[start + 4] << 20;
outlet_v5 = velo[start + 5] << 20;
outlet_v6 = velo[start + 6] << 20;
outlet_v7 = velo[start + 7] << 20;
Midi Handler
if ((status == MIDI_NOTE_ON + attr_midichannel) && (data2)) {
  gate[data1] = 1;
  velo[data1] = data2;
}
if (((status == MIDI_NOTE_ON + attr_midichannel) && (!data2)) ||
    (status == MIDI_NOTE_OFF + attr_midichannel))
  gate[data1] = 0;

Privacy

© 2024 Zrna Research