homeassistant-solax-modbus
SolaX Power Modbus custom_component for Home Assistant (Supports some AlphaESS, Growatt, Sofar, Solinteg, Solis, SRNE, Swatten)
Translation pending
GLASS 2.0 is out. A rebuilt face with more to play. GLASS is an original Ableton Audio Effect Rack: Resonator, Phaser, Hybrid Reverb, Grain Delay, Glue...
PluginsHTML · JavaScriptGitHub @andrewmfosterOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
GLASS — a custom-GUI Max for Live device for the GLASS Audio Effect Rack
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Version 2 is a rebuilt face with more to play. Get it from the
Releases page.
• MIX. Blends the dry signal back in.
• Preset bank. Save your own, rename and delete them, put any of them on
three slots. Shared by every Live set.
• BACK. Steps back through your last 16 SHATTERs and preset loads.
• HOLD. Click a knob's label and SHATTER leaves that knob where it is.
• GLIDE. Knobs travel to their new values in time with the song, from an
eighth note to four bars.
• SHATTER from a key or pad. Map one in Live and play SHATTER by hand.
• Fine control.Read the full README ↗Version 2 is a rebuilt face with more to play. Get it from the Releases page.
SHATTER with GLIDE on 1 BAR, in Live:
Coming from 1.0? Install both new files. The new device is made for the new rack.
A custom-GUI Max for Live device for the GLASS Audio Effect Rack, an original Ableton rack I built and sound-designed.
GLASS (the rack) chains Ableton's stock effects (Resonator, Phaser, Hybrid Reverb, Grain Delay, Glue Compressor, Echo, Delay) into one instrument, with hand-mapped macros driving the whole thing.
Ableton gives every rack the same plain generic macro panel. This device replaces that with a bespoke shattered-glass interface. Stock effects still do all the audio, GLASS knobs drive macros by index via the Live Object Model (LOM).
~/Documents/GLASS Presets.json and are
shared by every Live set.The device sits inside the GLASS rack in a live set:
GLASS.adg, or map your own rack's macros to match the table below).Version 2.0 ships as a bundle on the
Releases page
(GLASS.zip → Glass.amxd, GLASS.adg, GLASS.png and README.txt).
The bundle holds four files: the device (Glass.amxd), the rack (GLASS.adg),
the GLASS icon (GLASS.png) and a readme (README.txt). You install the first
two. The rack already contains the device as its first chain device. It
just looks for Glass.amxd in your User Library. Install the device first,
then load the rack (no manual placement needed):
Glass.amxd into your Ableton User Library at
Presets/Audio Effects/Max Audio Effect/Imported/ (create the folders if
they don't exist). Find the User Library via Live → Preferences → Library,
or right-click User Library in Live's browser → Show in Finder/Explorer.GLASS.adg (or drag it onto a track). The
full rack loads on MIDNIGHT with its macros mapped and the GLASS device
already inside it, bound automatically. (First load takes a few seconds
while Max boots.)If the device shows as missing in the rack, Glass.amxd isn't in your User
Library yet. Redo step 1 and reload GLASS.adg.
Using the bundled GLASS rack? Skip this, it's already set up.
The device drives its parent rack's macros by index, so it works in any
Audio Effect Rack. Drop Glass.amxd in as the first device inside your rack,
before your effects so PULSE hears what you play (this is "Option A": it
walks up to its parent rack to grab the macros), and map the macros to match the
macro map below. Only the first eight are needed. Without a ninth
there is no MIX, without a tenth no SHATTER from a pad, and without 11 to 14
holds, the glide length and PULSE reset when the set reloads.
GLASS reads macros 10 to 14 and writes 11 to 14, so leave them free for it.
The bundled rack already has all of this mapped. This is the reference for building your own.
The device targets macros by index (macro i = rack parameter i+1; range 0 to 127). Knobs are laid out in display order, which is not index order:
| Knob position (L→R) | Macro index | Rack macro | Name |
|---|---|---|---|
| 1 | 0 | 1 | Reflect |
| 2 | 7 | 8 | Verb |
| 3 | 1 | 2 | Delay |
| 4 | 2 | 3 | Echo % |
| 5 | 3 | 4 | Echo Time |
| 6 | 4 | 5 | Wavy |
| 7 | 5 | 6 | Wobble |
| 8 | 6 | 7 | Comp |
| 9 | 8 | 9 | MIX |
All knobs display as % (the underlying macro range is 0 to 127).
Five more macros carry no knob on the face:
| Macro index | Rack macro | Name | What it holds |
|---|---|---|---|
| 9 | 10 | SHATTER | Fires SHATTER each time its value crosses the middle. Map a key or pad here. |
| 10 | 11 | HOLD A | Which of macros 1 to 4 are held. |
| 11 | 12 | HOLD B | Which of macros 5 to 8 are held. |
| 12 | 13 | GLIDE | The glide length, 0 (OFF) to 6 (4 BARS). |
| 13 | 14 | PULSE | Whether the face pulses: 0 is on, 1 is off. The LED left of BACK sets it. |
Macros 11 to 14 are how holds, the glide length and PULSE get saved with the set. They don't need to show in the rack, and the bundled rack hides them. The rack's random button and its macro variations skip macros 10 to 14.
GLASS Presets.json.Glass/
├── glass.jsui.js the device: drawing + mouse + LOM (single jsui script)
├── sprites/ baked images the script draws (wordmark, neon, shards, glows)
├── glass-*test.jsui.js throwaway probes of what jsui can do inside Live
├── icon/ app icon (64 to 1024px) + GitHub social banner
├── screenshots/ device + in-Ableton captures
├── mockups/ the HTML mocks the face was ported from, a browser
│ stand-in that drives the script, and build-banner.py
├── package.sh assembles the download bundle (scrubs the preset's
│ absolute paths, then zips the device + rack + readme)
├── README.md · LICENSE · .gitignore
All logic lives in glass.jsui.js. The .amxd is a binary container that
references the script; once frozen, the script and its images bundle into
the device so it no longer depends on Max's search path.
The playable device (Glass.amxd) and the rack preset (GLASS.adg) aren't in
the repo. They ship together as a downloadable bundle. The repo holds the
source script and assets.
MIT © 2026 Andrew Foster