Skip to content
echophonPublic

About

monome grid for map.audio pam

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

Repository files navigation

pam_grid

A Monome Grid 128 controller for map.audio PAM: step editing, lanes, modulation, macros and variations from the grid, with PAM's screen following along.

Learning the grid: open docs/tutorial.html, the field guide (one printable section per part of the grid, with its controls). docs/grid-map.html is the interactive map, DESIGN.md the design, CONTEXT.md the terms.

Requirements

  • macOS, Node 22 or newer
  • A varibright Monome Grid 128 and serialosc running
  • PAM (plugin or standalone) with Settings → Experimental → Beta Features → Enable MCP Bridge on
  • An IAC MIDI bus named PAM-grid-in (Audio MIDI Setup → MIDI Studio → IAC Driver → add a port)

Install

git clone <this repo> pam_grid && cd pam_grid
npm install

Bitwig setup (PAM as a plugin)

In plugin mode PAM can't pick MIDI inputs itself, so Bitwig routes the grid's MIDI:

  • On PAM's track, set the input to IAC Driver PAM-grid-in, all channels.
  • Turn track monitoring on, so the grid reaches PAM without arming the track.
  • Let CCs through as well as notes: MACRO sends CC 1–8 on channel 1 to PAM's macro controls.

Run

npm start    # the daemon: grid ⇄ PAM. Ctrl-C clears the grid and exits.
npm test     # unit tests (no PAM or grid needed)

Open PAM's window so its screen can follow the grid (FOLLOW).

Setting Default
PAM_GRID_LOG=0 on turn off the command log (each key and what it sent)
PAM_GRID_INSTANCE first found pin a PAM instance id
PAM_GRID_OSC_PORT 13013 serialosc port for the daemon
PAM_GRID_MIDI_OUT PAM-grid-in the IAC port to send to

Saves and updates

Saving a variation (hold VAR, hold a cell key 1 s) writes your preset through PAM's own save. With no preset loaded, the first save creates User/pam_grid <date time>.preset. Every overwrite is backed up first to ~/Library/Application Support/pam_grid/backups/ (the last 50 are kept).

After updating PAM or pam-mcp, run npm run sync-contract so saves keep matching PAM's format, and npm run sync-macros so MACRO can show the values of macros your CCs are mapped to.

The field guide is generated: after changing the grid, update scripts/build-tutorial.py and run python3 scripts/build-tutorial.py.

About

monome grid for map.audio pam

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages