* rade_reporting_mpp: put the whole recording through the fading channel.
ch's MPP fading file holds 60 s of fading and ch stops when it runs
out, so only the first 60 s of the ~100 s recording reached the
receiver: about 4 of the 7 overs, rather than all of them, to decode
the callsign from. When none of those 4 did, the test failed. ch is now
given a fading file three times as long (the original's samples
repeated), made when the test runs.
The script also now checks ch's exit status, and fails without
receiving anything if ch stopped part of the way through, rather than
silently testing with what was left.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013G7dQDriDiWypo4B3J83gx
* Initialize PlotPanel's sync state.
sync_ was only ever set by the waterfall's constructor and by
setSync(), so the spectrum plot could paint its sync tuning line before
its first timer tick from an uninitialized bool (found by UBSan in the
macOS GUI tests: "load of value 96, which is not a valid value for
type 'bool'" at plot_spectrum.cpp).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013G7dQDriDiWypo4B3J83gx
* Add PR #1572 to changelog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013G7dQDriDiWypo4B3J83gx
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>