November 25, 2020, 02:38:34 am
Welcome, Guest. Please login or register.
Did you miss your activation email
News:

Arturia Forums



Author Topic: MiniLab Mk2 Ableton Mode modified functionality  (Read 286 times)

LilSmeag

  • Apprentice
  • *
  • Posts: 8
  • Karma: 0
MiniLab Mk2 Ableton Mode modified functionality
« on: July 19, 2020, 09:40:40 pm »
So I purchased the MiniLab Mk2 about 2 months ago and found the Ableton Mode functionality lacking, but I didn't know that you could program your own in the beginning. Then I found a post on this forum that added functionality for the 2 push encoders which weren't used and found out that someone could program controllers to do anything they wanted/knew how to program. As such, here I am after a lot of work and frustration sharing what I've been able to achieve. I wanted to add one more thing before releasing the script, but every method I tried failed, so maybe someone else will try to do it instead. I will detail everything as I go.
Regarding what I added and took away...

Pads:
  • Only pads 1-8 control clips now, specifically the clips of the selected scene , pads 9-16 now have modified functionality
  • Pads 1-8 now have different colors to signal the state of the clip: playing - green, recording - red, will record when triggered - magenta/purple, triggered but not yet playing - cyan ; when a pad is pressed while the clip is playing it will now trigger the stop instead of trigger playing again
  • Pads 9-16 control, in this order, global play, global stop, global record, global overdub, toggle between arrangement and session view, mute selected track, solo selected track, arm selected track
  • All pads 9-16 are permanently colored to give info about the current state of the thing they control
All colors are changeable through code modifications, I'll attach some resources at the end.

