Skip to content

Components

Core component library for the IVLS framework. Provides reusable nodes and templates for UI control, MIDI tracking, math, serialization, audio engine parameter access, browser/scrollbar/menu widgets, music theory tables, inter-script communication (PGS/cluster), and bitmask-based filtering.

Subdirectories

Directory Description
engine-box Parameter engine box modules (single/multi-dim, table, unnamed)
steparp Step arpeggiator playback and data management

Modules

Module Description
browsers Parameterized browser template: tag-filtered item list with scrollbar, preview, fallback, and selection callbacks
cluster LCB-driven async task dispatcher using blip-note RCB routing and typed job queues
ep-conversions Bidirectional Kontakt engine-parameter to real-world value conversion functions
host-bpm-sync Host-tempo sync tables and lookup functions for FX delay time, FX rate, LFO/mod rate, and mod time
json State-machine JSON writer that outputs key/value pairs and nested objects/lists
kontakt Engine parameter macros, shorthand define aliases, property accessors, and Kontakt constant enumerations
kontakt-ui UI layout constants, double-click detection, key-modifier bitmask utilities, and display footer timer
lists Doubly-linked list (Entry type) and FIFO queue; direct-call variant
lists-optimized Same linked-list/FIFO implementation with global-variable trampolines for ICB contexts
mask Bitfield mask type (3 x 32-bit parts = 96 bits) with AND, OR, AND-NOT, equals, match-filter, and bit-level accessors
math Comprehensive math library: constants, audio utils (dB/amp), RNG, bitwise ops, curves, comparison predicates, scaling, logarithms, roots, GCD/LCM
menus Menu population macro, value-to-label lookup, and string-value search for ui_menu controls
midi MIDI state tracker: per-channel key/velocity/CC arrays, ordered key-press stacks, note-name strings, frequency conversion, retrigger hooks
music Music theory data tables: 42 scales with interval sets, 11 microtuning presets, scale-degree mappings, note display strings
nks NKS automation helper: assigns automation_id, automation_name, short_name, and allow_automation to a UI control
pgs Inter-script PGS communication protocol: meta-packet task dispatch, queue-based sequential sending
purge Group purge controller: CC-122-triggered purge cycle with group_states/group_gates arrays
randomizer Literate-macro-driven randomizer UI (menu + run button) that iterates registered STL.RANDOMS options
recall Snapshot lock/enable UI controls that route PreReload to SnapLocked or SnapLoaded callbacks
scrollbar Two-node scrollbar system: base orientation/thumb-update logic and per-instance parameterized template
search Extended array search utilities: 2D row/column search, count-bounded, last, range, all-matches, and comparison-predicate variants
serialize Multi-system NKA preset serializer: global header, per-system headers with versioning, async save/load
uicb UI callback dispatch system: uicb.Bind macro assigns controls to named callbacks
uir UI routine runner: deduplicated per-frame UI update system
util Array utilities (fill, copy, copy_n, 2D resize, min/max/instances/reverse), swap macros, BPM helpers
vel-volume Velocity-to-volume dB modifier interpolator using a preloaded 128x11 lookup table