Repository navigation
·
39 commits
to main
since this release
This release includes every change since v1.4.1: versions 1.4.2, 1.4.3, 1.5.0 and 1.6.0.
[1.6.0] — 2026-11-01
Removed
- Swing. The knob and all swing timing are gone, along with the Triplet Swing lesson preset (five lesson presets remain) and the swing legend in the timing lane. Quantize Demo keeps its humanize and quantize settings and now plays without swing. Sessions and pattern automation that used swing now play straight.
Changed
- The
swingparameter ID stays as a hidden, non-automatable parameter named "Swing (unused)", so saved sessions keep loading. Nothing reads it. A DAW may still list it, or an existing swing lane, where it has no effect.
Tests
- Render harness:
swing-param-inertandswing-param-hiddenreplaceswing-offset,quantize-removes-humanizereplacesquantize-preserves-swing, and the carry-over check inblock-boundarynow uses humanized hits.
[1.5.0] — 2026-11-01
Changed
- The pattern now plays only when the DAW plays. Stopping the DAW stops the pattern at once, and voices that are already sounding ring out. MIDI notes from a track still play the drums while stopped. In a DAW the grid always follows the host tempo, including during Preview, and the Tempo knob shows that tempo and takes no drag. The knob sets the speed only where no host reports a tempo, such as the standalone app. Behaviour change for existing sessions: an instance that used to free-run while the DAW was stopped is now silent.
- The transport line reads stopped, preview or synced. "free-run" is gone.
Added
- Preview button, below the step grid. It plays the pattern from step 1 while the DAW is stopped. Pressing play in the DAW ends it, so stopping the DAW afterwards is silent. Closing the plugin window also ends it, and offline renders ignore it. It is never saved in a session.
- MIDI note numbers on the lane labels (Kick 36, Snare 38, Clap 39, Closed Hat 42, Open Hat 46, Tom 45).
- Twelve pattern slots, recalled by MIDI notes 0–11 or from the row below the grid. Click loads, Store then click saves, right-click or Delete empties. A slot holds the steps, their velocities and the pattern length. Swing, humanize, quantize and the voice knobs stay as set. A note switches at its exact sample, so a note on a downbeat changes that downbeat, at any block size. An empty slot ignores its note. Slots are saved in the session; older sessions open with all slots empty.
Fixed
- A step that rounded onto the first sample of a block fired one sample early, at the end of the previous block. Each step now fires in the block that contains its rounded sample. This was also needed for switching: without it, a switch note on a downbeat could lose to the old pattern's step.
Notes
- Starting playback partway through a song does not chase the last switch note, so the pattern stays whichever was last recalled. Put a switch note at the start of every section, including the first.
- Some DAWs may stop calling a plugin while the transport is stopped, which would leave Preview silent. Not yet tested in a DAW.
Tests
- Render harness: 26/26, with 14 new gates covering the stopped transport, Preview, switch position across block sizes and all 64 block-edge alignments, length recall with no message thread, empty slots, and session round trips including pre-1.5.0 sessions. Removing the half-sample window fails the downbeat and block-edge gates.
[1.4.3] — 2026-10-19
Fixed
- Clicking another dial now applies a typed value. With a value-entry field open, pressing on a different dial left the field open and its readout frozen. The press now applies the typed value and closes the field before the new drag starts.
[1.4.2] — 2026-10-19
Changed
- Output level now starts at −6 dB on new instances and is the last stage of
the chain. Lesson presets no longer set it, and loading a preset leaves it
where you put it. Saved sessions recall their stored level unchanged. The six
per-voice Level knobs are unchanged and still part of each preset. - Double-click a dial to type a value — Enter or click away applies, Esc
cancels. Alt/Option-click resets a control to its default (this was
double-click). Typed values accept%on Swing (0–75 %) and the percent
knobs,BPMon Tempo,-inffor a level floor.