Hi. Brilliant. I followed your instructions to the letter and it works perfectly!!! You are a genius. Thank you so much for taking the time and effort in developing the script and THEN your support. Top man. Many thanks. Jon
Great! Happy that you resolved this!
@m.c after reading this…
nah, too old for that…
Hello Minas
Thanks for publishing this script - it looks amazing!
Unfortunately I am having some issues with the setup as I have what appears to be an instance of your Keylab midi controller but only the transport controls are responding in Cubase.
The channel select buttons, faders and pads dont cause any response in Cubase (although can see Midi in being received)
I have gone through your setup guide and set the midi ports as you describe - I am using the basic implementation.
In your setup guide - you describe having to manually create a new Midi controller (page 7) after importing your midi controller script. However, mine automatically is added - should I remove this one and manually add it using the steps you describe?
Also in the process of troubleshooting I removed the default Mackie control instance (I also tried disabling it first but it made no difference) - will this cause an issue?
Apart from this is there anything else I should check?
Hello my friend. This sounds pretty weird. Sure you don’t have another midi remote, perhaps one you’ve made in the past using the mapping assistant.
Can you provide a screenshot of the UI of the midi remote you see?
Mine for example looks like that:
Oh, and by the way, sure you have your Keylab in DAW mode and selected Ableton Live as your DAW?
I had it in user mode - duh
Everything seems to be responding now
Thanks for the prompt response - really appreciate it
Hi,
on mine MK2 61 the track up/down buttons are reversed.
Is this only the case with my system?
In Arturia_Keylab_MK2_MC_Custom.js I changed the code at Line 1030 to
prevNext_button_zone.surfaceButton1.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToNote(midiCh, pitch + 2)
prevNext_button_zone.surfaceButton2.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToNote(midiCh, pitch + 3)
prevNext_button_zone.surfaceButton3.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToNote(midiCh, pitch)
prevNext_button_zone.surfaceButton4.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToNote(midiCh, pitch + 1)
Hi, just checked it. On my Keylabs (I have 2, one 49 and another 61), the midi notes are as in my script.
Button Next (Up) : 49
Button Previous (Down): 48
Button Next (With Bank on): 47
Button Previous (With Bank on): 46
Not sure why yours are different. Current firmware is 1.3.1.1492. Maybe you have a previous one?
Hi,
I see the mistake.
I haven’t read what’s written next to the knob. For me the top button means up, but it says down
Sorry and thank you for your work
Hi,
you wrote a fantastic script.
But:
At first: generalSettings.singleChannelMode = 1 and all others are standard, too
If a track is selected with select 1-8, then it is correct.
If the track is selected with a mouse click, the cursor keys or with next/previous on the board,
the previously selected track is changed for solo, mute and record.
The select button is displayed correctly.
Only a click on the select button chooses the right track.
Bug or feature?
Hello my friend!
Note sure I understand this. They are setup this way by default, but you can edit the code and choose other values. Also, you can change the singleChannelMode while using the controller, by holding pad 13 (Shift) and pressing the “Arm Record” button. This will toggle this property.
It most probably has to do with a workaround I’ve made concerning an issue described here:
I will have a look tonight and let you know To be honest I always use the multi Channel Mode, so perhaps I’ve missed the described issue!
The script is updated in order to fix a bug (NOT a feature) concerning properly mute/solo/arm-record of the selected track, when we change this using our mouse/keyboard, thank you very much @Manfred_D for noticing this!
At the same time, I’ve made an addition (optional) which may be cosmetic for some users, while for others may be of use (I’ m in the latter ones, that’s why I’ve made it after all):
The idea is that since we have a small display, we cannot obviously view all our tracks’ names on it. Now, since some of us like to have a better view, we can use track colors to our select-track buttons based on the tracks’ colors set on our project’s window.
At the same time we can have (optionally again) the selected track’s button to blink, while we can even define the intensity of the other tracks’ colors, in order to distinguish them from the selected one, especially when we don’t set it to blink.
You can test these new options by holding Pad14 (Ctrl) and pressing “Arm-Record” for toggling this color mode, Pad15 (Alt)+Arm for toggling blinking and Pad16 (FN) + Arm for setting blinking only while in play mode.
If after testing these options, you really like to make them permanent, you have to edit the following lines on our mapOfGeneralSettings.js file:
generalSettings.useColorsInMixerSelectTrackMode=1
//1: when in the default mode of the Mixer page (selecting track), the button leds gets the color of the tracks in our project window
//0: just the selected track button is on
generalSettings.useColorsInMixerSelectTrackModeDarkness=1//a good value is 0.2
//if set to 1, all buttons light up at the same intensity
//This one is used to show the selected track at its color and at the same time make other tracks' colors lighter. We multiply the above factor with the initial rgb color of the non selected tracks.
generalSettings.useColorsInMixerSelectTrackModeBlinkTimesSelected=-1
//if set to 0, no blinking will occur
//set to -1 to blink without stop, but please avoid it when you haven't set useColorsInMixerSelectTrackModeOnlyWhilePlaying=1. This can lead to script using resources that we should always keep for our projects :)
//In ordinary (select mode) we have to distinguish the selected track
//Apart from altering the brightness of the non selected tracks, we can also make the selected one blink. This variable defines how many times should the selected track blink. If set to -1 it will blink as long as our track is selected
generalSettings.useColorsInMixerSelectTrackModeBlinkInterval=40//10 is a good value (fast), and I like 20 as well (slower)
//how many time should a pseudo-timer be called in order to blink. Experiment a bit to find what suits you best.
generalSettings.useColorsInMixerSelectTrackModeOnlyWhilePlaying=0
//1: Blink selected track only while our project is in play mode
//0: Blink in stop mode too
Hi,
Thank you very much for the quick fix. You really are incredible.
The new option is a really good idea too.
I’m sorry, but there’s one more thing: Normally, when opening a project, the last active track remains selected.
Now, when you start Cubase for the first time, the first track of the last bank is selected. But this is only when Cubase is started. If you exit the project and then reopen it, the correct track will be activated.
Yes, this is because of the issue I referred to in my previous answer. I mean, in order to fix the inconsistency with mixer bank resetting upon a page change, when the mixer (default) page loads, creates the issue you describe. I will surely have a fix for this one too, no worries, thank you again!
Thank you Minas for this great contribution. It worked great on my Keylab 88 mkii in Cubase 12. I had been struggling with making my own with limited success. I work in the tech industry, if you want a beta tested for future updates, please conteact me directly. Cheers.
Hello my friend, welcome to this community!
Sure, I can send you a copy when I have a new update, before the final publish for testing purposes, thank you!
Obviously, I’ll be waiting for any issue, bug or suggestion.
Currently I’m working on getting keyStrokes and shortCuts working with the remotes, and at the same time, integration with Komplete Kontrol’s and MediaBay’s presets browsing. Let me know your thoughts on that, in case they’re of any interest to you
Oh my god thank you so much for your hard work on this. I’m replacing my old controller, and almost passed on a great deal on a MK2 because I saw it wasn’t scripted in Cubase, and I really didn’t feel like doing the leg work. Thanks to you, I’ll be buying that MK2. Great work.
Welcome to the community my friend and thank you for your kind words!
Thanks! I bought the MkII today, and the script works beautifully when plugged directly in via usb… However, when using an external midi bay, things get extremely wonky… ‘save’ is moved to D4 for example… nothing does what it’s supposed to be mapped to. Unfortunately, it looks like I might have to rework the script, including remapping every key to be able to function over my mioXL midi hub. After looking through the included text files, it looks like you just left all keys and key functions on the stock values and mappings? Thanks again, if anything for getting me 80% of the way