v1.1.0
v1.1.0
FLAC multithreaded encode + vendored hsdaoh + HSDAOH/MISRC + ChB connect fix (Linux/macOS)
Important
This release replaces the initial v1.1.0 publish (2026-07-04 15:14 UTC), which contained a regression that broke HSDAOH/MISRC connect and CXADC channel B on Linux/macOS. The tag was force-moved to the fixed commit and the release rebuilt. If you downloaded v1.1.0 before 2026-07-04 17:45 UTC, please re-download — the earlier assets fail to connect to hardware on Linux/macOS.
Highlights
-
Minor GUI tweaks for both production and dev testing sanity.
-
Fixed: HSDAOH/MISRC connect + CXADC ChB on Linux/macOS. The initial v1.1.0 (PR #12, commit
2eaec01) addedHSDAOH_UPSTREAM=1as a global define, but that code path ingui_capture.cis an incomplete WIP reference implementation: it hard-disables MISRC simple-capture mode, has nostream_id==1(ChB) handler (so channel B was silently dropped), and skipsgui_capture_configure_handler(frame parser never initialized). On Linux/macOS this meant HSDAOH devices captured 0 frames with 131 errors and CXADC ChB was broken. The define is now Windows-only — Windows keeps PR #12's connect fix verbatim; Linux/macOS restore the complete v1.0.9 MISRC raw-callback + frame-parser path (both channels). Hardware-verified against a CI-built AppImage bundling the byte-identical vendored libhsdaoh as v1.0.9: HSDAOH 24933 frames / 0 errors, CXADC 4483 frames / 0 errors. (96f6fb7) -
FLAC multithreaded encode is now enforced. Level-8 FLAC capture was previously single-threaded per channel — at 40 MSPS (80 MB/s/ch) it fell behind real-time and forced the record spill file to open even on fast SSDs, while the remaining cores sat idle. The build now hard-requires libFLAC >= 1.5.0 (which adds
FLAC__stream_encoder_set_num_threads, libFLAC API v14) and auto-resolves the per-channel thread count toclamp(online_cores/2, 4, 8)instead of libFLAC's default of 1. On an 18-core machine this is 8 threads/ch (was 1). A stale libFLAC 1.4.x can no longer silently produce a single-threaded binary — meson fails configure instead. (f736b5e) -
Local builds now mirror CI's vendored hsdaoh. A bare local
meson setup && ninjapreviously linked the stale systemlibhsdaoh.so.0.1.0(pre-v1.0.9, missing the HSDAOH-RPI2350 connect fixes), causing "attempt to claim already-claimed interface 1" with no warning.meson.buildnow prefers.deps/install/lib/pkgconfig/hsdaoh.pcwhen present and links with an rpath to that libdir; CI guard tests (static + runtimeldd) added to prevent the regression recurring silently. (997cf05) -
Resolved HSDOAH no-go (PR #12 by @machcnz) — Windows HSDAOH connect fix preserved (Windows-only define +
-lavrt/-lksuserGUI linker flags).
Build / CI
-
Linux AppImage jobs now fetch a prebuilt static libFLAC 1.5.0 from the
harrypm/MISRC-ci-cacherelease (built on jammy/glibc-2.35, ABI-compatible with theubuntu-22.04runners) instead of failing on Ubuntu 22.04's stuck-at-1.3.3libflac-dev. arm64 falls back to building from the cached upstream source tarball until its arch-specific prebuilt is uploaded. (d4cede5) -
Fixed vendored FLAC visibility to hsdaoh's CMake: export
PKG_CONFIG_PATHandCFLAGS/CXXFLAGS(-I .deps/install/include) before the hsdaoh configure sopkg_check_modules(flac)andhsdaoh_file's#include "FLAC/metadata.h"resolve against the vendored prefix, not the removed systemlibflac-dev. (78795fe,c12e41d) -
Added a one-off
Rebuild libFLAC CI cacheworkflow (flac-cache.yml) to build and upload the prebuilt libFLAC for a chosen arch to the cache release. -
Added four HARD CI MIRROR RULES to
AGENTS.MDafter discovering a local-build validity gap:scripts/build-appimage-local.sh --nativeon a host with/usr/local/lib/libhsdaoh.sobundled a different libhsdaoh than the CI release AppImage, because the vendored-hsdaoh rpath was shadowed by the system libFLAC's/usr/local/librpath. Local builds that bundle system libs are not representative of the published artifact; tests against them are invalid. (96f6fb7) -
Added hard VCS scope rules (fork-first,
originread-only, confirm push targets) toAGENTS.MD. (7ed93e0) -
Removed obsolete
CMakeLists-v1.txt. (dc7cb2a)
Downloads
| Operating System | Minimum OS | x86_64 (Intel / AMD) | arm64 (Apple Silicon / aarch64) |
|---|---|---|---|
| Microsoft Windows | 10 (1803) | windows_MISRC_v1.1.0_x86.zip |
windows_MISRC_v1.1.0_arm64.zip |
| Apple macOS | 10.15 | macos_MISRC_v1.1.0_universal.dmg (x86_64 + arm64) |
macos_MISRC_v1.1.0_universal.dmg |
| Linux | libc6 2.35 (Ubuntu 22.04) | linux_MISRC_v1.1.0_x86.zip |
linux_MISRC_v1.1.0_arm64.zip |
Note
The arm64 Windows build is untested and considered experimental.
What's Changed
Full Changelog: v1.0.9...v1.1.0