frac32 v0
frac32 v1
frac32 v2
frac32 v3
frac32 v4
frac32 v5
frac32 v6
frac32 v7
bool32.rising redraw
int32 row
bool32.risingfalling mute
None
objref LEDmaster
spinner row
combo mode0
combo mode1
combo mode2
combo mode3
combo mode4
combo mode5
combo mode6
combo mode7
bool trig;
bool mtrig;
uint8_t prerow;
uint8_t count;
int32_t in[8];
int32_t prev[8];
uint8_t mode[8];
bool doit;
bool update;
uint8_t row;
mode[0] = attr_mode0;
mode[1] = attr_mode1;
mode[2] = attr_mode2;
mode[3] = attr_mode3;
mode[4] = attr_mode4;
mode[5] = attr_mode5;
mode[6] = attr_mode6;
mode[7] = attr_mode7;
if (!inlet_mute && !mtrig) {
mtrig = 1;
update = 1;
count = 0;
}
if (inlet_mute)
mtrig = 0;
if (!inlet_mute) {
in[0] = inlet_v0;
in[1] = inlet_v1;
in[2] = inlet_v2;
in[3] = inlet_v3;
in[4] = inlet_v4;
in[5] = inlet_v5;
in[6] = inlet_v6;
in[7] = inlet_v7;
row = (inlet_row + attr_row) % 4;
if (inlet_redraw && !trig) {
trig = 1;
update = 1;
count = 0;
}
if (!inlet_redraw)
trig = 0;
if (row != prerow) {
prerow = row;
update = 1;
count = 0;
}
if ((in[count] != prev[count]) || update) {
doit = 1;
prev[count] = in[count];
attr_LEDmaster.disp_cell_value(mode[count], count, row, in[count]);
}
if ((doit && !attr_LEDmaster.ROW) && !attr_LEDmaster.LOCKED) {
attr_LEDmaster.ROW = row + 1;
doit = 0;
}
count++;
count = count % 8;
if (!count)
update = 0;
}