Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 17:45

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.

image

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) added HSDAOH_UPSTREAM=1 as a global define, but that code path in gui_capture.c is an incomplete WIP reference implementation: it hard-disables MISRC simple-capture mode, has no stream_id==1 (ChB) handler (so channel B was silently dropped), and skips gui_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 to clamp(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 && ninja previously linked the stale system libhsdaoh.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.build now prefers .deps/install/lib/pkgconfig/hsdaoh.pc when present and links with an rpath to that libdir; CI guard tests (static + runtime ldd) 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/-lksuser GUI linker flags).

Build / CI

  • Linux AppImage jobs now fetch a prebuilt static libFLAC 1.5.0 from the harrypm/MISRC-ci-cache release (built on jammy/glibc-2.35, ABI-compatible with the ubuntu-22.04 runners) instead of failing on Ubuntu 22.04's stuck-at-1.3.3 libflac-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_PATH and CFLAGS/CXXFLAGS (-I .deps/install/include) before the hsdaoh configure so pkg_check_modules(flac) and hsdaoh_file's #include "FLAC/metadata.h" resolve against the vendored prefix, not the removed system libflac-dev. (78795fe, c12e41d)

  • Added a one-off Rebuild libFLAC CI cache workflow (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.MD after discovering a local-build validity gap: scripts/build-appimage-local.sh --native on a host with /usr/local/lib/libhsdaoh.so bundled a different libhsdaoh than the CI release AppImage, because the vendored-hsdaoh rpath was shadowed by the system libFLAC's /usr/local/lib rpath. 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, origin read-only, confirm push targets) to AGENTS.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