Duplex: Korg Kontrol49

I’m really after something for the Kontrol 49 too. I discovered that I’m probably not competent enough to plunge into coding something for it just yet. I couldn’t get a 16-button layout right and only 4 of the buttons worked, although all I did was try to reaarange the BCF2000 script and relabel some variables. I got most of the faders working and made a very rudimentary x/y bit for the joystick using 2 faders, but the reason they weren’t working is probably down to how the way the xml integrates into the lua file which I’m yet to look in to.

I’ve also seen videos of the matrix working as a step sequencer too with feedback for different light colours and even fancy little animations, would love to see that, but it’s clearly delving into quite a bit of depth. I found some max scripts for it on this page but don’t know if that would help in any way?

Any takers for such a project? It’d probably cover most of the functions available on the microkontrol too.

I’ll add basic duplex support for the microKONTROL soon but have to dig a bit deeper into Duplex too for the more advanced stuff or code my own thing. The microKONTROL has something called “Native Mode”, which allows indepth controlling including lights, display texts and more and i suppose it’s similar for the KONTROL 49. Maybe they are even compatible.

I think to some extent they could well be. I’ve been doing a little fiddling and have found out (and saved) the small sysex messages needed to change between scenes, along with the feedback it gives once a scene is changed. I’ve not really explored native mode, but after some reading up, this is clearly where a lot of these fancy features lie. I think for now I’ll continue to research some of the messages in normal mode and hopefully I’ll be able to piece a little something together to represent the K49 when set to one of the factory presets. I’ve still got a looooong way to go and a lot to understand before I can attempt to code something for this though. I’ve read up a bit on the LUA side of things but I never familiarised myself with the XML side of things and haven’t a clue about how to integrate renoise variables etc. Even a simple flow chart of what’s needed might be a big help, thn I can research accordingly.

Korg has an extensive list of supported MIDI commands online. No need to do much research, even the Native Mode Commands are in there. Download MIDI Implementation:

http://www.korg.com/product.aspx?pd=458

The only difference seems to be some KORG device ID in the Native Mode and a few extra things the KONTROL 49 has like the wheels. Shouldn’t be too hard to support both at once.

I meant research on how to implement it. I honestly think I’m in over my head for now as I’m only really familiar with basic, and not at all familiar with with renoise xml & lua. I’m happy to help out where I can though, and am willing to give any feedback or even have a go myself but I’m really quite clueless!

After messing around with ‘Bome’s SendSX’ I worked out how to change scenes and recorded the relayed data…

I sent:
F0 42 40 6E 02 1F 14 xx F7 (changes scene to xx)

And received:
F0 42 40 6E 02 5F 4F xx F7 (when scene change complete - this is transmitted)
F0 42 40 6E 02 5F 23 00 F7 (Data load completed message)

Any help? Relevant? Or am I just barking up the wrong tree?

I’ll help you out with the basic Kontrol 49 template. What i need is a scene data file and scene set, since i suppose you can’t load simply mine into the Kontrol 49. Below is a screenshot, how the CCs are setup in my template:

I’ll do the rest for you.

02 is the ID of your Kontrol 49, so he’d need to find out the ID of the nanoKONTROL and if it supports scene change commands at all.

I’d be eternally grateful for this! I was just about to do as you asked, and came across a very annoying bug in the software. Each time I type a number in for the CC#'s they revert to either 0 or 127! I’ll have to set them manually using the keyboard for now and retreieve the dump…back soon!

Ok, just reinstalled and problem solved! Attached are 3 files - one is a pic of my layout (as it’s a bit different to your illustration), the next two are the dumps - one for the single scene, the next are all 12. please rename to ‘.k4s’ for the 12kb file, and ‘.k4d’ for the smaller one. Transport controls aren’t needed in the duplex patch as holding down ‘message’ and pressing the first of the 8 pads work fine. The next 8 are for custom messages which are not assigned as illustrated. there’s also 2 switch buttons set up to increase / decrease the value of a cc by one, perhaps useful for switching tracks or instruments?

Anyway, I digress - I hope these are of some help, thanks!

p.s. sorry, just updated the pic a bit more, i.e. changed the SW CC# to 62 instead of 0 which I think would work a bit better :)

Maybe it would be better to assign CC60 and 61 to Switch 1 and 2? On my microKontrol i can map joystick left and right extra, but on the Kontrol 49 it seems one can only map the axis as whole. Using X/Y for paging seems a bit awkward to use so the switches are probably better in your case.

Edit: Oh, forgot… it would be useful if you could name me the standard MIDIIN and MIDIOUT port, so i can integrate these too… “MIDIIN2 (microKONTROL)” and “MIDIOUT2 (microKONTROL)” for example.

Edit again: Posted the current template here, let me know if everything works as expected.

Here is a first Duplex template for the KONTROL49. The included scene data and set will be updated probably, so see this is more as a preview version. In-Fluence… would be great if you could try it out and let me know if it works as expected, maybe we need to update the port names too and please verify if the below written information is correct for the KONTROL49 too.

Shameless copy and paste from my microKONTROL template edited to fit for the Kontrol49, i’m lazy… i know.

Here is the basic Duplex support for the Korg KONTROL49, currently it supports the Mixer and Effect applications.

To make this working with your KONTROL49, follow these steps:

Add the supplied scene data file “KONTROL49.k4d” into a free slot of your own scene set or load the complete scene set “KONTROL49.k4s” using the “Korg KONTROL49 Editor Librarian” software and transmit it to your KONTROL49. Then select the scene by holding the “SCENE” button and press the slot number on the pads to load it. In case you have used the supplied scene set “KONTROL49.k4s” use “SCENE” and “PAD 1” to select it.

