A sustaining note held with no explicit note-off used to pile up until voice-stealing killed it. Now, when a note appears under the playhead on a track, that track's still-held note is released automatically, so a line moves note-to-note like a real monophonic voice. Each sequencer voice carries an ownerTrack tag (the lane+track that started it), and triggerCell calls releaseTrackVoices(trackKey) before playing a new note. It releases only voices this track owns and only gated (still-held) ones, so chords built across several tracks on the same bus keep sounding and release tails ring out. Uses note-off (not kill) for a click-free legato hand-off. Arp voices are unowned and keep self-managing as mono-per-bus. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.1 KiB
5.1 KiB