I know that this is possible because, as a for instance, it has been programmed to do so by Arturia on my Keylab 61 Mk2.
I would like to duplicate that function on a User Map I have built for that same Keylab. When you turn the Main Encoder it outputs two different MIDI numbers 63 and 65 (63 for when you turn to the left and 65 for when you turn to the right.)
I have tried setting my Encoder to Absolute, but once I get to the MIDI Remote Mapping Assistant there is no allocation that I can see for separately mapping those two separate MIDI numbers, one for each direction.
So: does anybody out there know how to do this?
Hi,
I think this is not possible using the mapping assistant,
You would have to use the JS API to do this.
Thomas
Ok-I get that. Would you be able to elaborate a little further on how I’d do that?
In other words: it sounds like you’re saying basically I’ll have to code that myself. I basically expected that. I just don’t really know how to approach that. I have done a little bit of coding, and I’m not scared to learn how to do it even better. I’m just looking for some hints as to how to go about writing the code to implement this function.
Hope that makes sense.
Hi,
Yes, you’d have to write a script in JS for the MIDI remote API.
you can find all the needed information to get started here:
But reading your original post again, it looks like i misunderstood you.
It seems like you already have that function on the factoryMapping page provided with your script?
In this case, have you tried to duplicate that page instead of adding a new one?
Yes-I did try that. Unfortunately the function did not carry over into the duplicate page.
I have watched quite a few videos on Javascripting, I’ve visisted the MIDI Remote API, read the intro, and even enlisted the help of Chat GPI to help me come up with a script that will implement this function.
Alas, nothing has worked so far.
A large part of the problem, I think, is that I don’t yet have a full understanding of the folder/file structure needed for MIDI Remote. It looks like somehow I need to provide a .js file, whereas all the .JSON files are basically a catalog of all the structures on a given map. Does that sound right?
In looking at the Introduction, it actually provides three pretty comprehensive examples of scripts that a person would need in order to get things up and running. My problem is: I have already used the Edit MIDI Controller Surface function to put together a rudimentary version of my keyboard, and it presently is pretty underpopulated with functions (i.e.: I have not gotten super far in it yet), nonetheless it is set up well enough. From what I can gather however, it’s not possible to combine the approach of using the Edit MIDI Controller Surface tool with a completely written from scratch script. The reason why I’m surmising this is because two entirely different types of files seem to be created in each different case.
And: the types of scripts beautifully represented in the MIDI Remote Introduction do not bear any resemblance to any files created by MIDI Remote when having used the Edit MIDI Controller Surface.
Put another way: I can’t figure out how to add my own scripting to the “scripting” (if you can call it that) that MIDI Remote creates when you use the GUI-based Edit MIDI Controller Surface.
So right now, I’m just a little stuck. Not sure of what to do.
Any insights?
The JSON file created by cubase is not supposed to be edited by the user.
Be aware that the mapping assistant and the API are not compatible. This means that you’ll have to start a script from scratch. My advice is to follow the tutorial in the link i provided, follow the basic examples, don’t just copy/paste everything, take the time to type everything, make mistakes and correct them. Get to know how the API works.
Also, it can’t hurt to follow a tutorial on Node.js (the version of js used in the API, which differs a bit from js used for websites). You need to learn the basic grammar, variables scope and a little bit of oop. (Be aware that the API is limited to ECMA5 which is an old version).
There are also many scripts provided in the public folder, you can take a look at them for inspiration.
Ok, cool! Thanks for all the direction you’ve just given me. It gives me hope-I’m gonna try it all.
I’ll keep the thread posted.