tap.808.seq~ + tap.303.seq~: the sequencers (plan, objects, vertical slices)#52
Merged
Merged
Conversation
The shared step-sequencer plan both family plans deferred to: one kernel engine (step_seq.h, phase-clocked from phasor~) with two thin per-family emitters — tap.808.seq~ (trigger row, amplitude-as-accent impulses) and tap.303.seq~ (pitch + gate line with gate-hold slide). Cross-references added to plans/tap.808.md §6 and plans/tap.303.md §6. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
Shape (one engine, two family wrappers), phase-driven clocking with no clock object in v1, and pattern slots with quantized recall — all three approved 2026-07-18; the non-blocking recommendations accepted in principle, to be confirmed at their slices. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
The coordinated phase 3 of both Roland families, per plans/tap.seq.md (author-approved 2026-07-18): thin Min wrappers over the kernel's shared step engine (step_seq.h, pinned at the submodule bump in this commit). - tap.808.seq~ — one drum row: phasor~ phase in, amplitude-as-accent impulses out (plain 0.01 = the 4 V base bus, accented 0.5 = accent knob at noon), hits/accents/velocities surfaces, @Pulse widening, swing, polymeter via @Length, 16 slots with quantized recall, todict/fromdict, and a 1-based step-index UI outlet (coalescing audio->scheduler handoff, the tap.sift~ idiom). - tap.303.seq~ — the acid line: emits the tap.303~ pitch + gate pair (1.0/2.0 accent amplitudes, gate duty 0.5 per Open303), slide as gate-hold across the boundary, per-step pitch/gate/accent/slide, live @transpose, the same slots/dict/step-outlet surface. Vertical slices: min-api unittests for both (compiled and run against the mock kernel — also caught two min-api dict API gaps, worked around via dictionary_appendatoms), maxrefs, help patchers, maxtest starters. help/tap.808.maxhelp rebuilt on real rows (one phasor~, nine rows — the metro/counter/sel pattern retired); help/tap.303.seq~.maxhelp supersedes the tap.303~-pattern.maxpat dry run, which stays as the event-domain alternative. RELATED cross-links added to tap.303~ and tap.808.kick~. REVIVAL.md §7 entry + family-section updates; plan statuses closed out. Runtime validation in Max still pending, as everywhere. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
…pin bump Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
… notes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
The kernel PR (tap/TapTools#16) was rebase-merged, so the branch commits took new SHAs on main; the pin now points at main's head instead of the about-to-be-deleted branch history. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The package half of the coordinated phase 3 both family plans deferred to. Contains the design of record (
plans/tap.seq.md, drafted, §6-approved, and implemented 2026-07-18), the two new objects with full vertical slices, and the doc/patcher updates.The plan —
plans/tap.seq.mdAnswers the coordination question both
plans/tap.808.md§6 andplans/tap.303.md§6 left open: the sequencers share at the kernel level, not the object level — one engine (step_seq.hin tap/taptools) with two thin per-family emitters. Blocking decisions approved: the two-object shape (808-plan option (b) unified with the 303 emitter), phase-driven clocking fromphasor~with no clock object in v1, and pattern slots with boundary-quantized recall as the A/B-half / fill mechanism. Both family plans' §6 sections marked resolved.The objects
tap.808.seq~— one drum row: phase ramp in, amplitude-as-accent impulses out (the tap.808.* trigger contract; plain 0.01 = the 4 V base, accented 0.5 = accent knob at noon).hits/accents/velocitiessurfaces,@pulsewidening,@swing, polymeter via@length, 16 slots with quantizedrecall,todict/fromdict, and a 1-based step-index UI outlet (coalescing audio→scheduler handoff, the tap.sift~ idiom).tap.303.seq~— the acid line: emits thetap.303~pitch + gate pair (1.0/2.0 accent amplitudes, gate duty 0.5), slide as gate-hold across the boundary, per-step pitch/gate/accent/slide, live@transpose, same slots/dict/step-outlet surface.Vertical slices
dictionary_appendatoms).help/tap.808.maxhelprebuilt on real rows — onephasor~, nine rows (the hat gets closed + open), the metro/counter/sel pattern retired.help/tap.303.seq~.maxhelpsupersedes thetap.303~-pattern.maxpatdry run, which stays as the event-domain alternative.RELATEDcross-links added totap.303~andtap.808.kick~; REVIVAL.md §7 entries.Submodule
Pins tap/taptools at the head of the same branch (the engine, the
step_seq.ipynbverification notebook, and the book's rhythm-section chapters). Merge tap/TapTools#16 first, then this.CI
build(macOS universal + Windows + ctest) andTap House Style(clang-format + clang-tidy + drift) are green on the code head. Runtime validation in Max on a licensed install remains open, as for every object in the package — the maxtest starters and help patchers are the material for it.🤖 Generated with Claude Code
https://claude.ai/code/session_01JZivyxyBdHYd8sVf8AdUbN
Generated by Claude Code