![]() |
uvi-script
Musical event scripting with Lua
|
These guides explain the core concepts of uvi-script with practical examples. They are ordered from fundamental concepts to more specialized topics.
Creating, manipulating, and fading voices. Covers changeTune, changeVolume, changePan, fadein/fadeout, script modulation, and sample offset control.
Cooperative threading, wait/waitBeat, spawn/run, musical context queries (tempo, beat position, key state, MIDI CC), and common timing patterns.
Building custom UIs with Knobs, Sliders, Buttons, Panels, and more. Covers layout, mappers, units, performance view, and Retina support.
Generating outgoing MIDI events (CC, pitch bend, aftertouch, program change) and working with MIDI files.
Non-blocking file dialogs, sample loading, state persistence, custom data I/O, MIDI file operations, and impulse responses.
Multi-zone sample sets: the mapping file format (.dmap and the SFZ subset), loading a mapping from a script, dispatching notes to an articulation or a round-robin variant, and purging layers to save memory.
Coming from Native Instruments Kontakt? A concept-by-concept mapping of KSP callbacks, events, engine access, UI and persistence onto uvi-script, with unit-conversion traps and a full side-by-side port.
Drop-in AGENTS.md for AI coding assistants (Claude Code, Cursor, Codex, …) — orients the assistant to uvi-script's runtime, real-time constraints, and conventions.