Novation Launchkey Mk4 37 MIDI Remote map is REALLY buggy! Can someone help? M.C-can you help?

So, I’ve worked with my Launchkey Mk4 37 for about a month and, ironically, I would say that I’m actually really happy with the “design” of the whole thing. By “design” I mean how several sections of Functionality have been interspersed throughout the map, and onto the Mk4. I really like how the encoders are directed to the Quick Controls, and I like how one can switch between DAW modes, Transport Control Mode, Plugin Mode and Mixer Mode. I like the thought behind it.

My problem lies in how all this is implemented-or perhaps I should more accurately say, how the script has been written up. I have been plagued with huge issues involving the Launchkey inadvertantly disconnecting-pretty much exclusively from it’s DAW Section.

I wanted to give myself a bit of time to observe all the trends of it’s behaviour before I posted this, because I wanted to be able to give people as good a chance of assisting as possible: what seems to be happening more than anything else is if/when I open up and activate a project (often while keeping another project open) then, somehow, within that transition from one Project being activated to another Project being activated, the DAW Control section seems to lose complete contact with the MIDI Map. What will happen is: the small screen on the LK will only show the word “Cubase”, rather than what it should show (i.e.: ScrubZoom LPS . . etc.)

From that point forward it is anyone’s guess as to how to re-connect the DAW Control section with MIDI Remote. Sometimes going to the MIDI Remote Manager and Dis/Re-enabling the Script will work, sometimes it won’t. Sometimes doing that in conjuction with pressing the Reload Scrips button will work, sometimes it won’t. Sometimes dis/reconnecting the LK will work, sometimes it won’t.

From what I can see, the one thing that seems to give the highest likelihood of me retaining DAW Control for a pre-existing Project seems to be to first open up the Project and then to connect the LK. And then, if I want to go to another project what that means is: the highest likelihood of retaining DAW Control seems to be to close up Cubase entirely, re-open it up, open up the Project, and then re-connect the LK. Super annoying and super inconvenient.

And yet: I welcomed learning about all this minutae, because I felt that the more behaviour I could report on, perhaps the nearer to understanding what exactly is going on-from a script level-I could get knowledgable people like M.C. to be on this problem.

There seems to be some sort of Communication issue, wherein the LK and MIDI Remote seem somehow to lose contact with one another, and this loss of communication seems to be happening while there is some sort of hand-off going on between one project and another within Cubase.

Ok-I’ve talked quite more than I wanted to, but, again: this is such a complex/infuriating issue that I wanted to give anyone out there who maybe could help as much information as I could. And, yes: I’ve been in deep contact with Novation. I’ve spent a couple of useless days trying to get them A. to understand that there are many of their MIDI Remote scripts-with many of their LK products-that are exhibiting the same types of behaviour (double instances of one device, sudden loss of contact, etc.) and I even invited them to visit this forurm, and directed them, specifically, to research all of M.C.'s work that he’s done, because I thought that therein lay some important clues for them on how to ultimately fix these problems.

So, M.C.-if you’re out there: what do you think, from what I’ve described thus far?

Hello my friend, this describes the situation accurately.
I will start by saying that I never experience this behaviour in my own setup. And this is unfortunate because as you can understand, if I could replicate this, I could add my observations to yours and other friends here, making it perhaps a bit easier for Steinberg to proceed. I know for sure that Steinberg tried a lot on this one, corrected some issues found, but it seems that there’s still a case.

That being said, I have a more generic observation when it comes to Win11 updates last year. I’ve notices that many of my USB devices (NOT just MIDI controllers, even mouses, qwerty keyboards, wifi adaptors) were having big disconnection/reconnection issues whenever I had to unplug something, say a USB flash drive, which is something I do often, in order to take data to an external synth. I tried to find as many settings as I could, but it seems to me that it’s an internal thing of Win.
Anyway, concerning Win, what I did a long time ago (perhaps 2 years ago) was to disable the USB-Hub energy consumption policy. And yes, this had to do with issues with my controllers, after leaving my system idle for some time (maybe hours).
Now, what you and other users experience and report is that in reality Cubase is not in reality losing the connection to the controller, since from what’s reported, its MIDI (NOT DAW) port is still properly sending data to Cubase. This means, that at its core, Cubase properly handles temporary short-lived disconnections/reconnections. At least this is what I believe. And to me, this is where the issue is with the MIDI Remote. The ports probably disconnect for a tiny period of time, even some ms, and then upon reconnecting, this event of reconnection is not received, or if received, it’s ignored by the MR. Unfortunately I have no idea of what’s really happening under the hood, so I cannot be of help to you.

