Skip to content

Keep the plug-in directly in plugin/ - #9

Merged
MaymiPR merged 1 commit into
mainfrom
chore/flatten-layout
Nov 11, 2026
Merged

MaymiPR merged 1 commit into
mainfrom
chore/flatten-layout

Conversation

@MaymiPR

@MaymiPR MaymiPR commented Nov 11, 2026

Copy link
Copy Markdown
Owner

Keep the plug-in directly in plugin/

A suite of one plug-in keeps it in plugin/ (singular), without a folder named by its id; the folder name states the shape (plugins/<Id>/ is a suite of several). Nothing user-facing changes, so the CHANGELOG has no line.

What moves

From To
plugins/ChanSampler/ (plugin.cmake, Source/, tests/, tools/, nulltest/, the four documents) plugin/
measurements/ChanSampler/* measurements/*
tests/regress/ChanSampler/* (jobs.txt, golden/) tests/regress/*

194 files are renames; 19 files change in place.

What follows the move

  • Every path that names a moved file: the include() line in CMakeLists.txt, .provenance, .gitignore, README.md, CONTRIBUTING.md, docs/BUILDING.md, the issue contact link, requirements.txt, and the comments in the plug-in's sources and scripts.
  • plugin/nulltest/paths_lib.py: the repository root is two levels up and the measured data is measurements/.
  • The starter's scripts, which tell the two shapes apart by the folder (check.ps1, check.sh, check_repo.py, render_regress.py, bump_version.py, make_site.py, build_native.py), STANDARDS.md, the release checklist and tests/regress/README.md; two comments in tools/HostTest.cpp and tools/Snapshot.cpp take the starter's wording.

What stays

The targets, packaging/plugins.txt, build/ChanSampler_artefacts/, build/plugins/, the screenshot names, the local.yaml keys, the codes, class IDs and parameter IDs.

Proof (Windows, the build folder removed first)

Check Result
scripts/check.ps1 -KeepFl repo ok, build ok, warnings 0, vst3 ok, ctest 5 of 5, render regression 21 of 21 (markdownlint, yamllint and actionlint are not installed on this machine: lint skipped)
Regression outputs against a build of main 21 of 21 sha256-identical
Renderer sweep, every case at 44.1, 48 and 96 kHz, against a build of main 63 of 63 sha256-identical
moduleinfo.json (class IDs) byte-identical (1111 bytes)
A state saved by the host test (162 parameters) and its parameter texts byte-identical (9492 bytes, 162 lines)
plugin/nulltest/paths_lib.py the repository, measurements/ (28 entries), the renderer and the signals folder resolve; all 90 Python scripts compile
git grep for plugins/ChanSampler, measurements/ChanSampler, tests/regress/ChanSampler only CHANGELOG.md
git grep "plugins/" outside CHANGELOG.md 26 lines: 5 name build/plugins/, 21 are the standard's statements about plugins/<Id>/ in STANDARDS.md and the starter's scripts
scripts/check_repo.py --release 0 findings in 225 text files
check_consistency.py --public --history 89 checks, 0 FAIL
sync_template.py --check --shape single 30 files match, 0 differ, no layout line

The null tests that render through FL Studio were not run.

After the merge, on a checkout that has local files

Git-ignored files do not move with the commit. Move by hand, from plugins/ChanSampler/nulltest/ to plugin/nulltest/: renders/, renders_fl/, ours/, probe/, local/, fst/, signals/ (the generated .wav files), plugin_ref.flp/, fmt_test.flac, fmt_test.mp3, fmt_test.ogg, syn_*.wav and any results*.json; then delete the emptied plugins/, measurements/ChanSampler/ and tests/regress/ChanSampler/. Configure in a fresh build folder, or delete build/CMakeCache.txt first: the include path changed. The DAW junction on build/plugins is unchanged.

🤖 Generated with Claude Code

A suite of one plug-in keeps it in plugin/, without a folder named by
its id: the plug-in's sources, tests, tools, null tests and documents
move from plugins/ChanSampler/ to plugin/, the measured data from
measurements/ChanSampler/ to measurements/ and the regression cases and
goldens from tests/regress/ChanSampler/ to tests/regress/. The folder
name states the shape: plugin/ holds one plug-in, plugins/<Id>/ one of
several. Every path that names a moved file follows, the null tests'
path module included, and the starter's scripts, which tell the two
shapes apart by the folder, are brought in.

The targets, the build outputs, the screenshot names and the frozen
identity are unchanged; the renderer's output is bit-identical.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@MaymiPR
MaymiPR merged commit 92e99e4 into main Nov 11, 2026
5 checks passed
@MaymiPR
MaymiPR deleted the chore/flatten-layout branch November 11, 2026 22:21
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