diff --git a/tools/testhost/TODO.md b/tools/testhost/TODO.md index 8718a09..2769715 100644 --- a/tools/testhost/TODO.md +++ b/tools/testhost/TODO.md @@ -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