Skip to content

Sync the starter; compare the built VST3 with the renderer - #10

Merged
MaymiPR merged 6 commits into
mainfrom
chore/sync-starter
Nov 14, 2026
Merged

MaymiPR merged 6 commits into
mainfrom
chore/sync-starter

Conversation

@MaymiPR

@MaymiPR MaymiPR commented Nov 14, 2026

Copy link
Copy Markdown
Owner

Chan Sampler takes the starter's current files, keeps what its screenshots need in a module of its own, and gains
the check that the built VST3 equals the offline renderer.

Changes

  • The starter's files. The workflows, the check scripts, the repository check, STANDARDS.md, the reference
    hosts, the host test, the snapshot tool, the focus hand-back and the generated harness libraries are the starter's
    current ones. packaging/plugins.txt names the class stem, CLAUDE.md is new, and .github/dependabot.yml goes:
    the action pins come with the starter.
  • Screenshots. The drum loop and the snapshot calls move from scripts/make_screenshots.py into
    scripts/screenshot_content.py, which that script calls. The seven images come out byte for byte as before.
  • A library's name. The focus hand-back asks JUCE whether the host is FL by JUCE's own test. That name is
    JUCE's, so .provenance lists it on a uses: line and the vendor-word rule lets exactly that identifier pass.
  • The VST3 against the renderer. nulltest.py --vst3 plays eleven of the offline cases through the built VST3
    in the RefRender host and through CsRender, at the same rate, block and tempo, without FL. --fs gives the rate.

Proof

CHECK 2026-11-14 12:22 | 4f4300d | fl ok | repo ok | lint ok | build ok | warnings ok | vst3 ok | ctest ok | regress ok | pluginval ok | focus ok | null ok | 77 s

The VST3 equals the renderer at 44.1 kHz and at 96 kHz (worst case -308 dB, the floor of the measure). pluginval
passes at strictness 10.

🤖 Generated with Claude Code

MaymiPR and others added 6 commits November 14, 2026 11:25
The views of a sampler need a sample. The code that makes the drum loop
and calls the snapshot tool with it moves from make_screenshots.py into
scripts/screenshot_content.py, which that script calls. The seven
images come out byte for byte as before.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The workflows, the check scripts, the repository check, the standard,
the reference hosts, the host test, the snapshot tool, the focus
hand-back and the generated harness libraries are the starter's current
ones, written by its sync. plugins.txt names the class stem, CLAUDE.md
is new, and the Dependabot file goes: the starter owns the action pins.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The starter's focus hand-back asks JUCE whether the host is FL, by JUCE's
own test. Its name is JUCE's, not ours, so .provenance lists it on a
uses: line and the vendor-word rule lets exactly that identifier pass.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
nulltest.py --vst3 plays a set of the offline cases through the built
VST3 in the RefRender host and through CsRender, at the same rate, block
and tempo, and stops when they differ: the proof that the shipped binary
is the renderer the numbers were measured with. FL is not used. --fs
gives the rate, so the check script's null step runs at both of its
rates.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
GCC and Clang warn about a parameter that shadows a local of the
enclosing function, and CI allows no warning. The starter's file, by
its sync.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
A sixth badge in the README's row, built with Claude Code: the tool's
mark from the badge service, linked to the tool's page. It names a tool
that was used and claims no endorsement.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@MaymiPR
MaymiPR merged commit 3b2eb61 into main Nov 14, 2026
4 checks passed
@MaymiPR
MaymiPR deleted the chore/sync-starter branch November 14, 2026 20:22
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