Skip to main content

Troubleshooting

Most Pad-Lattice problems fall into one of three areas: MIDI ownership, Launchpad mode, or socket mismatch.

No LEDs Change

Check that Pad-Lattice can see the Launchpad:

pad-lattice ports

Then start with the hardware demo:

pad-lattice demo

If the demo does not change the LEDs:

  • Confirm the Launchpad Pro Mk1 is attached to the same machine or VM where Pad-Lattice is running.
  • Confirm USB passthrough is assigned to the VM if you are using virtualization.
  • Stop Ableton Live, browser MIDI tools, or any other app that may own the Launchpad MIDI ports.
  • Pass explicit port names if auto-detection chooses the wrong port:
pad-lattice demo --input "Launchpad Pro" --output "Launchpad Pro"

Only One Green Button Is Lit

This usually means the Launchpad is not fully under Pad-Lattice control yet, or the wrong MIDI port is being used.

Try:

pad-lattice demo --no-greeting

If that still does not render the state display, run:

pad-lattice monitor-midi

Press a few pads. If no messages appear, the input port is wrong or another process owns the device.

Daemon Starts but Codex Does Not Update LEDs

Use one socket path everywhere:

export PAD_LATTICE_SOCKET=/tmp/pad-lattice.sock

Start the daemon in one terminal:

.venv/bin/pad-lattice daemon --no-greeting --terminal-hold 1.5

From another terminal, test the same socket:

export PAD_LATTICE_SOCKET=/tmp/pad-lattice.sock
.venv/bin/pad-lattice send-state running
.venv/bin/pad-lattice send-state waiting_for_reply

If this works, the daemon is healthy and the problem is in the agent integration layer.

Pad Actions Do Not Reach the Terminal

First verify that the daemon emits actions:

.venv/bin/pad-lattice listen-actions

Press the control pads:

PadExpected action
11approve
12reject
17retry
18stop

If actions appear there, the hardware and daemon are working. The remaining piece is the agent-side listener or adapter.

Another Process Owns the MIDI Port

Only one process can own the Launchpad MIDI ports at a time. Stop any existing demo or daemon process before starting another one:

ps -ef | grep pad-lattice

Then stop the stale process from the terminal where it is running, or kill it if needed.

GitHub Pages Does Not Update

The documentation workflow is intentionally on demand. After pushing, open the repository Actions tab and run:

Documentation

That workflow builds docs-site/, verifies the search index, uploads the Pages artifact, and deploys the site to GitHub Pages.