All Projects → jzgdev → Push2UserModeScript

jzgdev / Push2UserModeScript

Licence: GPL-3.0 License
MIDI Remote Scripts for Ableton Push 2 User Mode

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Push2UserModeScript

ableton-midi-sculptor
Ableton MIDI Sculptor: Tools for MIDI editing in Ableton Live
Stars: ✭ 56 (+40%)
Mutual labels:  midi, ableton, ableton-live
Scribbletune
Create music with JavaScript
Stars: ✭ 3,509 (+8672.5%)
Mutual labels:  midi, ableton, ableton-live
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-22.5%)
Mutual labels:  midi, ableton
recurse
re<urse is a declarative language for generating musical patterns
Stars: ✭ 32 (-20%)
Mutual labels:  midi, ableton
dimooper
Digital Music Looper
Stars: ✭ 64 (+60%)
Mutual labels:  midi
fyrlykt
Connect Loupedeck+ to DaVinci Resolve
Stars: ✭ 15 (-62.5%)
Mutual labels:  midi
bg-sound
Web Component to emulate the old-school <bgsound> HTML element
Stars: ✭ 93 (+132.5%)
Mutual labels:  midi
Maestoso
An Open Source Music Animation Software
Stars: ✭ 16 (-60%)
Mutual labels:  midi
cl-patterns
Library for writing patterns to generate or process (a)musical sequences of mathematically (un)related (non-)compound values in Lisp.
Stars: ✭ 62 (+55%)
Mutual labels:  midi
zmidimap
Program for mapping midi signals to shell commands
Stars: ✭ 13 (-67.5%)
Mutual labels:  midi
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-50%)
Mutual labels:  midi
UnityMidiPlayer
Midi file player for unity. Allows import of type zero and one midi files and playing them via midi outputs. Also provides code for creating procedural music using midi.
Stars: ✭ 30 (-25%)
Mutual labels:  midi
ableton-js
Control Ableton Live with Node.js
Stars: ✭ 111 (+177.5%)
Mutual labels:  ableton
Prelude
A web app for practicing musical sight reading skills
Stars: ✭ 24 (-40%)
Mutual labels:  midi
gba-mus-ripper
(Not actively maintained) A fork of Bregalad's "GBA Mus Riper" program
Stars: ✭ 50 (+25%)
Mutual labels:  midi
TouchOSC
A collection of examples and modules for TouchOSC MK2
Stars: ✭ 30 (-25%)
Mutual labels:  midi
MinimumViableSynth
A virtual analog synthesizer with lots of knobs and buttons.
Stars: ✭ 22 (-45%)
Mutual labels:  midi
MD MIDIFile
Standard MIDI Files (SMF) Processing Library
Stars: ✭ 63 (+57.5%)
Mutual labels:  midi
PicoAudio.js
A JavaScript library for playing MIDI (Standard MIDI File) on Web.
Stars: ✭ 28 (-30%)
Mutual labels:  midi
unity-midi
Play MIDI (SMF) on Unity, using C# Synth Project.
Stars: ✭ 101 (+152.5%)
Mutual labels:  midi

Ableton Push 2 - User Mode Custom Script

Quick Start & Install

  1. Download latest release
  2. UnZip the archive
  3. Place the contained folder, Push2UserModeScript in MIDI Remote Scripts folder:
    • Mac:
      1. Navigate to Ableton Live App in Applications
      2. Right-click and press Show Package Contents
      3. Navigate to Contents/App-Resources/MIDI Remote Scripts
    • Windows
      • \ProgramData\Ableton\Live x.x\Resources\MIDI Remote Scripts\
  4. Start Ableton Live, or restart if already running
  5. Open Ableton preferences and navigate to MIDI
  6. Change settings to the following:
Control Surface Input Output
Push2UserMode Ableton Push 2 (User Port) Ableton Push 2 (User Port)

Overview

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.

More Details on My Setup

  • Top row of 8 buttons (above display)

    • Arms corresponding track for recording
  • Bottom row of buttons (below display)

    • Selects corresponding track
  • Top row encoders (knobs)

    • Controls macro paramaters of selected track/last selected device on track
  • Top 4 x 8 grid

    • Triggers clips in corresponding slot
  • Repeat division buttons (right side)

    • Trigger corresponding scenes
  • Bottom grid

    • Drum pads/standard notes (C1 - G3)
  • Arrows

    • Controls location of session contol ring (rectangle visible in Session View)
  • Stop Clip

    • Stops all playing clips
  • Master

    • Select master channel

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.

Customizing

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

Limitations

Special Functions

Functions like "Duplicate", "Quantize", "New", etc. won't work, but the buttons can be mapped to something else if you'd like.

Lights

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

Encoders

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.

Play/Stop

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.

To-Do

- 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

Contributing

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.

Issues

If you're having, or notice, any issues file just file the issue here on GitHub.

Questions/Help

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.

Acknowledgements

Based on st4rchild's work as well FCB1020 scripts


DISCLAIMER

THESE FILES ARE PROVIDED AS-IS, WITHOUT ANY WARRANTY, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO FITNESS FOR ANY PARTICULAR PURPOSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].