Compass is a Launchpad lightshow tool that lets you quickly experiment with unique light effects using a rack based workflow.
The code for Compass was written with the help of AI. I only know how to read a bit of markup and stylesheets like HTML/CSS, and I have zero actual programming experience.
As you may know, AI doesn't perfectly understand context yet. When I asked it to solve a problem, it tended to find workarounds instead of fixing the root cause in the design itself. Of course, I tried my best to document things and create fixtures to prevent it from straying too far from basic design principles, but since I'm not used to building systematic structures either, my guidelines are pretty flawed. As a result, the app itself often doesn't work as intended. Therefore, if you use this app, please be prepared for situations where a rack you just built might completely break in the very next version.
I made this open source because people around me asked to try it out, but the original goal of this project was simply to satisfy my own curiosity about whether this idea was even possible. Even now, I am only improving it for my own personal use. In short, I might arbitrarily remove or change features, or I could suddenly stop maintaining the project altogether.
Unless you absolutely must use Compass's features within Ableton Live, I highly recommend trying out the Crystal Composition feature included in Anth's Amethyst. It is based on Compass's core ideas but utilizes a proper node-based interface, and unlike this project, it is being developed by an actual programmer, so I believe it will be far more reliable.
Lastly, Compass uses the 0BSD License, so feel free to add new devices or features, redistribute it, or freely implement Compass's functionalities into your own programs.
Traditionally, creating a Launchpad lightshow meant drawing patterns frame by frame and then adding colors to them. It's a very intuitive and easy to understand method, but it was incredibly difficult to make fine adjustments to a pattern. Finding the perfect effect meant repeating the drawing process countless times. Furthermore, things like rotating an effect by just 20° or adjusting its scale were practically impossible, which severely limited how accurately you could bring your ideas to life.
Compass, on the other hand, calculates everything based on lines/paths first and converts them into notes at the very end. This allows you to apply sequential effects like rotation, movement (translation), and symmetry. For example, if you draw a shape using the Path device and control its rotation and scale with a Modulator, you can easily create effects like the one below.
Compass_Spin.mov
Note
However, Compass cannot entirely replace the traditional workflow. Using a completely different method means you can create previously impossible effects, but it also means it can be highly inefficient or difficult to achieve specific shapes for certain types of effects.
Compass_Browser.mov
- You can save devices, groups, and entire racks as presets. Saved presets can be quickly browsed, and since they are stored as files, you can easily share them with others.
Compass_Preview.mov
- You can connect an actual Launchpad to preview your effects in real-time. Supported devices (all Launchpads except the 1st generation, MIDI Fighter 64, and Mystrix) connect automatically, and even if your device isn't officially supported, you can manually select it from the list.
Compass_Undo.mov
- Every edit you make after loading a rack is recorded, allowing you to undo and revert to any specific point in time.
Note
Compass generates MIDI notes and sends them to Ableton Live via a Max for Live bridge. Essentially, it acts like a plugin for Live. Therefore, to use the send feature, you need Ableton Live 10 Suite (Max 8) or higher, which supports Max for Live. If you are using a version below Suite, or if you want to use it in other apps, you can download the effect as a MIDI file from the Compass web version.
- Run the appropriate installer for your operating system to install Compass, then launch the app.
- Open Ableton Live and add
CompassBridge-vX.X.X.amxdto a MIDI track (highly recommended to use the bridge version that matches your Compass app version). - When you change the BPM in Ableton Live, it will automatically sync with the Compass app.
- Drag and drop devices from the browser on the left to build your rack, and check out the effect in the preview on the right.
- In Ableton Live, select the MIDI clip you want to replace, or if you don't have a clip yet, click on the desired location on the track, then press the
Sendbutton in Compass.
Important
The macOS app does not have a developer signature. After installation, you must run the following command in the Terminal for the app to launch properly.
xattr -dr com.apple.quarantine /Applications/Compass.appRequirements:
- Node.js
24.13.1 - npm
11.5.1
Install:
npm ciRun Electron app:
npm startRun in web browser:
npm run web:dev