AC Max for Live Devices #
This directory contains Max for Live device source files for Aesthetic Computer.
AC Notepat #
A Max for Live instrument that embeds the Aesthetic Computer notepat piece using jweb~ (audio-enabled web browser).
Building #
# Build the .amxd file
python3 build.py
# Build and install to Ableton User Library (Mac)
python3 build.py --install
Files #
AC-Notepat.amxd.json- Source JSON for the M4L deviceAC Notepat.amxd- Built M4L device (binary)build.py- Build script
How it works #
jweb~loadshttps://localhost:8888/notepat?daw=1- Web Audio from the page is captured by
jweb~'s signal outlets - Audio routes through
plugout~to Ableton's mixer
Configuration #
Key settings in the JSON source:
{
"openrect": [0.0, 0.0, 400.0, 169.0], // Device width (height fixed at 169px by M4L)
"devicewidth": 400.0, // Explicit device width
"presentation_rect": [0.0, 0.0, 401.0, 170.0], // jweb~ display size
"latency": 32.0, // Audio latency buffer (ms)
"url": "https://localhost:8888/notepat?daw=1" // URL to load
}
Remote Relay Playback #
notepat now understands relay subscription parameters for live note playback from ac-native sources:
https://localhost:8888/notepat?daw=1&relayHandle=jeffrey
https://localhost:8888/notepat?daw=1&relayHandle=jeffrey&relayMachine=ac-1234abcd
https://localhost:8888/notepat?daw=1&relayAll=1
You can also retarget a running jweb~ instance with postMessage:
window.postMessage({ type: "notepat:midi:set-source", handle: "jeffrey" }, "*");
window.postMessage({ type: "notepat:midi:set-source", handle: "jeffrey", machineId: "ac-1234abcd" }, "*");
window.postMessage({ type: "notepat:midi:sources" }, "*");
Requirements #
- Ableton Live with Max for Live
- Max 9+ (for
jweb~audio support) - Aesthetic Computer dev server running on localhost:8888
Development #
To modify the device:
- Edit
AC-Notepat.amxd.json - Run
python3 build.py --install - Reload the device in Ableton
Or edit directly in Max:
- Open the device in Ableton
- Click the wrench icon to edit in Max
- Make changes and save
- Extract updated JSON with:
cat "AC Notepat.amxd" | tail -c +37 > updated.json
GAME SIGNALS #
Build and install the MIDI receiver plus its sample-free Drum Rack:
python3 build.py oskiewar --install
python3 build-game-signals-rack.py --install
Put AC 🎹 game-signals (aesthetic.computer) before GAME SIGNALS on one
MIDI track. The rack has labeled pads for every stable /oskiewar/* event on
MIDI notes 36–56. Drop a sample or instrument on any pad; the preset contains
no copyrighted or machine-local audio. Rebuilds validate the rack map against
the Max patch so the two artifacts cannot silently drift.