Skip to content

Add per-note delay to step notes - #65

Merged
unkleho merged 1 commit into
mainfrom
step-note-delay
Aug 20, 2026
Merged

Add per-note delay to step notes#65
unkleho merged 1 commit into
mainfrom
step-note-delay

Conversation

@unkleho

@unkleho unkleho commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds an optional delay field to StepNoteType (seconds or Tone notation like '32n') so an individual note can nudge its own start time, as a per-note alternative to Song's global swing prop.
  • Wires it through buildSequencerStep and Track's sequencer callback (Tone.Time(note.delay).toSeconds() offset added to the note's trigger time).
  • Adds a mock Tone.Time() to the test mocks so existing/new tests don't need the real Tone context.
  • Example app: adds a "Manual delay" toggle that applies delay to the off-beat note of the arpeggio pattern, for comparing against/combining with the swing slider. Minor CSS/layout cleanup for the controls grid.

Test plan

  • npm test (src/__tests__/Track.test.tsx) passes
  • Manually verify the "Manual delay" toggle in the example app against the swing slider

Lets an individual step note nudge its start time (seconds or Tone
notation like '32n'), as a per-note alternative to Song's global
swing prop. Example app demos it with a manual-delay toggle on the
arpeggio pattern.
@unkleho
unkleho merged commit d34e29f into main Aug 20, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant