# Dites33 A2 plug-in

A dedicated VST3, Audio Unit, and standalone macOS plug-in built around the
`Dites33_12oclock_A2.nam` capture.

The neural model represents the physical pedal with its control at 12 o’clock.
The large on-screen **LEVEL** control is a faithful post-model level trim centred
at that captured setting; it does not interpolate uncaptured physical knob
positions. Input and output trim are provided for gain staging. **A2 FULL** uses
the full model and **A2 ECO** selects the trained lightweight submodel.

The embedded model runs at its native 48 kHz. A real-time Lanczos sample-rate
converter is automatically used when the host runs at another sample rate.
Realtime buffers are allocated during host preparation, never while processing
audio. If a host violates its announced maximum and sends a block above 16,384
frames, that out-of-contract block falls back to transparent dry audio.

## Install

- Copy `Plug-Ins/VST3/Dites33 A2.vst3` to
  `~/Library/Audio/Plug-Ins/VST3/` for Cubase and other VST3 hosts.
- Copy `Plug-Ins/Components/Dites33 A2.component` to
  `~/Library/Audio/Plug-Ins/Components/` for Logic Pro and other AU hosts.
- The application in `Standalone/` can be launched without a DAW.

After copying, restart the DAW so it rescans plug-ins. On this development Mac,
the VST3 and Audio Unit are already installed in those locations.

Because this developer preview is not Apple-notarized, macOS may block its first
launch. If that happens, open **System Settings → Privacy & Security**, approve
the blocked Dites33 item, then reopen the host. The public release build script
requires notarization before it can create a distribution package.

## Controls

- **INPUT**: drives the captured pedal model from -12 to +12 dB. Changes are
  smoothed over 5 ms to avoid zipper noise during automation.
- **LEVEL**: post-model gain from -18 to +18 dB, centred on the physical
  12-o'clock capture.
- **OUTPUT**: final output trim from -12 to +12 dB, also smoothed over 5 ms.
- **A2 ENGINE**: FULL uses the larger packed A2 submodel; ECO uses the smaller
  submodel.
- **Footswitch**: true bypass. The LED is lit when the model is engaged. Bypass
  transitions use a 12 ms equal-path crossfade; once settled, bypass is
  bit-transparent.

## Build

```sh
cmake -S . -B build-universal -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
  -DCMAKE_OSX_DEPLOYMENT_TARGET=13.0
cmake --build build-universal --config Release
ctest --test-dir build-universal --output-on-failure -C Release
```

For a reproducible ad-hoc-signed development package, run
`scripts/package_preview_macos.sh`. For public distribution, configure a
Developer ID Application identity and a `notarytool` keychain profile, then run
`scripts/build_release_macos.sh`. The release script signs, submits, staples,
validates, packages, and hashes the three formats without placing credentials
on the command line.

JUCE 9 is dual-licensed under AGPLv3/commercial terms. A commercial release
must comply with the applicable JUCE licence. NeuralAmpModelerCore is MIT
licensed; the real-time resampling code carries its permissive iPlug2 notice.
