Update of the control surface script for Live 9

Hi all!
I dug into the sources of the control surface plugin for Ableton and made some improvements in the Transport section. It adds better control of song playback and seek and it may help those of you, who find yourself often in an arrangement mode of Live.

How to install: download/clone the repository into C:\ProgramData\Ableton\Live 9 Suite\Resources\MIDI Remote Scripts\OP1 and restart Ableton. Then go to the settings, connect your OP1 and set control surface for it. (on Mac it should be similar)

What is new:
  • OP1 can now control transport params of Ableton in "transport mode" (tape)
  • shift + arrows jumps to next/previous marker
  • lift button sets/unsets a marker
  • shift+lift hides/shows the browser
  • blue encoder scrubs the tape (even while playing)
  • green encoder changes quantization parameters
  • white encoder moves the play position and makes a selection while pressed
  • shift + play plays a selection (if there is one)
  • shift + loop in sets the beggining of the loop to the current play position
  • screen now displays play state, quantization and BPM

I may add more improvements, the original code isn't the most beautiful one, but it works.

If you have any questions or suggestions, please let me know.





  • Many thanks for your work on this. Much appreciated!
  • edited April 2017
    Awesome, I work more in the arrangement view myself as well. I will have to have a look at it. Thanks for taking the time to try to improve it.
  • I can't seem to make it work on El Capitan, not in the 64-bit nor the 32-bit version.

    It shows up on the Control Surface menu as op1-live-9 and I select the OP-1 on both input and output, on the unit I go to CTRL mode but it does nothing after that... am I doing something wrong? 

    I am going to try in a couple of hours from my Windows 7 system to see if it works
  • It doesn't work on Windows 7 64-bit either. What am I doing wrong? I followed the instructions exactly :(
  • @bichuelo Could you attach ableton's log (C:\Users\bichuelo\AppData\Roaming\Ableton\Live 9.2.2\Preferences\Log.txt)? I'll look into it to see what went wrong.
  • @bichuelo Could you attach ableton's log (C:\Users\bichuelo\AppData\Roaming\Ableton\Live 9.2.2\Preferences\Log.txt)? I'll look into it to see what went wrong.
    Here you are, for version 9.7.2

    Thank you!
    Log.txt 138.2K
  • ha, that's a easy one - module name can't contain dashes. Change your script dir to i.e. op1_live_9
  • It worked, thanks! I guess the problem in the mac is the same?
  • Yeah it's a python thing, its syntax does not allow such names for import.
  • Thanks for sharing! I do have some issues though. I'm on osx and it seems those new features aren't working for me on Live 9.5. Turning the encoders and nothing happens. Also when navigating through the channels the encoders don't move the volume, pan, or send/return knobs for the channel that I'm on. Are those still unresolved bugs? 
  • I found out the issue was conflicting midi mappings on the MIX page. I removed the midi mappings and it all works now. 
  • Hi guys!
    There is an update - undo/redo and fix of a nasty bug among the others.
  • I see that one can reset the channel function: 

    Reset Selected Track Mute/Solo/Arm (25)

    But there is no way to activate any of these from the OP-1?
  • edited May 2017
    @bichuelo buttons 5,6,7 (reverse, stutter, m1) should do the trick!
    edit: if you have session with track groups then clear button does not work. I've just fixed that - check out the latest github commit.
  • One thing I have found is that notes are easily stuck. I understand the surface control does not send a Note OFF message when you change modes, so the problem is very frequent.

    I wonder if it is possible to fix this
  • I can look into it - could you do a short writeup on what you do exactly so I can replicate what is happening?
  • edited May 2017
    1. Press Mixer (Sel. Track) then select a track (I tried both an external MIDI instrument as well as an internal)
    2. Press 7 (Arm track), the Record button turns Bright Red. Make sure it is bright and not opaque red, which might be lit if you simply select the track
    2. Press Synth (Perform) then play a couple of notes
    3. If you are currently holding a note, press:
    4. Mixer (Sel. Track), the last held note(s) are stuck after you lift your finger
    5. Arm another track. The notes stuck are now stopped

    One extra thing I noticed is that the last C on the OP-1's keyboard sends a note while on Mixer (Sel. Track) mode
  • Thanks!
    I've created an issue on github. I have to work today, but will definitely take a look at what can be done.

  • One extra thing I noticed is that the last C on the OP-1's keyboard sends a note while on Mixer (Sel. Track) mode
    @popcorp Did you check this one? Looks like it's an entire different thing, which might also be considered a bug
  • Sorry for not keeping you updated for a while. I went on the vacation and was without the Internet for almost three weeks.

    I am in contact with TE guys and my changes may make it as a official release later, when I do an update to the user guide and address design issues (and other reported bugs). Stay tuned!
  • Hey dudes,

    I'm just catching up on this... Is there an official script, my google skills are showing me nothing...
  • Or should I use this script?
  • I guess you should use this one, it's the same TE has on OP-1's guide:

  • @popcorp

    Are you working on a new/different version for Live 10?
  • @bichuelo

    Not at the moment; I don't boot into Windows that often and I don't even have Ableton 10 installed.
    However it should be easy to port the script, depending on how much has changed in the Live 10's API. Unfortunately the API documentation seem to have disappeared from the internet. Julian Bayle's site has no longer offers decompiled docs and API_MakeDoc script by Hanz Petrov is also not available. 

    The bummer is I haven't heard from TE since August - they were eager to release the updated script but suddenly all communication has stopped. My PR is still pending and waiting to be merged with their master branch.
  • Hi, first of all thanks for your great work!

    I have a problem with play button. (Windows 10, Live 10)
    When I press play button live plays, and I release play button live plays again.

    Can I get some advise with this situation?


Sign In or Register to comment.