This is not something that Novation could deal with, I think, at least not by inspecting my own scripts. This is because, even in my works, there are users who reported the exact same behaviour.

Now, if we want to take advantage of Cubase’s core mechanism for quering ports, I recall a user proposed a workaround, can’t find the link right now, but I remember it.

Here’s something you might want to try:

Add to your projects a midi track, with its midi-in set to specifically the DAW port of your controller. Just that, no output connections. It seems that by doing this, the connection is not lost, and MR properly continues to work as expected. Could you please try this and report back?

Thanks so much for replying, M.C.!

I can’t believe I left out such important info: I’m on a MacBook Air M2/Sonoma.

And: I will try out what you suggested regarding a MIDI Track, routed to the LK DAW port.

I’ll let you know what I notice.

Thanks again.

So I tried it, and the short of it: didn’t work.

I tried it in two ways: with a Project that has been previously “despoiled” by these LaunchKey issues, and then I tried it with a pristine Project. A pristine project is: one started from a Cubase Template that shows zero issues with LaunchKey. The LaunchKey-and specifically it’s DAW Mode-works perfectly as it should. All the functions normally assigned to the encoders work as they should and the Pads/Buttons light up as the colors of whatever channels are part of LaunchKey’s present "Mixer Page, I’ll call it.

So what I did in order to test your suggestions with the pristine Template is I opened the template up, added the MIDI channel with it’s Input routed to the LaunchKey’s DAW Out, and the MIDI channel’s Output routed to nothing. I saved this Project as “LaunchKey Test Proj A”. I then immediately saved another project, calling it “LaunchKey Test Proj B” (the thinking was: hopefully upon finding that this suggestion would work upon opening (defined as: opening up Proj A, with the LK attached, and the DAW Mode of the LaunchKey showed up perfectly), I’d then open up Proj B, and activate it-while Proj A was still open. If all was well, then that would suggest that both issues I’ve reported on had been positively affected.

So, immediately upon opening up Proj A-with LK attached-I was greeted with fully lit up Pads/Buttons, with the correct colors of the Channels, BUT: DAW Mode was completely gone. The way I got it back: de-and re-attach the LK, just like I told you I have been having to do all along. So, it doesn’t look like it’s positively affected anything.

Note: I made a mention of the concept of “despoiling” and I think I should explain a bit about what I mean, because it’s important information in this whole saga. “Despoiling” is when a Project-as a result of having been used a few times in the midst of faltering communication issues with the LK has permanently lost it’s ability to be brought back to correct communication in all of it’s LK functions. As a for instance: I have a Project that, through many different separate communication losses, and full and intermittent regaining of communication, presents itself with an incomplete LK communication situation: upon opening up the Project, the DAW Mode shows up fine, but: the colored Pad/Buttons are completely unlit. No amount of troubleshooting seems to be able to bring those colored Pads/Buttons back. And, what’s more: if I open up this Project first, and then start going to other Projects, I am at great risk of “spreading” parts of it’s LK disfunction to the other Projects. And then: those Projects too will “carry” those disfunctions with them, and seemingly intergrate them into their own Project DNA. The only remedy for this seems to be to start with a completely clean and functional Project Template, and then to use the methodology that I have recounted previously: opening up Cubase, connecting LK, and then when I’m done with that Project, closing Cubase, re-opening Cubase, opening up the next project, then re-connecting the LK, and so forth and so on. And if I don’t, then I risk the chance of spreading small amounts of disfunction to other Projects, until one becomes “despoiled”, wherein it’s LK functions become permanently written into the Project File and that Project’s proper functions are unrecoverable.

Hope all that might give more insights.

Since the remote loads, and the issue is afterwards, there’s a small chance that something went wrong with the script’s execution, causing an interruption of some kind.

Could you please do this:

Open Cubase, then it should normally see your MK4 (or doesn’t it perhaps?). Then by going to the MIDI Remote’s Window, we can click on Scripting Tools→Open MIDI Remote Script Console.
In case you don’t see “Scripting Tools” you can add them:

Now in the script console, in case you haven’t used it in the past you have to make sure it properly shows its middle part (the logging one) by dragging the console’s window bottom to a sufficient height. Your console should look something like this:

Then, we need to set it to the tab “Error Messages”.

And now it’s time to open the project you experience this issue, with colored pads.
IF it’s something in the script, we will probably get an error message in this console.

I’m familliar with the Scripting Console. Doesn’t seem to be any errors, using the method that you suggested: it’s kind of not possible to open up first the Console and then immediately open up another Project-it doesn’t allow that. You can open up a Project, then open up and observe the Console, and then-either thru the Hub or at the File menu-open up the questionable Project you wanted me to attempt to open, at which point the Console goes away. Then, once the new Project has finished opening, I can then re-open the Console, and assumedy, the Console shows the Logs/Errors that happened with the opening of this present Project.

This is the methodology I used. Errors usually show up as red, correct? At any rate, the only events that showed up with the opening of the problematic Project are Logs-nothing showing in the Error tab.


At any rate, whenever I dis and re-connect the LK, this is the change that is shown on the Console.

Correct. So, there are no errors, which at least looks good at the script side, though what you describe reminds me of a situation I had with one of my scripts, in reality it was one for the SL MK3. I remember that when a project was opening, the MR was trying to send some sysex messages to the controller, exactly for setting up colors, etc. This was of course directed by my script. But none of these were arriving and my pads/displays remained “empty”. There were times that it did get the messages. I’ve got into debugging the situation and I discovered that there were messages trying to be sent to the device BEFORE the mOnActivate event of the deviceDriver. So I went on to create a small method to add these messages to a list, and send them to the device upon the “real” activation. This solved the issue with the pads colors, screen displays upon an initial project activation. You can perhaps direct Novation to this approach which can be found in the script I shared. Still, this has nothing to do with disconnections unfortunately…

Just got a chance to read this: this makes some sense to me, although my experience with MR scripting is limited-I’ve done a small amount (basically just went into a script I created to change the MIDI port that Cubase had assigned to it back to the one that cubase was expecting to see.)

I’m not particularly scared of learning scripting-particularly if it’s for a problem I care deeply about. But the biggest issue for me is: I can’t see where the Novation coding is open to being revised by outside coders. I’ve looked into the LK script, and it’s pretty big. It would be a huuuge effort for me to revise whatever needed revising-but is that even possible? Does Novation make that possible?

I could, however, let them know about what you’ve found out concerning your script for the SL Mk3-it does sound like you might be onto something.

BTW: I notice that some of the pics you tag seem to be written using the Greek alphabet. Are you in Greece? That would be cool.

Why? :smiley:

Well, you can always link the script download section, I can certainly have a look.

No particular reason-I guess I was wondering if you were taking the time to reply to all of this while on Greek time. I am in Los Angeles, so that would make Greece, what: 10 hours ahead of me? 11? The thought that someone would take that type of time, at those types of hours, to help a fellow Cubase user is worthy of deep appreciation-which I definitely have for you and your help. That’s all.

2 Likes

You are correct. I’m some sort of a night owl :slight_smile: I was just worried that if you were from Greece too, you’d come with your controller in hand, to fix it.

Well, let’s see what you can do against us on 1/26. We’re pathetic at the moment but you never know :smiley:

1 Like

Not sure what you’re referring to: the Rams game perhaps? Is someone playing against Greece? I looked up sporting events that are occuring on the 26. Couldn’t find anything (beyond the Rams game-are you following the Rams from Greece? Now THAT would be impressive!

And so, back to the LK: it’s looking like they’re going to need to re-write some of their script?

JUST for the part of updating colors/displays upon initializing, maybe yes. It was something I was really perplexed about, and it surely needed a fix, otherwise I was getting mixed results. Let me check the script for the MK4 (I guess it’s publicly available, or no?) and I will report back.

Nope. I’m talking about the Lakers against GSW. My profile photo was cut by me when entering this forum.

Ooooohhhhhh! Got it!

1 Like

Question: is there any way that a script writer outside of Novation could actually edit their code? Like: is it possible for me to, say, inspect your script, look at Novation’s script for the LK Mk4, and for me to implement the necessary editing to fix this thing?

It depends what obfuscation technique(s) they used. If you have enough enthusiasm to go down that rabbit hole, here’s a search term to maybe get you started:

https://www.google.com/search?q=typescript+deobfuscation

K-thanks for that

I’d love to be able to refer this to Novation, in the hopes that they eventually can get on this.