Skip to content

Tuple v1.4.2 — MIDI note fix

Latest

Choose a tag to compare

@c0remusic c0remusic released this 12 Aug 11:41

A targeted fix for stuck MIDI notes and an unresponsive keyboard.

Fixed

Stuck notes on configuration change. Changing key, scale, octave or voicing while holding a note left the chord sounding. Every one of those entry points now releases the held note first.

MIDI keyboard stopped responding while the mouse still worked. An out-of-range or non-numeric index could produce NaN, which propagated into the grid calculation. The rebuild threw partway through, leaving the internal grid empty, and every key press was then ignored — while mouse clicks kept working, because they take a different path. That asymmetry was the reported symptom. Index handling is now guarded: key index is validated, octave is clamped to its range rather than rejected, and voicing index is checked against the list.

Nothing else changed

This release is built from v1.4.1, not from the development branch. The device patch and the interface are byte-for-byte identical to v1.4.1 — only the engine changed, by about 40 lines.

That is deliberate. The development branch carries changes to the Voicing parameter list, and Ableton reads parameter lists by position: saved Live sets store the index, not the name. Shipping those changes without first verifying that existing sets reload on the same voicing could silently reopen your projects on a different style. That work waits for the next feature release.

Installing

No reinstall required. Existing users can update in place — the device patch has not changed.

  • Windows: Tuple-Installer.exe, or extract tuple.zip over your existing Tuple folder.
  • macOS: tuple-mac.zip, which includes Install Tuple.command (it also clears the quarantine flag).

Keep the whole Tuple folder together — the device loads its interface and fonts from alongside the patch.

Verification

The fix is covered by regression tests that fail on v1.4.1 and pass here. Ten previously failing tests now pass, with no regression in the tests that already passed.