Page 1 of 1

MPK49++: Improved Akai MPK49 control scripts

Posted: Thu Aug 13, 2015 12:02 am
by RasecMusic
Hi all! I love my MPK49 but felt that it could be better integrated with live. So I created a custom control script.

Basically, I want the mixer part of the controller to act a bit more like the mixer in the APC series of controllers, with the ability to focus on a specific area of the live set and move that focus (a.k.a. Red Box). It's still a work in progress but would love to hear your thoughts and suggestions on how to improve it or maybe even change it. And of course I hope it's useful for you too.

What's implemented so far:
* There is a 1x8 focus ring (again, the Red Box) which tells you which part of the live set you are controlling. The FFWD and RWD buttons move the focus ring left or right. There is also support for Launchsync(Tested in LE with Launchpad Mini and Touchable but should work with other controllers and the Launchsync pro as well - edit: I've been contacted by the people from Isotonik to tell me that it might not work on Launchsync pro as it uses a different engine. I'll purchase it at some point and try to hack support for it :P) so you can sync the focus ring with your Launchpad, Touchable, or whatever controllers are supported by Launchsync.
* The other transport controls (STOP, PLAY, and REC) work as originally intented.
* In all of the control banks (A, B, and C) the slider encoders control the volume of the corresponding track in Live, For example if the focus is on tracks 2-9, the first slider will control the volume of track 2.

* The rest of the Controls are (R is rotary encoder, B is button):
Bank A:
R: Send A
B: Track Arm

Bank B:
R: Send B
B: Track select

Bank C:
R: Pan
B: Mute

This layout was a bit arbitrary, it was the first think that popped into my head. Maybe it can be improved?

Also the pads control 4 pages of pads when a drum rack is selected (4 pad banks for 4 pages)

Like I said, it's a work in progress and things that don't work or could be improved include:
* The button states are not synced from live to the controller. For example if you arm a track by any other mean, this will not be reflected in the controller's button. Or if you move the focus ring, the states don't move with the focus.
* Enable the focus ring only when the controller is connected. Right now, even if the controller is unplugged, the focus ring will be shown.
* Maybe use the FFWD and RWD to move the track selection and the ring focus movement would be entirely dictated by Launchsync.
* Change the mappings. Maybe leave control bank C for the user to map manually to Live.
* Change the REC button behaviour to instead of enable global recording, jump to the next available clip slot in the selected track and start recording there.
* A bit far fetched, but maybe send MIDI sync signals to the MPK49 so even when the controller is set to external MIDI clock and Live is stopped, you'd still be able to use the tempo based functions of the controller (i.e. arpeggiator, note repeat)

The scripts can be downloaded from:

https://github.com/CesarPantoja/MPK49pp

