WeightedFolSet

module for manually setting the chance that certain notes follow up on certain previous notes. "Note" sets the "previous" note. The small selectors set the chance of each note (1 octave) "Octave" sets the octave offset for the chance selectors (so you can set the chance for follow-up notes over 4 octaves).
Author: Remco van der most
License: BSD
Github: sss/patt/WeightedFolSet.axo

Inlets

None

Outlets

None

Parameters

int32.mini i0

int32.mini i1

int32.mini i2

int32.mini i3

int32.mini i4

int32.mini i5

int32.mini i6

int32.mini i7

int32.mini i8

int32.mini i9

int32.mini i10

int32.mini i11

int32 note

int32 octave

Attributes

objref core

Declaration
int prev;
int i;
Control Rate
int NOTE = param_note * 48 + param_octave * 12;
if (!(prev == param_note + attr_core.load + param_octave)) {
  PExParameterChange(&parent->PExch[PARAM_INDEX_attr_legal_name_i0],
                     attr_core.array[NOTE], 0xFFFD);
  for (i = 1; i < 12; i++) {
    PExParameterChange(
        &parent->PExch[PARAM_INDEX_attr_legal_name_i0 + i],
        attr_core.array[i + NOTE] - attr_core.array[i - 1 + NOTE], 0xFFFD);
  }
}

attr_core.array[0 + NOTE] = param_i0;
attr_core.array[1 + NOTE] = param_i1 + attr_core.array[0 + NOTE];
attr_core.array[2 + NOTE] = param_i2 + attr_core.array[1 + NOTE];
attr_core.array[3 + NOTE] = param_i3 + attr_core.array[2 + NOTE];
attr_core.array[4 + NOTE] = param_i4 + attr_core.array[3 + NOTE];
attr_core.array[5 + NOTE] = param_i5 + attr_core.array[4 + NOTE];
attr_core.array[6 + NOTE] = param_i6 + attr_core.array[5 + NOTE];
attr_core.array[7 + NOTE] = param_i7 + attr_core.array[6 + NOTE];
attr_core.array[8 + NOTE] = param_i8 + attr_core.array[7 + NOTE];
attr_core.array[9 + NOTE] = param_i9 + attr_core.array[8 + NOTE];
attr_core.array[10 + NOTE] = param_i10 + attr_core.array[9 + NOTE];
attr_core.array[11 + NOTE] = param_i11 + attr_core.array[10 + NOTE];
prev = param_note + attr_core.load + param_octave;

Privacy

© 2024 Zrna Research