Programmatically changing MIDI mappings bound to track FX

Hello,

I’m trying to figure out how to dynamically map some knobs on my Yamaha Motif XS8 to a given FX parameter for the currently selected track. The problem leading me down this path is that the built-in MIDI bindings offered in the UI are bound to FX modules on individual tracks, and can’t be dynamically changed depending on the selected track.

For example, I’ve added an “mpReverb” FX module to each track, and what I’d like is to be able to control the duration of the reverb with a single knob on my Motif XS8, but only do so for the currently selected track.

I just want a line of code that says “map this knob to this parameter”, which takes in the track number, FX name, and MIDI details (Channel, CC) as inputs. Can this be achieved with the LUA API?

Someone mentioned that Duplex might help, but it’s unclear to me how to use it for what I’ve described. I can’t find any luadocs for it, since the link from the Duplex docs is broken (see https://github.com/renoise/xrnx/blob/master/Tools/com.renoise.Duplex.xrnx/Docs/Resources.md). Paging @danoise on the broken docs link.

Does anyone have any suggestions for how to programmatically manipulate mappings for track-specific FX parameters?

Thank you!

Forget about the Renoise API.
Steps:

  1. Go to Renoise: “Midi Mapping” window (CTRL + M)
  2. Go to Global Mappings / Track DSPs / Selected FX

Here you have up to 32 ordered parameters, from 1 to 32, valid for all devices. Map the top 9 (or some) and give it a try. Duration is the firt parameter: parameter 01. Chage the track and you use the same physical knob. I suggest you use the “relative mode” on 360º knobs to map.

You can also change the device selection in the effects chain of each track from a physical knob, or select the track …