Wiki home
When something breaks

Troubleshooting

Symptom, cause, fix: no sound, compile errors, dead knobs, frozen modulation, blank previews, failed exports, and plugins that hide from your DAW.

Plugin makers who want a fast path from a broken session back to sound.

Most Patchwerk problems come down to asking the wrong layer. Three programs run during a session — the editor, the audio engine, and your plugin's UI preview — and each owns different failures. Find your symptom below, then jump to the matching section.

Symptom map

SymptomMost likely causeFirst thing to try
No sound at allCompile error, audio device, or unwired outputCheck the status indicator on the graph canvas
Red/amber compile statusAn error in your patch or custom blockRead the full message in the Console panel
Knob does nothing to the soundParameter not exposed, or control not boundRe-check the binding in the DESIGN inspector
Modulation ring shows, sound doesn't moveSlot amount at zero or modulator stoppedClick the ring, raise the amount
UI preview blank or stalePreview app still installing/startingWait for the build output in the Console, then reopen the project
Custom block missing from paletteInvalid block.json or wrong folder layoutCheck the Console for block-registry errors
Export fails at a stepToolchain, signing, or a silent buildRe-run Setup Check; read the failing step's log
Plugin invisible in your DAWNo rescan, wrong format, or install was offRescan plugins; confirm the format was selected
AI assistant won't respondOut of credits, expired login, or offlineCheck credits on your account, sign in again

No sound

Work down this list — it is ordered by how often each one is the culprit:

  1. Compile state. The floating status on the graph canvas should be green ("running"). Amber means your patch is still compiling or failed to compile — no new patch, no sound. See the next section.
  2. Audio device. Open Settings → Audio / MIDI and confirm the right output device is selected. Headphones that disconnected mid-session are a classic.
  3. Wiring. Signal must reach the Output block. A chain that dead-ends at a filter is silent by design.
  4. MIDI. Instruments need notes. Check Settings → Audio / MIDI for your MIDI input, or play the on-screen keyboard to rule the controller out.
  5. Gain staging. A gain block at zero, an envelope that never opens, a filter cutoff modulated into the floor — sweep the suspects while playing.

Tip The heartbeat dot next to the master meter tells you whether the audio engine itself is alive: green means audio is flowing through the engine, red means it has stalled. If it is red with everything else looking right, restart Patchwerk.

Compile errors

When your patch fails to compile, the graph canvas status turns amber and the full error lands in the Console panel at the bottom of the window — including which block and line of DSP code is at fault for custom blocks.

The fastest fix is often the assistant: it can read the current compile status itself, so typing "fix the compile error" in chat works without pasting anything.

A knob that doesn't affect the sound

Binding has two halves, and a missing either one fails silently:

  1. Exposed? In the DSP tab, open the block's inspector and confirm the parameter is exposed (the small circle next to it is filled). Only exposed parameters can drive UI controls.
  2. Bound? In the DESIGN tab, select the control and check the binding dropdown points at the parameter you meant — a knob bound to the wrong parameter looks identical to a broken one.

If both check out, look at the control's range: a min and max set very close together moves the sound so little you may not hear it.

Modulation assigned but nothing moves

The colored ring around a knob proves the route exists — not that it does anything:

  • Click the ring to open the slot editor and check the amount. New routes with the amount near zero are the usual cause.
  • Check polarity: a unipolar route pushing "up" on a parameter already at maximum has nowhere to go.
  • Confirm the modulator itself is running — an LFO at an extremely slow rate or an envelope waiting for a note that never arrives looks frozen.

UI preview blank or not updating

Your plugin's interface runs as its own small live app inside the design canvas — separate from the editor and the audio engine. The first time a project opens (and after dependency changes) that app gets installed and started, which takes a moment; watch the build output stream into the Console. If the preview stays blank after the build settles, an error in your UI code is the next suspect — it shows up in the preview's own console output, not the editor's. Closing and reopening the project restarts the preview app cleanly.

Custom block not in the palette

A custom block must live in your project at blocks/<name>/ with two files: a block.json manifest and a dsp.cmajor source. Blocks that fail validation are skipped — silently in the palette, loudly in the Console, which logs exactly what the manifest got wrong. Fix the file, then reopen the project to reload the block library.

Export fails

The export dialog shows which step failed and why; each run also keeps a full log in your project under build/export/run-<timestamp>/.

  • Preflight — the toolchain is incomplete. Run Setup Check from the app menu; usually it is the Xcode Command Line Tools needing an install or update.
  • Code signing — note that a missing Developer ID certificate does not fail the build; it falls back to ad-hoc with a warning. An actual signing failure is rare and logged in detail.
  • Validate audio output — your plugin built but produced silence when played. Check that signal reaches the Output block and that your current knob positions (which the export snapshots) aren't muting it.

Plugin missing in the DAW

  • Rescan. Most DAWs only scan plugins on startup. Restart the DAW or trigger a rescan in its plugin preferences.
  • Right format? Confirm the format your DAW needs was actually selected in the export dialog — Logic wants Audio Unit, Bitwig prefers CLAP.
  • Installed? With Install to system off, nothing is copied to ~/Library/Audio/Plug-Ins/ — the bundles stay in the project's export folder for you to move manually.
  • Logic being Logic. Logic Pro validates Audio Units before listing them; first scans take a while. Look under the manufacturer name from Project Settings, not the project name.
  • Shared to another Mac? Ad-hoc-signed plugins trip Gatekeeper on other machines. Re-export with Developer ID signing for sharing.

AI assistant errors

  • Out of credits — the assistant runs on your account's credits; when they hit zero, requests are refused. Top up from your account page on the website.
  • Login expired — sign out and back in from the app. The assistant needs a live session even though your audio and files do not.
  • Offline — the assistant is the one part of a session that requires internet. Editing, compiling, and sound keep working without it.