KODA Update History | Latest: v1.0.9 (Sept 20 '26)

Latest:

1.0.9

Added

  • Multi LFO: Stack up to six LFOs into one modulator: each layer has its own shape, phase, level and rate
  • LFO enhancements: Fade In, and Pulse Width for Square shape
  • AHD envelope type: AHD ignores note-off and plays attack, hold and decay through to silence.
  • Note distribution at instrument level: The OPTIONS module at Instrument focus now decides how incoming notes spread across articulations, the same way an articulation spreads them across its variations.
  • Inserts can be renamed: Double-click the name in an insert’s editor header; Cmajor patches take their patch’s name by default.
  • New Delay insert (replaces existing delay) Includes tempo sync. Existing delays load with their sound intact.
  • New Convolution insert (replaces existing convolution) Independent early reflections VS tail controls, including HP + LP filters and “Stretch”, which can be sync’d to tempo.
    Length, Predelay, Width and Dry / Wet work across both.
  • Scripting:
    • `persist` - Mark a variable `persist` and its value is saved with
      the instrument and survives recompiles
    • `setTooltip` on components,
    • mouse events from every widget type (not just panels),
    • an opt-in Move event,
    • getIdentifier on key and mouse events,
    • editing pattern notes in place by index, and
    • constants and setters for the Multi LFO.

Improved

  • SETUP modules now remember their fold, hide and order per level, so the instrument, articulation, variation and group views can each be laid out their own way.
  • The inspector’s “JUMP TO” lists are rebuilt and renamed: jump to a module, fold it, hide it or drag it into a new order from the row, and rename a modulator inline.
  • Modulators are automatically named according to their type
  • Modulators can now be re-ordered from the MODS page. Their numbering has been dropped.
  • Level icons on the Setup modules, the breadcrumbs and the Structure sidebar headers. Sidebar panels can be resized more freely, and rows belonging to a Volume Crossfader are marked.
  • A multi-selection across articulations or variations now respond to edits in sync with each other, just as it does for groups.
  • The Level Meter widget can follow a bus by name, so it survives buses being added, removed or reordered, and its clip indicator now matches the mixer’s: it colours for a second and a click clears it.
  • Scripts compile noticeably faster, and errors that clash with the scripting API say what clashed.
  • Knobs: ctrl/cmd+click resets to the default, double-click types a value.

Fixed

  • Crashes in Tracktion Waveform, and after repeated device restarts, freezes or renders in any host.
  • Crashes and stalls around scripts: printing values that contain text, recompiling with a menu or script-made widgets on screen, and bad endpoint names taking the plugin down with them.
  • Clearing an instrument’s script or GUI reference now unloads it right away. (Both kept running until the instrument was saved and reloaded)
  • A script switch such as “ignore note ons” stayed on for good once the script that set it was removed.
  • A .kdui added to a loaded instrument appears immediately instead of after a close and reopen, and images reload on recompile.
  • Release-trigger samples fired for keys that sounded nothing, such as a key outside every mapped zone.
  • The Master bus can no longer be renamed, and instruments carrying duplicate bus names are repaired as they load.
  • Popup menus sometimes did not open, and menus now follow the font and colour a script sets.
  • Value Edit reads its Prefix, Suffix and Text Case from the .kdui, and Table “colour” properties are read under either spelling.
  • Envelope values set from a script were read in the wrong unit, and Delay could not be set at all.
  • An instrument saved by a newer version of KODA is now refused and left untouched, rather than loading with settings silently dropped.
  • Entering Build mode from the rack could be dropped, leaving pages that open straight after it out of step.
  • The Windows installer includes the acknowledgements.

Update History

v1.0.8 - Sept 10

Added

  • Import wizard. Drop an XML created with Creator Tools, a DecentSampler .dspreset or an SFZ file onto a library in the browser and a three-step wizard opens in place of the old list. Select your groups, conform them to KODA’s group structure, and you’re off to the races.
  • Parameter trigger. A group’s TRIGGER Type can now be Parameter. The group ignores the keyboard and sounds when the chosen parameter rises above or falls below a threshold. Perfect for adding Pedal Noises to your piano instrument!
  • Added Steal First: Lowest Velocity. A mode for choosing which voices to steal if the polyphony limit is reached. Particularly useful for pianos and “sustained” instruments.
  • FX chain presets on the Routing page. The INSERT FX module in the Bus and Send inspectors now has a Presets menu.
  • Dropout diagnostics. Click the meters in the header to open the PERFORMANCE panel, and use the ADVANCED section to diagnose dropouts or send a report to us.
  • KodaScript for Sublime Text: the same syntax highlighting, autocomplete and snippets as the VS Code extension. You can find the extension files in your account’s dashboard, or your product manager.
  • The MCP server can now read the console and take a screenshot of the instrument’s interface.

Improved

  • Start Position can now be modulated with a parameter or modulator.
  • Large instruments use far less CPU while idle.
  • Random modulators on envelope times, Release Level, Start Position and Trigger Velocity are drawn once per note, and the knob’s ring shows the value that note actually got. A knob that cannot take a modulator now refuses the drop as you hover instead of accepting it silently.
  • The group OPTIONS module has a new layout to accommodate the Parameter Trigger type

Fixed

  • With several groups selected, the Setup page modules (envelope, playback, amplifier, properties, parameters, effects) showed the first selected group rather than the one you clicked.
  • A MIDI CC assigned to a parameter in the MAP editor only took effect after saving and reloading. It is live immediately now, including after undo.
  • One Shot envelope mode: the Attack and Attack Curve knobs are enabled, and switching modes no longer keeps values from controls the new mode disables.
  • Streamed voices with a start offset could end early by the length of the offset, and offsets beyond the preloaded window were silently clamped to it.
  • Dragging the Start Position knob created one undo step per tick.
  • Scripts: converting a note’s tuning ratio back to semitones or cents gave wrong numbers, and notes gain getTuningSemitones, getTuningCents and getTuningRatio.
v1.0.7 - Sept 5

Added

  • New Modulator Type: Step Mod - A step sequencer you can point at any modulation target: paint a pattern of up to 128 steps, run it at a musical division of your DAW’s tempo or at a free rate in Hz, and shape it with adjustable Swing and Smooth.
  • Pin Loop to Clip in the Lane Editor. A clip’s loop markers now travel with it when you drag, nudge or reset the clip, on by default. Turn it off per loop from the inspector or by right-clicking the loop region, and grab the move icon at the region’s corner to slide a loop on its own.
  • KODA now has an MCP server which can be turned on in the Developer tab in Settings
  • The scripting reference has been updated with a more comprehensive introduction to the language

Improved

  • The Lane Editor inspector has been made more compact with collapsible sub-sections, Voice and Clip Properties can now be displayed in either samples or milliseconds via the “sp | ms” section toggle, Crossfade is a slider across the loop with a live readout, and the clip’s name and folder are shown in full, relative to the library.
  • Lane Editor lanes redrawn: tidier zone and lane headers with a voice count and expand/collapse, clearer waveforms, and lanes named after their voices. Clicking a header while a clip is focused now selects the header, and Ctrl+click position reset applies to the whole linked selection.
  • A successful script compile now clears the previous error from the info panel, and scripts you create outside the plugin are picked up without a reload.

Fixed

  • Crashes when closing an instrument or quitting, most often on Windows.
  • Note lengths set from a script now actually stop the note, with the normal release, and a note’s off state can be set directly.
  • Instruments whose interface is built entirely in script now open their panel instead of staying collapsed.
  • Scripts now see the real sample rate and block size in initialize and when loading state, instead of zero.
  • Settings that a script controls, such as ignoring note ons or pitch bend, no longer stay stuck on after you remove them from the script and reload.
v1.0.6 - Sept 1

Added

  • HD and LITE sample tiers. Change from the rack’s right-click menu, or by nominating your preference in the library’s Inspector panel (BROWSE view)
  • Drag to reorder the INSERT FX modules in the Bus and Send inspectors on the Routing page

Improved

  • The Build page remembers which tab you were on, through closing and reopening the plugin window and with your saved session.
  • Custom tooltips available on keyswitches to override the articulation’s group name.
  • The INSTRUMENT PARAMETERS module on the Setup page is now sized sensibly when empty

Fixed

  • Routing Bug: Notes routed to multiple groups within a variation could adopt the volume / adsr settings of the first group.
  • Output Routing: unexpected behaviour when manually routing group outputs to multiple buses
v1.0.5 - Aug 29 (minor)

Added

  • Cmajor patches can now give their parameters friendly names (name), a natural feel to knob travel (mid sets the value at the middle of the sweep), and built-in smoothing (rampFrames glides value changes inside the patch). All annotations now work the same in both annotation styles. Friendly names appear on the insert’s knobs and everywhere modulation targets are listed.

Improved

  • The Play tab remembers your scroll position — through closing and reopening the plugin window and with your saved session — and no longer jumps to the top when a project loads.
  • The Lane Editor inspector now shows which round robin is selected, spells out loop values plainly, and marks the focused lane more clearly.

Fixed

  • Crashes and mismatched sample rate when adding a bus with inserts mid session.
  • Cmajor patch inserts compile again after loading an instrument.
  • Dropdown (text) parameters on Cmajor patches now reach every option; patches with three or more choices could never receive the last ones.
  • Smoothed Cmajor parameters finish their ramps on patches with more than 32 parameters, and saved knob positions apply instantly when an instrument loads instead of audibly gliding up from their defaults.
  • Loops that end within the first moments of a sample now play correctly when streaming from disk, instead of running past the end of the loop.
v1.0.4 - Aug 28 (hotfix)

Improved

  • The SIGNALS module on the Setup page has been rebuilt. Each signal is now a row you work in directly: double-click to rename, set its channels and naming token, see how many files it covers, and route it to an output bus — or create a new bus for it — straight from the row. Rescan results appear inline with per-signal missing counts and a report link instead of a pop-up, and the module hints when your edits call for a fresh rescan.
  • Rescanning a large sample pool now takes moments instead of minutes, reads far less from disk, and warns you first when a scan is going to take a while.
  • Turning on Loop for a sample that has no loop markers now gives you a starting loop, placed 10% in from each end so it stays clear of the attack and any tail. Before, the switch turned on but nothing looped.

Fixed

  • Turning on Loop for a sample without loop points could hang the audio engine: the note would sustain forever and nothing else would sound until the plugin was reloaded.
  • Loops dragged past the end of the sample, or left entirely before its start, no longer produce stuck voices or broken playback — the sample plays through once instead.
  • Imported instruments that claimed a loop but carried no loop points now load with Loop off, instead of showing a loop that never sounds.
  • Undo after merging on the Structure page is now complete: samples that were merged into existing zones are removed again, and the original articulations, variations and groups come back in their original order instead of jumping to the top of the list.
v1.0.3 - Aug 27 (major)

Added

  • Release triggers. A group can now play its samples when you let go of a key, at the velocity you originally played it. Includes a Release Level control and a Pedal Release setting (Pedal Up, Key Up, Off) that decides what a key released under the sustain pedal does.
  • Hold Time modulator. Shape a sound by how long the note was held, over a range you set anywhere from 0.1 to 60 seconds.
  • Distortion insert. Four modes, Overdrive, Crunch, Fuzz and Octave, with Gate and Sag controls, no added latency, and automatic loudness matching so Drive changes the character and not the level. It can be used on groups as well as buses. The waveshaper that used to be called Distortion is now called Saturation, unchanged and still for buses and sends only. Existing projects update the name when they load.
  • Zone Edge Fades. Give each edge of a zone a fade reach and start level to crossfade smoothly into its neighbours, shaded on the mapping grid.
  • Curve presets and Copy/Paste Mod Settings. Right-click any curve to save, load, copy or paste it, with 56 presets included across curves, LFOs, envelopes, key tracking, velocity and random. Curves also accept plain text table files (.txt and .nka) dropped straight onto them, either one value per line or “index → value” lines, as exported by Kontakt. You can now also copy every shaping setting from one modulation routing to another.
  • Key Ranges module. Every key range in the instrument, instrument-wide and per-articulation, managed in one place on the Setup page: rename, recolour from the palette, switch type (Display, Keyswitch, Parameter), and edit each key’s note, target, trigger mode and tooltip. Ranges can also be drawn and dragged directly on the keyboard, and keyswitches can be assigned straight from an articulation’s OPTIONS module.
  • Note distribution. Choose how an articulation spreads incoming notes across its variations, and a variation across its groups: send to all, step through them round-robin (in order or random, never repeating), or let a menu parameter pick the target. Release-trigger groups keep receiving every note regardless, so release samples always play back at the velocity you played.
  • Multi-core playback. Voices now render across your CPU cores (a new Multi-Core Processing setting, on by default), giving real headroom back, especially at larger buffer sizes.
  • Sample Pool multi-select. Select ranges of files and folders the way your file browser does (shift and cmd/ctrl clicks), drag several folders into the mapping at once, and browse large pools with less waiting. Automap Setup now pre-fills its mapping from the pool’s Group By choices, and “Mic Pos” is now called “Signal (Mic)”.
  • Structure sidebar search. Filter the sidebar by name or by the notes a group covers, matching whole branches, and recolour an articulation’s badge right from the sidebar.
  • The rack’s volume, pan and tuning knobs are now saved with the instrument, and each tweak is its own undo step.
  • Scripting: components can be positioned against the whole view (setBoundsInView and friends), new timing getters, modulators can be enabled and disabled per parameter, and the scripting reference has been fact-checked against the engine and expanded with an Advanced Topics section.

Improved

  • Automap Setup rebuilt: working primary and secondary separators, token layouts per naming format, a grouped token menu, better note-name parsing, evenly spaced dynamic layers, and zone sizing applied after mapping.
  • Remap Selected. Re-run the tokenizer over only the zones you have selected, as a single undo step.
  • The Layers inspector is now Signals: filenames instead of full paths (with the full path on hover), signal buttons filter the round-robin list, and one non-repeating Random mode.
  • Your tab selection is saved with the project and follows your DAW’s undo and redo.
  • The generated script template is now a minimal starter instead of a wall of boilerplate.
  • Bus and mic level and pan changes are smoothed, so moving them no longer clicks or zippers.
  • The keyboard’s playable range now draws itself from your mapped zones, always up to date, with a show/hide toggle and colour override per articulation. Old auto-filled “Playable Range” entries fold into it automatically on load; ranges you created yourself are kept.
  • Inspector: Jump To can hide and reorder rows, Collapse All folds every module at once, and Notes fields commit when you press Enter.
  • Undo and Redo now grey out when there is nothing to undo or redo.
  • CPU optimizations.

Fixed

  • Dialogs, file prompts and progress windows now open inside the plugin window instead of as separate system windows, so they can no longer end up hidden behind your DAW.
  • Scripts now receive transportStarted and transportStopped events.
  • Scripts now receive a note-off when the key goes up, even while the sustain pedal is held. Read the pedal itself from the SustainPedal parameter.
  • Script UI events are no longer dropped during offline render and bounce.
  • Fixed Mac installer missing name in title bar
  • Crashes when closing the plugin window or removing an instrument on Windows.
  • One-shot samples pitched far down could hang forever instead of ending.
  • Instruments saved on Mac now load their samples on Windows and the other way around.
  • The bus inspector could stop following its bus after an edit.
  • Scripts: setIgnoreSustainPedal now works, and stopNote no longer misses notes.
v1.0.2

First preview build candidate for testers.