Duplex Beta Versions


(ffx) #501


(danoise) #502

A new beta has arrived. 1.04,

This release contains improvements to several applications.
Not manyopen issuesare left, so if anything is broken please let me know.

- Added: StepSequencer - allow transposing while playing / holding down button
- Added: StepSequencer - cycle layout mapping (implemented in Launchpad config)
- Added: StepSequencer - more finegrained control of track/line follow behavior
- Added: Keyboard - grid display options : key/sample highlighting + note labelling
- Added: Launchpad configuration - "Drumpads" (four instances of Keyboard app.)
- Added: Matrix - on-the-fly pattern switching tries to 'keeps the beat'
- Fixed: StepSequencer - could throw error when navigating to non-selected pattern
- Fixed: StepSequencer - force-remove all observables, some performance tweaks 
- Fixed: Keyboard - HarmonicWrapped layout + scales no longer shows duplicate notes
- Fixed: Navigator - more stable when switching between non-/selected patterns
- Changed: don't run OSC server test by default. Can still be run from options
- Updated Mlrx configuration for Launchpad (now includes all mappings)
- Deprecated UIKeyPressure, UIPitchBend (using UISlider instead)

Here’s an example of how the new keyboard options work:
duplex_keyboard_may17.gif?raw=1


(danoise) #503

I would suggest that automation reading of a parameter is completely disabled while recording. So like an “arming” mechanism. Even on overwrite, the already existing data should not be read. Imagine a motorized fader, how annoying overwrite works then. Such a mechanism is missing Completly, AFAIK.

I happen to have a BCF with motorized faders. Well aware of the issue that they are not always set to the right value.

Luckily, such feedback detection/prevention is built in to Duplex when controlling hardware.

Now, I need to figure out under which circumstances this automation issue could arise. Then, a similar solution should be possible.


(boonier) #504

Looking forward to testing it thanks. Just one idea , could the vertical triggers on the right be mapped to the velocity of the pads?

Also if you have Voicerunner installed, could you map one of the keys to sort the notes into unique columns, or after a timeout?


(danoise) #505

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…


(boonier) #506

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:


(detektiv_plok) #507

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>

(danoise) #508

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.


(detektiv_plok) #509

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


(danoise) #510

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.


(basement) #511

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


(danoise) #512

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

Should be fixed here
attachment=7619:com.renoise.Duplex.v1.06a.API5.xrnx

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.
https://github.com/renoise/xrnx/blob/d5a5b1304d88714ef43375e17625641b784c8b45/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Monome/README.md


(Jalex) #513

plz add beatstep pro!!


(Tumulte) #514

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.


(boonier) #515

@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:


(danoise) #516

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

https://github.com/renoise/xrnx/tree/bug/duplex-monome-nil-issue/Tools/com.renoise.Duplex.xrnx/Duplex/Controllers/Launchpad/Controlmaps

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


(boonier) #517

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


(danoise) #518

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.


(slippycurb) #519

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…


(danoise) #520

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:

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