loop_drive multi

drives the transport for reading/writing data from/to tables. the phase is translated to an index,defined by 'range' and 'offset' the speed is defined by 'freq'. the phase will be reset to 'start' when re-setting the phase
Author: robert schirmer
License: who cares
Github: rbrt/old/loop_drive multi.axo

Inlets

frac32.positive sets the offset

frac32.positive sets a range

frac32.positive speed

frac32.positive offset inside the range

bool32.rising reset phase

Outlets

frac32buffer.positive phase to read from an area of a table,defined by range and offset

Declaration
uint32_t Phase;
uint32_t out;
uint32_t r;
Init
Phase = 0;
r = 1;
Audio Rate
{
  if (inlet_reset && r) {
    r = 0;
    Phase = (inlet_start >> 5);
  } else {
    if (!inlet_reset)
      r = 1;
    Phase += inlet_freq >> 6;
  }

  out = (Phase >> 5);

  outlet_slot = ((___SMMUL(inlet_range, (out)) << 5) + inlet_offset);
}

Privacy

© 2024 Zrna Research