creaktive / keylab_essential_hacks Goto Github PK
View Code? Open in Web Editor NEWDisgusting hack put together during a rainy weekend to enable Instant Mapping for Arturia KeyLab Essential MIDI controller in Ableton Live 10.
Disgusting hack put together during a rainy weekend to enable Instant Mapping for Arturia KeyLab Essential MIDI controller in Ableton Live 10.
First of all, thanks a lot for the effort put into this!
I just got a Essential 49 and was browsing the web for a solution like this, it brings so much value to my workflow with this controller ๐
However, I was not able to get the setup right and couldn't get the knobs to control the devices ๐ข
I even tried changing my control surface to channels 1 and 2 (like you have on your screenshot), and even then I couldn't get it to work.
Can you point somewhere where I could look to troubleshoot this problem?
Once again, thank you very much for this! ๐
Works, because Keylab MKII inherits Essential functions.
My setup:
1: Keylab MKII , Input (port2) , Output (port2)
2: Keylab Essential2 , Input (port2)
But interesting.. different device and each time knob controls something different :)
Expected to control 1st 8 main parameters..
But if should work like this.. so i don't know, maybe better just use Mouse..
Suggestion: color active parameter (which is controlled)
Hey, just wanted to say thanks so, so much for making and uploading this. I've been frustrated by this for a long time, and finally decided to delve in to see how to fix it myself only to discover the miles of Python code behind this functionality. And I stumbled upon your repo by chance while googling all the terms in the all the Ableton control surface documentation and trying to understand the existing Keylab code. And I'm so so thankful I don't have to mess with that anymore. Seriously - do you have a way of accepting donations? Just want to express my sincere thanks for releasing this that's all.
Also, not to crap on your hard work or demand for even more (this was basically everything I wanted), but can I safely assume you use the same keyboard regularly? Just curious if you've noticed that the 9th encoder on the right is strangely left abandoned even in the default official Control Surface mapping. You can't even manual MIDI map it, because it doesn't even send any MIDI CC, at least in the DAW mapping.
I was looking through your code for this (which thankfully doesn't have to be decompiled again) to try and find if there was a way I could make this knob useful, but I'm still super lost at the moment. And then I realized there was a perfect use for it - scrolling through your current devices in the track, so that you can easily switch which one the other 8 knobs are controlling. Admittedly though I have not yet found the code required for this in the documentation, although I could've sworn I've seen my Novation SL MKII do that before.
Also, whether that function can auto select the scrolled device is another problem too, since on my Novation it was on a jogwheel with a click to select if I remember correctly. So maybe such a function would be better delegated to the Keylab's jogwheel instead. Speaking of which, I'm not sure if I'm just daft but I think your replacement code breaks it? Usually it automaps to scrolling up and down your clips. Not sure why it broke in the process though, I've been comparing the original keylab_essential.py to your edited copy to figure out why, but haven't had much luck even figuring out what your edited code changes are affecting.
Good news is that replacing this control surface with the original BACKUP one revives this functionality, while also still allowing the Essential2 control surface to work. Though I'm sure it's affecting some things in the background that I'm not aware of yet (otherwise there wouldn't be a need for an edited copy at all), but I don't know the code well enough to say.
Anyway, just wanted to thank you again for this code. If you didn't read through all that blabbering it's alright, but at least read this! Oh, and the part about donations too, just to say thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.