It is recommended to set the pad illumination mode to “Blink: Off”. To do this hold the “SETTING” button and press “PAD 12”, then use the main dial to switch the mode to “Blink: Off” in the main LCD display, then hit the red blinking “ENTER” button to save this setting. The pads light on/off states can not be directly controlled in the mixer application and it would simply look weird.

You can use Switch 1 and 2 to switch the pages.

The only issues are currently, that the Duplex GUI isn’t looking exactly like the KONTROL49. The pad groups should have the attribute columns=“4”, but this is currently bugged. I have prepared fixed files already, in case this bug get’s fixed.

Inputs: (As listed in Preferences/MIDI window)
KONTROL49 - (I assume this is just MIDIIN1)
MIDIIN2(KONTROL49)
MIDIIN3(KONTROL49)

Outputs:
KONTROL49
MIDIOUT2(KONTROL49)

I’ll change the controllers as you suggested, I just thought the inc/dec thing might be useful for something like cueing patterns, but I guess you can do the same with just 1 cc - do you want me to re-upload the dump files or do you have what you need?

Nearly guessed right then with the ports, only have to remove the whitespace before the parenthesis. Yes, i would need new dumps with the changed CCs to include them. I’d think this is more useful as default setting. If you prefer the joystick for yourself you can of course keep it that way and change the CCs back for you, but sideways and up/downways feels weird for navigating pages, which are naturally left/right. I have also prepared fixed layouts for both Korg controllers already, so they should look properly when the next Duplex update is published.

Edit: Oh and you probably have to change the PAD mode from Momentary to Toggle? Otherwise you will only mute a track as long as you keep a PAD pressed for example, but they should behave more like switches.

Sorry, no there’s derfinitely a space before the parenthesis - sorry about that… I’m just sorting the dump out…

Is this thread still about Duplex for Nanokontrol? It’s getting quite confusing who’s talking about what. Perhaps we can give each controller their own thread?

They’re somewhat related as they use similar sysex messages to communicate.

Anyway, I’ve updated all the files in the post above as per the image ;) X/Y are now cc#'s 62 and 63, SW1/2 are 60 and 61.

Thanks dude!

You’re right, sorry for hijacking. Maybe a mod could move the Kontrol49 posts here:

No problem, i’ll update the template in that other thread soon.

Can you start the padKONTROL Editor and make a screenshot like ours above, so that i can see what is assignable? Looks a bit similar and maybe we can do this together. We should probably start a new thread about it too then. :o

Updated KONTROL49 template with the latest scene sets from In-Fluence, changed XML naming scheme to match the Korg software. This is probably a final version for now, but requires a Duplex update. This one should go to the Google code SVN for inclusion.

In-Fluence, your controller also allows one to map the Pads Message Mode so we can integrate something like the Transport application too if you like.

[center]DUPLEX NOW WORKS WITH THE KORG KONTROL 49!!! Is this what im getting from this? How do I implemet this? just downlod the file above? This solves ALOT of my frustrations!

_o0m[/center]

Beatslaughter - you da man!

I’ll give a couple of points of feedback now:

Pads 1-4 and 9-12 are fine, but 5-8 and 13-16 don’t work. I had the same problem when I tried editing the BCR2000 (I think) mappings. The pads definitely work fine and are sending the right CC#'s. *edit - Going on a hunch, I decided to set the columns to ‘8’ for each group and they work! Maybe it’s a duplex/API bug?
Slightly related is the fact that the button layout is a little messed up - are both of these related to what might be fixed in the next duplex revision?

On the footnotes (thanks for my inclusion), I can see you mentioned ‘pad 12’ for editing the ‘blinkoff’ option - this is pad 16 on the K49 ;)

Transport isn’t really an issue as it works fine with ‘Message’ and pads 1-8 (panic,snap,noteoff,gm-on,stop,start,continue,tap) pressed provided you set up renoise’s midi settings accordingly.
As for ‘msg pads’ 9-16 (actually named MESG1-8), I’m thinking +/- instrument number, +/- instument slot, +/- track number, repeat block and edit on/off.

I’ve been somewhat busy with personal stuff so I’m trying to dip in and help where I can, but it looks like we’re getting there!

p.s. I forgot to apologise for kind of hijacking the nanokontrol thread - thanks for sorting the new topic too mods & co. :)

You’ll have a working Kontrol49 with Mixer and Effect applications for Duplex, when the new Duplex update is out. If you want to use it with the current release 0.84, you’ll have to edit the Kontrol49.xml file and either delete the columns=“4” attribute for the pads or change it to 8, like In-Fluence has done. Korg Native Mode support is planned for the future, but i’m also still working on my tools, music and other stuff, so this will not happen that quick. For now i just wanted to have basic MIDI support.

Yes, that’s currently a bug in Duplex and you’ve applied the workaround for the current version yourself already. That’s also why i have written, that this template needs a Duplex update. ;)

cough

But this is quick to change… :)

Will need to have a look if there is some Duplex application already, which includes these. Also i’m seeing these Korg templates more as temporarily solution, until i have the Korg Native Mode implemented. Should be much more fun then. :)

Attached is a version, which fixes the PAD number typo.

.

K im no programmer (just learning actully Lua will be my first language) soo… wtf do I do? lol. Thanks ahead of time for your patience![center]
[/center]_o0m