Feel free to modify the scripts as you wish! An also if you think you can tackle some of the issues above or improve the code in any way, to contribute to the GitHub repo (I'm still learning!). This script should also work on Akai's other MPKXX controllers, i.e. MPK25, MPK61, and MPK88.

If you are reading this, I assume you know how to install the scripts. If not, ask for help here and I'd be more than glad to help. The only special instruction is that the preset in the controller must be a special one, which I've also included in the scripts folder for your convenience. You can use Live's Dump functionality in the MIDI settings screen or I've included the preset in Sysex (so you use your Sysex program of choice) and in SQS format, which is the one used by Akai's editor.

That's it for now! Thanks for you attention! Don't hesitate to ask any question or if you want to know a bit more in-depth on how the script works.

Oh I also have a Kenton Killamix Mini for which I want to create a custom script to control devices inside tracks, again Synced with my Launchpad Mini through Launchsync.

Cheers!

- Cesar

P.S. Thanks to Hanz Petrov (Of the _Framework blog) because I learned so much from his posts, the creators of the scripts from Akai and Launchsync, because I copied some of their ideas (and a few lines of code here and there - I hope I don't get into trouble :P), all the internet posters that helped me solve some questions and off course Ableton and Akai for creating great products.

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Thu Aug 13, 2015 1:34 pm
by cotdagoo
definitely interested in checking this out.. always thought the native script was half baked

however there's nothing there to download, just a note saying "This repository is empty."

cheers

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Thu Aug 13, 2015 1:42 pm
by RasecMusic
You're right! I'm sorry. I'll correct it later today when I get back home.

Cheers!

- Cesar

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Thu Aug 13, 2015 8:38 pm
by RasecMusic
The files have been published in the repo, please have a look again and let me know!

- Cesar

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Fri Apr 15, 2016 11:42 am
by DarwinsFox
Hey RasecMusic!

Can't believe nobody answered this thread, this is exactly what I was looking for for my MPK49 and you just made my dream real haha!
However, one little issue keep me a step from being in midi paradise... I can't make your script work :'(

I've spent quite sometime trying to make it work in tons of different manners (using Vysex, Live and MIDIOX) but nothing has been successful.
So far the only thing I have achieved successfully is putting the remote script in the related Ableton folder. I can see the script and select it but when I do so nothing really works.

I can use the transport button to move the red box but that's approximately all. When I move the fader it sometimes trigger the track enable button of a random track.
I believe I must fail at loading the preset inside the MPK but I really feel like I tried everything. The Ableton dump button doesn't seem to do much. When I load the SQS in Vyzex and click the "put set" button it loads but I don't feel like it changes anything either... Same with MIDI-OX

Anyway, any support would be welcome, I'm really eager to use this script for my live performances :)

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 1:57 am
by RasecMusic
DarwinsFox wrote:Hey RasecMusic!

Can't believe nobody answered this thread, this is exactly what I was looking for for my MPK49 and you just made my dream real haha!
However, one little issue keep me a step from being in midi paradise... I can't make your script work :'(

I've spent quite sometime trying to make it work in tons of different manners (using Vysex, Live and MIDIOX) but nothing has been successful.
So far the only thing I have achieved successfully is putting the remote script in the related Ableton folder. I can see the script and select it but when I do so nothing really works.

I can use the transport button to move the red box but that's approximately all. When I move the fader it sometimes trigger the track enable button of a random track.
I believe I must fail at loading the preset inside the MPK but I really feel like I tried everything. The Ableton dump button doesn't seem to do much. When I load the SQS in Vyzex and click the "put set" button it loads but I don't feel like it changes anything either... Same with MIDI-OX

Anyway, any support would be welcome, I'm really eager to use this script for my live performances :)
Hi DarwinsFox! Thank you very much for trying out my script! And I'd be glad to help you get it working :)

It seems that indeed the script is loading correctly since you can see the red box. It might have been that I made some changes to the MPK49's preset and forgot to commit that to GitHub. I opened my repo and indeed there was a change in the SQS file which I have now committed to master. Could you please sync your copy with that one? For now it's just the SQS file, so you'll need to use the Vyzex app to upload it to the MPK49.

Please try that and if it doesn't work, we'll try something else.

Also, if it does work and you do end up using it in your live performances, I'd love to see (and hear) the result :D

I haven't worked much on it lately because I'm in the late stages of my PhD, but will be finishing soon. So I'll be able to dedicate time to improve the script!

Cheers!

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 10:04 am
by DarwinsFox
Good to hear from you so quickly, I was a bit scared you would have abandoned the project ;)

Eventually I spent some time yesterday to do the correct mapping manually (inspired by the old preset which was loaded in Vyzex but not my MPK) and managed to make it work. Although I tried with your new SQS and it works great!

I changed the code a bit as well to affect Bank B buttons to solo instead of select and make the Bank C button behave not temporary.
Easy tweaks but it works better for me. I'm going to have a further look into the code (never coded any Remote script but I master different coding languages so I should be able to make my way) to make the button states sync with Ableton. If you have any documentation that you think could be useful, please let me know!
I would also like to be able to arm multiple tracks, so I'll try to tweak that as well.

Once again, thanks for the script, I hope I'll be able to help you improve it :D

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 10:53 am
by S4racen
Nice!

Cheers
D

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 12:34 pm
by RasecMusic
DarwinsFox wrote:Good to hear from you so quickly, I was a bit scared you would have abandoned the project ;)

Eventually I spent some time yesterday to do the correct mapping manually (inspired by the old preset which was loaded in Vyzex but not my MPK) and managed to make it work. Although I tried with your new SQS and it works great!

I changed the code a bit as well to affect Bank B buttons to solo instead of select and make the Bank C button behave not temporary.
Easy tweaks but it works better for me. I'm going to have a further look into the code (never coded any Remote script but I master different coding languages so I should be able to make my way) to make the button states sync with Ableton. If you have any documentation that you think could be useful, please let me know!
I would also like to be able to arm multiple tracks, so I'll try to tweak that as well.

Once again, thanks for the script, I hope I'll be able to help you improve it :D
Awesome! Please feel free to improve the script with your needs and fork and/or submit changes to the repo!

Resources that helped me a lot were this website: http://remotescripts.blogspot.co.uk/
and checking out the uncompiled scripts for other controllers here: https://github.com/gluon/AbletonLive9_RemoteScripts

Also, I've been contacted by S4racen from Isotonik to tell me that it won't work with the Launchsync pro as it uses a different engine. I will purchase it when I start working on it again and try to hack support for it (I hope they don't mind :P)

Cheers!

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 2:47 pm
by S4racen
RasecMusic wrote:
I will purchase it when I start working on it again and try to hack support for it (I hope they don't mind :P)

Cheers!
No need, we'll work it out together... ;-)

Cheers
D

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sat Apr 16, 2016 3:47 pm
by RasecMusic
S4racen wrote:
RasecMusic wrote:
I will purchase it when I start working on it again and try to hack support for it (I hope they don't mind :P)

Cheers!
No need, we'll work it out together... ;-)

Cheers
D
You guys are awesome!

Re: MPK49++: Improved Akai MPK49 control scripts

Posted: Sun Apr 17, 2016 8:35 am
by DarwinsFox
Haha, I'm actually getting a Launchpad Mini tomorrow so I'll also have a look at it :lol:

Thanks for the documentation RasecMusic, I'll start digging into it quickly. It's actually funny because I have a FCB1010, that I haven't used for a while, with an excellent remote script loaded in it and I believe it might be the one proposed by the guy of the website you posted.

Anyway, will look at it today and tell you guys what I come to :)