modules/ is gitignored, so local Gin edits cannot live in the submodule.
They are stored in patches/ and re-applied (idempotently) before every
configure and build via 'make apply-patches'.
Also improve the submodule guard: git submodule update is a no-op here,
so print concrete restore instructions instead.
CMakePresets.json includes the gin toolchain presets, so configuring
fails with a bare "File not found" when the submodules are missing or a
git submodule update is in flight. Report the missing path and the fix
instead.
Stops the plugin polling socalabs.com/updates.xml, which was the only
thing raising the title bar menu button's pulsing alert colour, and
removes the background network traffic.
Build with a plain "make install": it builds via CMake presets, installs
the AU/VST3/CLAP bundles into ~/Library/Audio/Plug-Ins and syncs the
factory presets and wavetables to /Library/Audio/Presets, which is the
only location the plugin reads them from on macOS.
Adds a macOS Ninja Multi-Config preset for faster incremental builds, and
drops the VST format when the non-redistributable plugin_sdk submodule is
not checked out so the remaining formats still build.
- register plugin + ship Installer/crashreporter.json
- installer bundles the shared CrashReporter (mac pkg + component-plist +
reporter-scripts promote-if-newer; win .iss shared component) and the JSON
- strip shipped mac binaries; emit dSYM (Xcode) and PDB (/Zi /DEBUG) in Release
- launchCrashReporterOnce() from the processor on first instance
- upload dSYM/PDB symbols to the crash site from release.yaml
- bump to 1.0.33
Aligns with the chip-plugin repos:
- Use TAG (with v prefix) for gh release create, VER (stripped) for
Changelist lookup and upload.php's version field.
- curl --fail-with-body so server-side errors fail the workflow instead of
passing silently.
- Switch GH_TOKEN to the auto-provided GITHUB_TOKEN with explicit
contents:write permission, dropping the dependency on a per-repo
ACCESS_TOKEN PAT.
- Bump VERSION
- Add 'Created installers' entry to Changelist.txt
- release.sh now uses the new upload.php URL with plugin/version/changelog
form fields, replacing the old set.php endpoint
`security find-identity -v` was intermittently not seeing the imported
Developer ID Installer cert on the GitHub Actions macos-latest runner,
causing the .pkg to ship unsigned and Apple notary to reject it. Gate the
codesign / productsign branches on the env-var presence (which is what the
keychain bootstrap already gated on) instead.
Also surface notary rejection details on failure via `xcrun notarytool log`.
gin's loadDirectory() doesn't recurse, and the legacy BinaryData flow stored
presets flat in the user dir. Installer/build.sh now stages a flat copy under
Installer/_flat_presets/ which the Inno Setup script and macOS pkg both
consume; CMakeLists installs the same flat set on Linux.
Replaces the zip-based ci/build.sh flow with installer outputs (Inno Setup
on Windows, productbuild on macOS, cpack DEB on Linux) signed via Microsoft
Trusted Signing on Windows and Apple Developer ID on macOS.
Plugin code: factory wavetables and presets now ship as files via the
installer rather than embedded BinaryData. PluginProcessor implements
getProgramDirectory/getFactoryProgramDirectories so gin scans factory
content from systemResourceRoot. First-run migration copies any presets
from the legacy com.socalabs/Wavetable/programs path into the new user
dir under Library/Audio/Presets/SocaLabs/Wavetable.
Bumps gin submodule to match Identity for getFactoryProgramDirectories
support.