Skip to content

Phase 3: schedule exact-frame controls and per-note values - #19

Merged
norbot7865 merged 1 commit into
masterfrom
norbot/issue-8-control-scheduler
Jul 15, 2026
Merged

norbot7865 merged 1 commit into
masterfrom
norbot/issue-8-control-scheduler

Conversation

@norbot7865

Copy link
Copy Markdown
Collaborator

Summary

  • adds EventSetControl with deterministic same-frame category ordering
  • implements ctl scalar/map/scheduled/clamp forms, control-value, controls, and reset-control!
  • validates symbolic targets, finite/ranged values, scope, current note ownership, scheduling, and queue overflow
  • adds play {:params ...} with note-local controls applied after trigger setup and before the first rendered sample
  • rejects stale handles on the control side and rechecks owner IDs on the audio side
  • adds exact scheduled/applied control traces and lgs render --control-trace
  • exposes control apply/reject statistics and synth parameter introspection
  • adds block-size invariance over 64/128/256/512/1024, inspection/reset/stale-handle, raw nREPL ctl, and real audio tests
  • adds docs/controls.md, headless control fixture, and MP3 validation artifact

Validation

  • make acceptance
  • make test-controls
  • exact control trace: note velocity frame 0; level step frame 22050
  • all tested block sizes produce sample-identical output

Audio: examples/audio/issue-8-exact-control-step.mp3

Closes #8.

@norbot7865
norbot7865 merged commit 9eff9f2 into master Jul 15, 2026
4 checks passed
@norbot7865
norbot7865 deleted the norbot/issue-8-control-scheduler branch July 15, 2026 08:19
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.

Phase 3 / M3: Schedule exact-frame controls and per-note parameters

1 participant