Skip to content

Steparp Arpeggiator

Stl.Steparp.Arp - Step arpeggiator playback node.

Import

import "_IVLS/std-library/nodes/components/steparp/playback/steparp-arpeggiator.ksp"

Node: Stl.Steparp.Arp

Uses: Init, NoteOn, NoteOff

Overview

Stl.Steparp.Arp - Step arpeggiator playback node. LIBRARY

Implements the arpeggiator playback engine for the step arp system. Manages active voices across threads, maintains sorted note buffers, and drives a per-thread playback loop that sequences notes according to the configured note order, octave range, trigger mode, and step timing. Handles boundary direction reversal for ascending/descending zigzag modes and supports sync-to-host and free-running timing.

API

Nodes

Name Description
node Stl.Steparp.Arp Arpeggiator node that drives step-based polyphonic arpeggio playback across IVLS...

Defines

Name Description
define Stl.Steparp.Bundle += Stl.Steparp.Arp Registers Stl.Steparp.Arp as a member of the Stl.Steparp.Bundle composite node.

Functions

Name Description
stl.arp.state(thread, state) Sets the running state of the arpeggiator for the given thread.

Task Functions

Name Description
stl.arp.resort() Copies the active voice and note rows for the given thread into their sorted cou...

Nodes

node Stl.Steparp.Arp

Callbacks: Init, NoteOn, NoteOff

Arpeggiator node that drives step-based polyphonic arpeggio playback across IVLS threads.


Defines

define Stl.Steparp.Bundle += Stl.Steparp.Arp

Registers Stl.Steparp.Arp as a member of the Stl.Steparp.Bundle composite node.


Functions

stl.arp.state(thread, state)

Sets the running state of the arpeggiator for the given thread. When state is OFF, clears the active voice and note buffers and flags the thread as not running.

Parameter Type Description
thread integer thread index whose arpeggiator state is being modified
state integer desired state; pass OFF to halt the arp and clear voice buffers

Side effects:

Name Type Purpose
stl.arp.is_running integer_array Set to FALSE for the given thread when state is OFF
stl.arp.ActiveVoices integer_array Cleared for the given thread when state is OFF
stl.arp.ActiveNotes integer_array Cleared for the given thread when state is OFF

Task Functions

stl.arp.resort()

Copies the active voice and note rows for the given thread into their sorted counterparts, then performs a coupled ascending sort so that ActiveVoicesSorted mirrors note pitch order.

Side effects:

Name Type Purpose
stl.arp.ActiveVoicesSorted integer_array Receives a pitch-sorted copy of ActiveVoices for the given thread
stl.arp.ActiveNotesSorted integer_array Receives a pitch-sorted copy of ActiveNotes for the given thread

Example

// TODO: Add usage example

See Also