Skip to content

fix(linux): hide NAM symbols so two plugin formats can share a host - #98

Merged
woodybury merged 1 commit into
mainfrom
fix-linux-hide-symbols
Sep 12, 2026
Merged

woodybury merged 1 commit into
mainfrom
fix-linux-hide-symbols

Conversation

@woodybury

Copy link
Copy Markdown
Member

Summary

Fixes #59

Test plan

CI does not run on pull requests. A maintainer can dispatch Build Plugin from the Actions tab when they want a full signed build. Run the local checks this PR can break:

  • DSP: ./script/test-dsp.sh (or N/A: no audio/chain/state change)
  • UI: cd ui && npm run lint && npm run build (or N/A: no ui/ change)
  • Host validators, if you touched the processor, editor, or plugin wrappers: ./script/validate-plugin.sh (pluginval strictness 10 for VST3/AU, clap-validator, lv2lint). AAX and Standalone are skipped by that script.
  • Host smoke (DAW + format + sample rate), if this is user-visible

If you changed DSP behavior on purpose, update the GoogleTest in the same commit and say why.

Compatibility

These are contracts from the first public release. Leave unchecked only if this PR does not touch that surface.

  • AU parameter version hints in Processor.cpp are not reused or renumbered
  • LV2 URI and CLAP ID in plugin/CMakeLists.txt are unchanged
  • State format is unchanged, or kStateSchemaVersion is bumped and the old tree is handled explicitly
  • README / plugin/docs/ updated if the public build or behavior changed

@woodybury woodybury mentioned this pull request Sep 8, 2026
1 task
@woodybury
woodybury merged commit 6e5823b into main Sep 12, 2026
5 checks passed
Shayshez added a commit to Shayshez/tone3000-plugin that referenced this pull request Sep 13, 2026
Syncs with upstream through PR tone-3000#98 (34 commits ahead of the prior
sync point at ce486d7): the iOS/iPad touch adaptation (tone-3000#108), the
chain-gallery scroll-restore fix (tone-3000#123, already reconciled with our
own scroll-restore work below), the model-dropdown scroll fix (tone-3000#106,
already present here via cherry-pick 9ae6aa4), the model-cache-bloat
fix (tone-3000#128), Linux JACK/symbol-hiding fixes, Windows MSVC static
runtime and WebView2 bootstrap fixes, and the v0.0.9 version bump.

test/CMakeLists.txt: trivial re-sort of two independently-added test
source entries (ir_category/content_length/decay_tests.cpp from us,
factory_preset_tests.cpp from upstream).

ChainView.tsx: reconciled the two independent scroll-restore rewrites.
Adopted upstream's simpler foundation (a single ref callback that
restores CHAIN_SCROLL_STORAGE_KEY on attach and persists it
continuously on scroll, avoiding the ref-detachment-timing bug our
own mechanism worked around a harder way) and layered our
index/id-based tile recentering on top of that same restore point, so
a closed or vanished detail block's tile is still recomputed by
position rather than replayed as a raw offset (needed for correctness
when the chain reshaped while the takeover was open). Kept the
ChainMapStrip-specific "wait for a newly-added block to resolve before
treating it as vanished" guard (confirmedDetailBlockIdRef /
awaitingDetailBlock), which has no upstream equivalent.

Verified via a disposable trial merge that no other file's overlap
(GalleryBlock.tsx, Plugin.tsx, ProcessorState.cpp, ChainBlock.h,
plugin/CMakeLists.txt) produces a silent behavioral conflict — all
touch genuinely disjoint regions. helpText.ts's touch-copy gap
(envelope help strings not covered by the new touchify() pass) is
addressed in a separate follow-up commit.

Full DSP suite (166 tests), UI typecheck, build, and lint all pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vdPmCnApN64Q8LxKc3kmh

This branch was previously deployed

1 inactive deployment
builds 2b310976 Deployed Sep 8, 2026 by woodybury via iOS Simulator #160
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Linux: crashes Ardour

1 participant