testhost: trim resolved coverage-gap note in TODO.md

The chunk-advertisement misdiagnosis is already fully disproved and
documented in tests/README.md's "corrected finding" section; condense the
TODO.md entry to a one-line resolved note instead of duplicating the full
narrative, keeping only the genuinely still-open question (why specific
old external .fxp sample files fail to apply).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011dhtwRLARk4eiPngcQykLJ
This commit is contained in:
2026-07-27 21:56:33 +02:00
co-authored by Claude Sonnet 5
parent d7cf5b7399
commit 374fc151f0
+12 -20
View File
@@ -59,26 +59,18 @@ verified (PR https://git.jayfield.org/jens/JaySynth/pulls/1).
- [ ] **Bundled sample `.fxp` files under `extras/sounds/` silently have no
effect when loaded via `--patch`** (confirmed by diffing `--printParams`
output with and without `--patch` - zero parameters differ), even though
loading doesn't crash. **Correction**: an earlier version of this entry
claimed this was because JaySynth's compiled VST2 wrapper never sets
`effFlagsProgramChunks`, so JUCE's host-side `usesChunks()` would see
false and skip the chunk mechanism entirely. That diagnosis was wrong -
disproved directly: `--saveBank`/`--savePatch` (the exact same generic
`AudioProcessor::getStateInformation` path) produce real `FBCh`/`FPCh`-
magic, GZIP-compressed-XML files (confirmed via hex dump and by feeding
the raw inner chunk bytes straight to `effSetChunk` via the new
`Vst2RawChunk` bypass, added specifically to rule this out - still no
effect). So `usesChunks()` genuinely is true, and `test_chunk_roundtrip`
in `tests/run_tests.sh` proves the real `bankEncodeXml`/`bankDecodeXml`
path round-trips correctly for files this build produces. The actual
cause of the *external* sample files failing is still unidentified -
most likely those specific (10+ year old) files use a compression or
XML-schema shape that `JaySynthAudioProcessor::setCurrentProgramState-
Information`/`getXmlFromBinary` no longer parses, not a host/plugin
capability mismatch. Not one of the tracked repo-root `TODO.md` findings.
Worth a closer look at some point (e.g. hex-diff one of these files'
decompressed XML against what this build produces), but not chased
further here. See `tests/README.md`'s "corrected finding" note.
loading doesn't crash. Resolved: this is *not* a host/plugin capability
mismatch - `usesChunks()` is genuinely true and `test_chunk_roundtrip` in
`tests/run_tests.sh` proves the real `bankEncodeXml`/`bankDecodeXml` chunk
path round-trips correctly for files this build produces (see
`tests/README.md`'s "corrected finding" note for the full disproof). What
remains open is narrower: why these specific (10+ year old) *external*
sample files fail to apply - most likely a compression or XML-schema
shape that `JaySynthAudioProcessor::setCurrentProgramStateInformation`/
`getXmlFromBinary` no longer parses. Not one of the tracked repo-root
`TODO.md` findings; worth a closer look at some point (hex-diff one of
these files' decompressed XML against what this build produces), but not
chased further here.
- [ ] **DPF-based plugins print a non-fatal assertion on load.** All three
Zam*-vst.so plugins tested (built with the DISTRHO Plugin Framework) print
`assertion failure: "fIsActive" in .../DistrhoPluginInternal.hpp` during