testhost: confirm multi-channel WAV output works via Pianoteq 8 (5 out)

Resolves the open question in TODO.md about whether WavAudioFormat's
"must be 1 or 2 channels" doc comment is an enforced limit - a
5-channel plugin recorded a valid, non-silent WAV with no clamping.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JAZXxJbHD7PzdKaNE6Nuiv
This commit is contained in:
2026-07-27 22:40:46 +02:00
co-authored by Claude Sonnet 5
parent c4f48f6e6d
commit 9f26df3dbe
+8 -6
View File
@@ -80,14 +80,16 @@ verified (PR https://git.jayfield.org/jens/JaySynth/pulls/1).
DPF/JUCE VST2 lifecycle-ordering quirk rather than a testhost bug, but it
hasn't been root-caused - worth a closer look if it turns out to affect
correctness (not just log noise) for some other plugin.
- [ ] **`WavAudioFormat`'s base-class doc comment says channel count "must
- [x] **`WavAudioFormat`'s base-class doc comment says channel count "must
be either 1 or 2"** (`AudioFormat::createWriterFor`'s Doxygen comment).
`WavRecorder` passes through whatever `PluginHost::getNumOutputChannels()`
reports with no clamping, and this has worked fine for the 1- and 2-channel
plugins tested so far - but a plugin with more than 2 output channels
hasn't been tried, so it's unconfirmed whether JUCE's WAV writer actually
enforces that limit or the doc comment is just generic/stale boilerplate
shared across format subclasses.
reports with no clamping. Resolved: Pianoteq 8 (`Pianoteq 8.so`, V8.3.2)
loads as 0 in / **5 out** and rendered a held-note test cleanly through
`--wav` - the output is a valid, non-silent 5-channel/24-bit/44.1kHz WAV
(verified with Python's `wave` module: correct `nchannels`/`nframes`,
non-zero sample data). No clamping or writer error occurred, so the doc
comment is stale/generic boilerplate, not an enforced limit in this JUCE
version.
## Nice-to-have (not planned, just noted)