Pad 9 = global play : green - playing, yellow - paused
Pad 10 = global stop : red- playing (push to stop, yellow - not playing but cursor is not at the start (push to go back to beginning), white - not playing and cursor at start
Pad 11 = global record: cyan - not recording, red - recording
Pad 12 = global overdub: blue - off, yellow - on
Pad 13 = view : cyan - arrangement, magenta/purple - session
Pad 14 = mute selected track: green - not muted, red - muted, cyan - muted by other track's solo only, blue - muted by button and other track's solo
Pad 15 = solo selected track: white - not soloed, blue - soloed
Pad 16 = arm selected track: green - not armed, red - armed

Encoders:
  • Encoders 1,9 buttons (pushed): when in arrangement view, select track up/down ; when in session view, select scene up/down
    All encoders except for 16 keep their normal functions
  • Encoder 16 = control master volume
All LEDs will update accordingly to their function's state; they will update even if you use another controller or mouse/keyboard to change something.

When selecting the control surface script, the bank will be changed to slot 1 (Analog lab mode). This should happen with every opening of Ableton.
It is possible that the script will work after a 2nd try of loading it only( Ableton restart included).
Might have missed some of the behaviour, but exploring should reveal it all.
I have tested everything for some time but things can always break, I'll try to keep an eye and fix small problems if they arise, but I do not guarantee anything.
I don't plan on adding anything else or modifying things, but it could happen in the future.
For programmers: you are free to add anything else or modify the script, if you make something useful please share it with others so that we can all benefit from it.
Also for programmers( asking for help now): I've been trying to add an event listener for pads that doesn't interrupt the midi note being sent to Ableton and that also triggers a function that I've written. If any of you find a way to do so, I'd be grateful.

Now for setup:
Download the zip, unzip it, place the new folder in your Ableton folder under \Resources\MIDI Remote Scripts\
Using the MIDI Control Center now, here is the way I have my 8th bank set up, might not work if you have another setup:
Encoders channel : 2
Enc 1 : MIDI CC 22
Enc 2 : MIDI CC 23
Enc 3 : MIDI CC 24
Enc 4 : MIDI CC 25
Enc 5 : MIDI CC 26
Enc 6 : MIDI CC 27
Enc 7 : MIDI CC 28
Enc 8 : MIDI CC 29
Enc 9 : MIDI CC 30
Enc 10 : MIDI CC 31
Enc 11 : MIDI CC 33
Enc 12 : MIDI CC 34
Enc 13 : MIDI CC 52
Enc 14 : MIDI CC 53
Enc 15 : MIDI CC 54
Enc 16 : MIDI CC 55
Enc 1 push : channel 10, CC 113 off 0 on 127
Enc 9 push : channel 10, CC 115 off 0 on 127
Pads channel : 10
Pads 1-8 : midi notes as set by default, colors don't matter as they will be overwritten, mode is set to gate for all pads
Pads 9-16 : MIDI CC from 56 to 63 , off 0 on 127, gate, color doesn't matter

After opening , go to Ableton preferences, then MIDI and selected this control surface, which should be at the top. Input and Output has to be from MiniLab Mk2
Playing the keyboard while in Ableton mode does not have an effect on the functionality if I remember right, since the channels are different

Disclaimer:
I am an enthusiast, not professionally programming control surfaces for Ableton.
I have used some of Arturia's original code for the Minilab Mk2, but I guess it's ok since I am not commercially using it. Most of the functionality is added or modified by me, including the clip launching part which I have rewritten in order to better control its behaviour.
The code is vaguely documented, if there is demand I will try and explain how things work.
For programmers : if you look trough the code you will find unused stuff and stuff that is written but commented out, that is for other fun stuff/ the problem I couldn't solve which I mentioned in the beggining. If you want to explore, go wild.

As for people who are interested in finding out about how you can program your own functionality, I recommend looking up python and learning about it, then checking out these resources:
https://julienbayle.studio/PythonLiveAPI_documentation/Live10.1.19.xml
http://remotescripts.blogspot.com/
https://livecontrol.q3f.org/ableton-liveapi/articles/introduction-to-the-framework-classes/
https://forum.arturia.com/index.php?topic=93714.0
https://forum.ableton.com/viewtopic.php?t=200513
Some of it is outdated, things may be hard to understand. Keep at it and test out, things will work out somehow.

Let me know if anything is missing, if something is unclear, what you think of it etc. I'll try to keep an eye out for replies.

rooser53

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
Re: MiniLab Mk2 Ableton Mode modified functionality
« Reply #1 on: November 19, 2020, 05:14:37 pm »
I downloaded this and tried to get it to run... I can load into live but not into the MCC? This is the functionality I want from the minilab, because I use the arrange more almost exclusively! This is exactly what I'm trying to do but I can't seem to get the controller functions mapped correctly???

LilSmeag

  • Apprentice
  • *
  • Posts: 8
  • Karma: 0
Re: MiniLab Mk2 Ableton Mode modified functionality
« Reply #2 on: November 20, 2020, 07:35:21 am »
Hey there. It's been quite some time since I posted my code, so I don't remember everything exactly. First, one thing to mention is that I found a problem with the script: If you have more than 8 tracks, lights glitch out and don't indicate what they're supposed to; pads' functionality should stay the same regardless, but I can't remember if it actually does. Now, as I understand, you aren't able to save the mappings into Midi Control Center. I've experienced this a few times, the way I solved it was to save my mappings into a preset first and then spam the load into Bank 8 button while not having Bank 8  selected on the controller itself. After a few tries it should work, but keep in mind that their application is separate from my code, so I cannot do something about it. After the mappings are saved, the script should work correctly, as long as you have 8 tracks or fewer. Let me know if I misunderstood something or have other questions. I'm not working on the code anymore, but I should be able to provide some help if needed.

redgemalt

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Re: MiniLab Mk2 Ableton Mode modified functionality
« Reply #3 on: November 22, 2020, 03:33:34 pm »
WoW, very good job. I love your setting and work very well for me. Thank for sharing your lot of work.

Thank again, very helpful for me.

LilSmeag

  • Apprentice
  • *
  • Posts: 8
  • Karma: 0
Re: MiniLab Mk2 Ableton Mode modified functionality
« Reply #4 on: November 24, 2020, 09:52:38 am »
I'm happy that it's helpful to someone. Thanks for your thoughts.

 

Carbonate design by Bloc
SMF 2.0.17 | SMF © 2019, Simple Machines