Duplex Akai MPK225 work in progress

I’ve made an xml for the Akai MPK 225. Before I assign functions to the drum pads on the .lua script, I was wondering how I’d go about assigning Focus Keybindings to the pads, since Focus doesn’t exist in the MIDIActions bindings-or does it?

The idea is to have the 8 drum pads on Bank A(Bank not relevant) focus on a different screen: Pattern Sequencer, MAtrix, Editor, Instruments, DIsk Browser, etc. These would be selected with the left hand, then the 4 “S” buttons on the right side are used for navigating within the focused section with the right hand. The “S” buttons have HID functions built in, so they don’t require any scripting to send key strokes.

I’ve tried other strictly MIDI and HID solutions(column, track, matrix, and dsp navigation on the left side drum pads and keybindings on the “S” buttons)but the numbering, movement, and versatility is more limited, or it requires extra control bank cycling. I’m trying to lose the mouse and not have to cycle through controller banks. Maximum navigation with minimal buttonage. This is only my 2nd time doing this, and I’ve no actual scripting skills.

Hi Matt,

The idea is to have the 8 drum pads on Bank A(Bank not relevant) focus on a different screen: Pattern Sequencer, MAtrix, Editor, Instruments, DIsk Browser, etc. These would be selected with the left hand, then the 4 “S” buttons on the right side are used for navigating within the focused section with the right hand.

MidiActions should have those focus mappings :slight_smile:

If you send me a copy of your XML and explain which buttons you want the assignments on, I can prepare a sample configuration for you?

Thanks for the help! Attached is the rough-draft xml. For the moment, I’d just like buttons 1-8 to be various screen focuses.

mattnasty, sorry man - I forgot about this. Probably the flu I was having back in early April :smashed:

But I’ve just add your template to the most recent Duplex beta, including just the switchers we were talking about.

The buttons 1-8 are now triggering the various views in Renoise, starting with the pattern editor then mixer, sampler etc.

You probably want to set up the configuration so that the controller spits out “normal” MIDI to Renoise for the remaining buttons.

This is done in a couple of steps:

  1. go into the Duplex options and check off ‘pass unhandled MIDI’ while the MPK configuration is shown

  2. then head into the Renoise preferences and enable the OSC server.

  3. now, any MIDI message from the MPK should be passed on to Renoise - except the switches :slight_smile:

Looks awesome, and I love the FocusSwitcher Configuration Settings! …However, there are some issues:

-certain GUI triggers don’t work(show scopes for example)

-[set] commands tend to not focus, but rather only show

-Also the available functions seem to be incomplete. I haven’t yet compared the FocusSwitcher settings list with the ones available from globalmidiactions.lua but there are definitely some extra available GUI/Navigation MIDI mappings, in the standard MIDI mapping tab. Are those the same functions that what globalmidiactions.lua interfaces with?

-As I recall, my problem when making the controller using only the Global MIDI mapping options (outside of lua) was that the show/trigger behavior wasn’t guaranteed to work or focus properly. Some of the MIDI commands focused, some only showed-generally, but not entirely based on the trigger/toggle/set. Some don’t even exist. The same problems seem to be present in Duplex. The keyboard shortcuts for focus/show are very reliable, and much more complete however. The keys seem to be great, the MIDI-not so much. It could just be a larger renoise issue? Or maybe my setup?

Thank you Thank you Thank You!

certain GUI triggers don’t work(show scopes for example)

Hm, works here. Remember, it’s a trigger so it won’t toggle - pressing it might only do something the first time.
For example, if I assign the mapping called “Show Track Scopes”, enable the spectrum in the upper tab and then hit my trigger button, the scopes show up just fine.

But you are right that certain mappings are not shown. Generally speaking, all ‘toggle’ mappings are skipped (only ‘set’ and ‘trigger’ being included for now).
The reason is, that it’s usually pretty trivial to make a set behave like a toggle on the controller.

Also, there is a huge chance of mappings getting overlooked since the integration is done by hand. I certainly had overlooked a few details/changes in the most recent Renoise API, although they should now be fixed with the 0.995 Duplex release

The Duplex MidiAction integration relies on an additional file called ‘Bindings.lua’. This file is handcrafted, and makes it possible for the MidiActions application to make sense of the native Renoise mappings by adding some extra, semantic information. If something is missing or incorrect in that file, the mapping will not work.

You can also add your own methods to Bindings.lua if you feel adventurous.

[set] commands tend to not focus, but rather only show

Certainly seems true for the Modulation and Effects tabs. When switching here, focus is simply…nowhere?
This is a currently weakness of the Renoise API - querying and setting focus is not fully implemented. That said, focus somehow being completely gone seem like a genuine bug and should be fixed.

But you are right that certain mappings are not shown. Generally speaking, all ‘toggle’ mappings are skipped (only ‘set’ and ‘trigger’ being included for now).
The reason is, that it’s usually pretty trivial to make a set behave like a toggle on the controller.

Also, there is a huge chance of mappings getting overlooked since the integration is done by hand. I certainly had overlooked a few details/changes in the most recent Renoise API, although they should now be fixed with the 0.995 Duplex release

The Duplex MidiAction integration relies on an additional file called ‘Bindings.lua’. This file is handcrafted, and makes it possible for the MidiActions application to make sense of the native Renoise mappings by adding some extra, semantic information. If something is missing or incorrect in that file, the mapping will not work.

You can also add your own methods to Bindings.lua if you feel adventurous.

Agreed about the triviality. I’m definitely feeling adventurous on this one, and I’ll have a look at modding Bindings.lua. Thanks for pointing that out. I’m pretty busy with my job, so any “timely” work on this probably won’t happen:(

Certainly seems true for the Modulation and Effects tabs. When switching here, focus is simply…nowhere?
This is a currently weakness of the Renoise API - querying and setting focus is not fully implemented. That said, focus somehow being completely gone seem like a genuine bug and should be fixed.

+1 Next Renoise update:)

Hi,

I connected my new MPK225 to Renoise and started Dupblex-MPK225.

I expected that something will happen or will usefull for the use of my new device.

After playing around I see no function in this Controller-Config.

Should there a function or is this old stuff no more working.

regards

Harald

@Harald42: did you select the device in the Duplex browser (“Settings”)?

Duplex is bypassing Renoise MIDI, uses its own implementation.

In any case, this configuration doesn’t do much. Switching focus between parts of the Renoise GUI - useful, but not exciting.

Additional configurations can be added by hand though, so the MPK could potentially do everything listed on this page.

Here are some useful links regarding all things duplex:

https://github.com/renoise/xrnx/blob/master/Tools/com.renoise.Duplex.xrnx/Docs/Resources.md

@Harald42: did you select the device in the Duplex browser (“Settings”)?

yes - I did.

Duplex is bypassing Renoise MIDI, uses its own implementation.

And I adjusted the Midi-Settings on MPK225 to the settings in

harald@hp350:~/.renoise/V3.1.0> ll Scripts/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Akai-MPK225/Controlmaps/MPK225.xml

In any case, this configuration doesn’t do much. Switching focus between parts of the Renoise GUI - useful, but not exciting.

Why is this usefull? F1-8 is doing this switch. What is the advantage?

In Duplex/MKP225 all configs are “unasigned” What is the way to assign?

Additional configurations can be added by hand though, so the MPK could potentially do everything listed on this page.

Here are some useful links regarding all things duplex:

>https://github.com/renoise/xrnx/blob/master/Tools/com.renoise.Duplex.xrnx/Docs/Resources.md

Thanks for your hints and help