mmckegg/loop-drop-app

Improve Ableton Push Support

zsszatmari opened this issue · 10 comments

Hi!

As the interface is well documented, this could be done without resorting to hackery: https://github.com/Ableton/push-interface
I am not sure if this would be easy though.
But I am sure that many are interested in this. (Speaking of myself, I am specifically interested in Push 2)

Oh, sorry, I see that it's supported in fact, but this is not reflected on the home page! (yet) Awesome!
Instead of deleting this issue, perhaps there could be some improvement (support for the display, select samples and stuff from push, etc...)

I'm personally only focusing on Launchpads right now, but anyone is welcome to contribute support for other controllers. I will hopefully publish a contributing / custom controller guide sometime in the near future.

So far @fzero has done all the work on the Push support and I believe he has some unpushed changes sitting in a working directory somewhere ;) ... Not sure if he has a Push 2 though.

fzero commented

I just got a Push 2 recently (tax refund, yay!) and I'll create a new driver as soon as I have time.

Just to set expectations here: the first iteration probably WON'T include display support. That sexy piece of awesomeness works in a completely different way and requires a low-level process talking directly to the USB bus. There's no built-in compatibility layer for the sysex-based Push 1 protocol.

Having said that, the display is well documented and there's a bridge app written in Java that's being used by an open-source Bitwig controller script. Since Bitwig uses Javascript for that, I can probably reuse some of the code.

Hey all, just wanted to jump in here and say I'm available to contribute to an ableton push 1 mapping, haven't moved on to the push 2 yet (I can't let go of some already useful custom push1 python scripts for Live)

Would need some guidance as to where in the app source I should start -- Perhaps getting that "switch target" button to actually switch Push grid instances. (?)

Found the folder.

@robjac: just in case you haven't found the swapTarget command on the launchpads it's here: https://github.com/mmckegg/loop-drop-app/blob/master/nodes/loop-grid-launchpad-mk2/object.js#L269

The activatedAt stuff is to allow holding down the swap target button, and then on release, returning to the original controller. A quick press will just switch.

Thanks for that! -- I'll have a go after work. Cheers!

I was able to have a go on a Push (thanks to @obensource) and something stuck out to me in particular.

  • The beat repeat really should use the Push's built in buttons down the side 1/32 , 1/32t, 1/16 ... etc rather than the top button rows (it was way to easy to bump the wrong button). The "Stop" button could be for selecting standard trigger mode. They will need to be lit up to show their labels.

But I think the top row of lights should still show the visual metronome. Not sure what pressing the buttons should do, but could potentially be used to reallign the beat, or do "beat/skip mashup" - basically a beat hold at the chosen place (used to have this on Launchpad before it was swapped out for selectable beat repeat)

Obviously it would also be nice to use the RGB colours and highlight where the different chunks are positioned like it does now on the Launchpad MK2.

And since the Push has a bunch of knobs and stuff, would be nice to allow linking params to these.

The push also has a bunch of buttons. Would be interesting to think about how these could be used in Loop Drop, possibly to avoid touching the computer for some more features such as loading setups, or switching tabs.

Something I talked to @obensource about was potentially implementing some of Push's more native style features. There would still be the option to use it as Loop Grid, but another mode would actually work a lot more like the way it works in Ableton Live.

I don't own a Push, and have very little experience with it, but if anyone wants to experiment, go wild!

Loop Drop (as a framework) is very flexible. I'm really only scratching the surface of possibility with all controllers only implementing the same Loop Grid interface.

Hi there - I'm chimming in a little late, but I'm wondering how you got the push controller working outside Ableton or Bitwig? It doesn't show up inside Loopdrop as a selectable midi interface - any ideas on how to access the device?
Thanks indeed!