MIDI Remote Scripts for Ableton Push 2 User Mode
Push2UserModeScript
in MIDI Remote Scripts folder:
Applications
Show Package Contents
Contents/App-Resources/MIDI Remote Scripts
\ProgramData\Ableton\Live x.x\Resources\MIDI Remote Scripts\
Control Surface | Input | Output |
---|---|---|
Push2UserMode | Ableton Push 2 (User Port) | Ableton Push 2 (User Port) |
When using Ableton Push 2 for performance, I got a bit frustrated with some of the default behaviors of the built in Push 2 script so I put together this easily customizable script that allowed Push 2 to be controlled the way I wanted it to.
Top row of 8 buttons (above display)
Bottom row of buttons (below display)
Top row encoders (knobs)
Top 4 x 8 grid
Repeat division buttons (right side)
Bottom grid
Arrows
Stop Clip
Master
Since this script doesn't have modes, I initially set it up to have the bottom four rows of pads act as drum pads, while the top four rows controlled clips, however, if you only want clip control you change this in MIDI_Map.py
by setting DRUM_PADS_ENABLED=0
. I didn't include an option if you wanted ONLY drum pads, easiest way to achieve that is just disabling the script.
If you want to customize this to better suit your needs, you can edit the file MIDI_Map.py
to suit your tastes, most of the mappings available in that file are fairly self-explanatory.
Just enter in the number corresponding to the control desired, you can find the number with the help of free programs like MIDI Monitor
Functions like "Duplicate", "Quantize", "New", etc. won't work, but the buttons can be mapped to something else if you'd like.
Lights for things like armed/selected track and currently playing clips works fine. Light that unfortunately don't work as of now:
- Drum pads lit up when occupied by a sample (as in default mode)
- Light feedback when pressing a drum/note pad
- Available (non-playing) clips
Past versions of this had worked fine, but somewhere along the way, the encoder's mapping mode stopped functioning properly and typically only makes big jumps from 1-127 as opposed to a smooth transition through the range.
Since by default, the play button controls both play and stop (and does so with coded in logic I haven't implemented), I had to remap the Stop
button to the Mute
button.
- Fix encoder mapping mode problem
- Fix above mentioned issues with non-working lights
- Perhaps using `Layout`, `Note`, and/or `Session` buttons to access different modes
- Add logic to allow Play/Stop to function as they do in the default script
The To-Do list is more of a "wish list" that I may or may not get to, I'm not in a rush and have quite a few other commitments that take priority, but if anyone would like to take a stab at it, or any other things you think would benefit the script, feel free.
If you would like to contribute, fork the repo and make a pull request.
If you're having, or notice, any issues file just file the issue here on GitHub.
I can't promise it will be quickly answered, but, if you want ask a question, just ask it in the the "Issues" section of this repo and I'll mark it as a question and do my best to answer/help when I'm able.
Based on st4rchild's work as well FCB1020 scripts
THESE FILES ARE PROVIDED AS-IS, WITHOUT ANY WARRANTY, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO FITNESS FOR ANY PARTICULAR PURPOSE.