Duplex Beta Versions

Just one idea , could the vertical triggers on the right be mapped to the velocity of the pads?

OK, I thought you had an idea by leaving them unassigned. So I figured I wouldn’t totally screw around with the configuration.

I only fixed the invalid notes and added the labels to make those groupsmore obvious.

But sure, it’s possible. I can even think of two ways: one, where they all share that strip for controlling their velocity, and another approach where the strip would be mapped to control the keyboard velocity in Renoise (you know, the little button in the topmost toolbar that controls the velocity of the QWERTY) - because, Keyboard can use this to control the volume level level as well. I think both are valid, just a matter of preference.

As for Voice-runner, last time I checked, all the important buttons were MIDI mappable :smiley:

So you just need to enable “pass unhandled messages” in Duplex, then you should be able to assign it to the Launchpad…

All good - I just wired up the velocity as you said. When you say they all share, did you mean all the pad banks?

Just noticed something in the Keyboard config with that same bank of buttons that they no longer change the harmonic key. Throws this error:

Warning: voice manager received a process without a configuration userdata: 0x0x103e9f64 (BrowserProcess object)

Cheers :slight_smile:

Thanks for the update. Tried to use the XY pad (issue #55) with TouchOSC, but something has broken I think. Renoise throws the following error message when you want to control anything via TouchOSC:

'C:\Users\...\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\com.renoise.Duplex.xrnx\main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.

Please contact the author (danoise) for assistance...

no static 'pack_args' in class 'cLib'
stack traceback:
  [C]: ?
  .\Duplex/ControlMap.lua:701: in function 'match_osc_param'
  .\Duplex/ControlMap.lua:821: in function 'get_osc_params'
  .\Duplex/OscDevice.lua:222: in function 'receive_osc_message'
  .\Duplex/OscDevice.lua:201: in function <.\Duplex/OscDevice.lua:160>

Thanks for reporting. it was indeed related to the recent update. So I’ve fixed the fix :slight_smile:

Makes me wish it was easier to grab Duplex from github, but here is my current development version:

7411 com.renoise.Duplex.v1.04.1.API5.xrnx

Btw: if you’re running that particular TouchOSC configuration you might want to disable the tilt sensor. For some reason, it’s flooding that layout, making the XY pad very sluggish.

Great! Thanks for the quick fix. Everything seems to work just fine now. :slight_smile:

Duplex v1.05 has been released:

- Fixed: error when interpreting XYPad arguments #101
- Tweak: Navigator - improved carry-over-loop implementation
- Added: Matrix - new mapping, 'trigger_labels', to show pattern names in sequence
- Added: Matrix demo config, demonstrating all features

With only a few bugs left, I decided it was time to put it on the tool page.

Hi, I have a problem with monome128 app with the Duplex v 1.05

Comunication between apps and grid seem ok (led lighting on the 128 when ‘run’, play or gui leds are pressed) but when I press a led on the monome I have this message:

‘/Users/lXXXo/Library/Preferences/Renoise/V3.1.1/Scripts/Tools/com.renoise.Duplex.xrnx/main.lua’ failed in one of its notifiers.

The notifier will be disabled to prevent further errors.

Please contact the author (danoise [bjorn.nesby@googlemail.com]) for assistance…

./cLib/classes/cLib.lua:96: variable ‘NIL’ is not declared
stack traceback:
[C]: in function ‘_error’
[string “local mt = getmetatable(_G)…”]:29: in function <[string “local mt = getmetatable(_G)…”]:24>
./cLib/classes/cLib.lua:96: in function ‘pack’
./Duplex/ControlMap.lua:693: in function ‘match_osc_param’
./Duplex/ControlMap.lua:813: in function ‘get_osc_params’
./Duplex/OscDevice.lua:217: in function ‘receive_osc_message’
.///Duplex/Controllers/Monome/Monome.lua:148: in function ‘receive_osc_message’
./Duplex/OscDevice.lua:197: in function <./Duplex/OscDevice.lua:157>

Is there a script problem somewhere or I’ve done some error in my configuration?

Thank you

./cLib/classes/cLib.lua:96: variable ‘NIL’ is not declared

Should be fixed here

Note that it’s an alpha, still contain debug statements which will be stripped out before a “proper” release.

Btw: I wrote a little about how to create a fixed-port setup with serialosc on Windows, as it’s not a trivial thing to do.

plz add beatstep pro!!

plz add beatstep pro!!

I’ve used BSP for a while. Just by manually mapping each pad to a track and saving it as a template song.

@danoise Does this version have the ‘Drum pads Layout’ baked in now? Wanted to check before backing up the maps and configs. Last time I forgot and lost it! :frowning:

@boonier: I think it does - launchpad, right?


I think I hear Captain Obvious in the distance: “If in doubt, take a backup” :slight_smile:

Oh yeah it’s got my name on it still hehe. Thanks dude

Here’s a maintenance release of Duplex (v1.07), which should fix this bug.

7982 com.renoise.Duplex.v1.07b.API5.xrnx

If everything is working I’ll release it shortly.

could somone help me out here, been playing with mlrx on a launchpad. Is there a way to use midi controllers (knobs) to control effects on the tracks without having the automation recorded…I would just like to twiddle but mlrx seems to need to be in record mode…

There should be an option to control this - Settings > mlrx > Automation

Set it to “Read” and it should not record automation anymore (I think default is Read+Write).

More documentation:


thanks for that il bone up :slight_smile:

Here’s a maintenance release of Duplex (v1.07), which should fix this bug.


If everything is working I’ll release it shortly.

thank you for the fix. working ok now. when i started renoise, for the first time after installing the new duplex tool, gui automation recorder (another tool) crashed and was disabled, maybe it uses duplex in some way? also, does duplex only records automation to envelopes, no pattern recording? renoise’s record to envelope button does not change where the automation is written.

crash print:


Hard to tell what went wrong there, as I didn’t write that other tool. But ideally, they shouldn’t step on each others toes.

The tool didn’t get entirely disabled though - it’s just the failing component (notifier) that got disabled. It will be back the next time you run Renoise (or, if you have scripting enabled, you can “Reload tools” to reset everything).

also, does duplex only records automation to envelopes

Yes - duplex only support this mode for now. But, good idea nevertheless smile.png

My Launchpad S is seemingly failing on me and for the cost of repairing it, I may as well spend the extra on a Mk2 or ideally a Pro model.

Has any work been done to support the Pro model and the nice extras that it affords? I know it has the buttons for Ableton (seems everything bloody does these days), but with a bit of thought they could be reappropriated to fit into Renoises workflow. Duplicating and pattern editing would be a massive help for example.

But that aside, will it work - with a little tweaking for RGB colours - out the box as my Launchpad S currently does?