Duplex Beta Versions

Great! But how about the ability to hold the button and scroll through many lines (“key-repeat” style) - does that work too?

I’m planning to extend this application to include single lines, editstep, next/previous column/track navigation etc. Maybe even include pattern selections? Suggestions are welcome.

They have this suffix appended when the MIDI port isn’t specified/opened. Your Oxygen should no longer have the “N/A” appended, once you have selected the right MIDI port?

Yes, generally speaking Duplex will not update controls unless they are controlled by a Duplex application. In your case, the Oxygen configuration does not specify anything except for the two buttons - but at least they should be reponding just fine?
This feature might be implemented at a later stage, however. It would be cool to have this visual indication that messages are being picked up…but you can always see that the tiny MIDI input LED in the upper Renoise toolbar is blinking when messages are received.

Edit: oh, and btw: what OS are you running? I never got the error message you did while testing this release. Would be nice if I could somehow pick up such an elemental error before publishing it!

thank danoise for making this tools i have a question for you i use a Quneo with duplex but a have to big problems

first duplex can send midi to the Quneo but the Quneo cannot send midi to duplex

second how can i configure the Quneo in duplex because i try midi map it doesnt work and i m very dummy with all those stuff …may be there is some script to do or something else???

if you could help me it should be very nice

emmanuel

Hi Emmanuel,
generally speaking, support for the Quneo is still quite rudimentary, but you should be able to make many interesting configurations for it(mixer, sequencers, drumpads). See also the Quneo/Duplex discussion located here.

first duplex can send midi to the Quneo but the Quneo cannot send midi to duplex

Can you see if Renoise receives any MIDI from the Quneo (the MIDI tab in Renoise should list all messages) ?
Also, the Quneo configuration that Duplex comes with assumes that the Quneo is configured in a special way - you might want to either change how the Quneo transmit messages (it comes with a utility to do this), or change the Duplex control-map for Quneo

second how can i configure the Quneo in duplex

Satobox has written a nice introduction to this, located here.
Quneo is a complex controller so don’t be afraid to ask questions.

Hi is it possible to add “hold” button mode for “launchPad keyboard” ?..

I would like to use it as a sampler, but when i try to modify by myself “Launchpad_Keyboard.xml” and replace “type=key” with “type=button” it doesn’t work at all…

Thanks

Hi is it possible to add “hold” button mode for “launchPad keyboard” ?..

I would like to use it as a sampler, but when i try to modify by myself “Launchpad_Keyboard.xml” and replace “type=key” with “type=button” it doesn’t work at all…

I assume you are talking about using the LP as live-triggering drumpads/keyboard?

Because then, “hold” mode is indeed something the Duplex Keyboard needs to support. Same is true for “mono”, btw.

But you can’t add it the way you describe - the controlmap is merely a passive description of the controller layout.

And since the Launchpad is born with a single button type changing this will only break things.

Rather, these modes need to be implemented straight into the Keyboard application…(on the TODO list)

A new release of Duplex has arrived:

https://forum.renoise.com/t/duplex-beta-versions/30625

Following up on the above post, this release is focused on improving the Keyboard application with support for the “mono” and “hold” trigger modes.

Also, the grid layout has been expanded to support extra layout modes: isomorphic, harmonic and piano-style layouts, with realtime support for the selected harmonic scale and key.

Adding a keyboard configuration for your own controller is simple, as long as it’s supported by Duplex - you can use the monome or launchpad configurations as a starting point (and please share any such configuration ;))

Core/Browser
- Decorate open device dialogs when hardware is hot-swapped
- Prevent notifier feedback in browser dialog

Core/MessageStream
- Better handling of "soft_echo", respond only to programmatic events

Core/OscVoiceMgr
- Support for trigger options (hold/mono modes)
- Register_callback(), makes apps able to receive notifications

Core/Device
- Changed the interpretation of "colorspace" a little: monochrome devices
are now specified as {1} instead of {1,1,1}

Applications/Keyboard
- Support harmonic scales (scale and key)
- Custom grid layouts (harmonic, isomorphic layout and piano emulation)
- Support for trigger options (hold/mono modes)

Applications/Instrument (new)
- Control basic instrument options

Documentation
- More links and descriptions

I wanna thank you. This tool is great.
I’ve made mapping for mk-449c. I can upload it if anybody wants.

The best thing is i can use instr. automation device with auto-assigned controls very fast. It is one of the fastest midi mapping of VSTi i know.

Hi,

I read on some old posts about Duplex being extended to support Ableton Push, but it looks like this has completely ‘gone cold’.

Ive a Push and Id be interested to look into developing this… is there any work that could be salvaged from aborted attempts?

Im a developer by trade, and I’m reasonably familiar with the messages sent out by Push in ‘user mode’ … but I’m new to Renoise, so really just need some pointers for getting started,

e.g. say another similar device… and also the cabapilities of Duplex. (e.g. id be very interested in having LCD support)

also is Duplex the right place to do this, or is there an alternative?

Thanks for any pointers

Mark

I read on some old posts about Duplex being extended to support Ableton Push, but it looks like this has completely ‘gone cold’.

This topic, I guess?

https://forum.renoise.com/t/duplex-ableton-push-support/39183

Yes, it’s true that the project went kind of cold. Mostly because I don’t have access to a Push and have put myself in a position where any update to Duplex sort of goes through me. From what I can gather, nothing would prevent Push from being supported, and this is turn would mean that an ever-growing bunch of applications would just work (isomorphic keyboard, several sequencers etc.).

So yeah, it would great to have proper Duplex support instead of having to re-invent the wheel each time you want to create something for the Push.

Btw: I just implemented proper NRPN support in Duplex, maybe this would be useful with the Push too? (esp. thinking of the ribbon control). The feature still need a bit of finetuning, but a new release is coming soon.

Another release of Duplex, this time focusing on (finally!) getting proper 14-bit support.

With 14-bit CC/NRPN support, the range of values increases from 128 to 16384 possible values (including both relative and absolute modes). Mostly applications like the Effect and Mixer will benefit from this, but I suspect other things could be improved as well?

For now, I have supplied configurations for the Behringer BCF/BCR-2000 controllers, Check them out, as well as the accompanying documentation, to see how it’s implemented. I’d be very interested to hear about other controllers that support 14-bit resolution, like the MPD32 :slight_smile:

Also, the MidiDevice now has “input throttling”. This became necessary, as an NRPN-enabled device can easily output a lot more messages, effectively flooding the system with messages. I’ve set the threshold to a relatively low value that shouldn’t affect “normal” device operation (when several messages appear from the same source within 0.05 seconds, throttling will kick in. Note that the last received message will always be passed on, even when being throttled).

Total list of changes:

Core/MidiDevice
- 14-bit CC + NRPN support (absolute/relative modes)
- Input throttling (ignore input when above a certain threshold)

Core/OscVoiceMgr
- Method for stopping all active voices

Core/Controlmap
- <Param @throttle> (new), enable/disable (MIDI) message throttling
- More thorough parsing of XML (additional error messages)

Core/Message
- Ability to hold multiple MIDI messages (midi_msg -> midi_msgs)

Core/Display
- Ability to send multibyte CC/NRPN messages to device

Core/UISlider
- 14-bit CC + NRPN support (absolute/relative modes)
- Encoder acceleration (amount specified in Duplex prefs)

Core/UIComponent
- More thorough "is changed" check when updating palette

Core/StateController
- Dedicated method for updating trigger button

Application/Keyboard
- New mapping: All notes off
- Broadcast ModWheel as CC#1 (according to MIDI standard)
- Added keyboard cycle icons to palette
- GridLayout: add note info (text) to buttons

Controllers: BCF/BCR-2000
- Now defaults to bi-directional communication
- Added NRPN controlmap/configurations

Controllers: Launchpad
- Keyboard config: added "all notes off", "cycle layout" mappings, using States

Controllers: MIDI Keyboard
- Controlmap/configuration: added ModWheel mapping

Impressive work!

Thanks for this, I have an mpd32 so will try to give it a go soon. The whole project is truly amazing.

very good work but i have to report a problem with effect application.on parameters variable.

when it works on master track lpb’s knob will generate only odd numbers (midi values are from 0 to 127 while lpb is from 1 to 256)

i think this might be a problem with other parameters too and i don’t know how to eradicate this behavior from my configuration :frowning:

p.s.: mpd26 preset configuration file missing two commas after mixer pages rows :smiley: :stuck_out_tongue: :wink:

Windows Xp and clean install of renoise 3.01 32bit.
Duplex cant be load.

"‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Tools\com.renoise.Duplex.xrnx’ failed to load.

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

.\Duplex/Applications/MidiActions.lua:242: module ‘Bindings’ not found:

no field package.preload[‘Bindings’]

no file ‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Tools\com.renoise.Duplex.xrnx\Duplex/Applications/MidiActions/Bindings.lua’

no file ‘.\Bindings.dll’

no file ‘E:\Renoise\Bindings.dll’

no file ‘E:\Renoise\loadall.dll’

no file ‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Libraries\Bindings.dll’

no file ‘E:\Renoise\Resources\Scripts\Libraries\Bindings.dll’

stack traceback:

[C]: in function ‘require’

.\Duplex/Applications/MidiActions.lua:242: in main chunk

[C]: in function ‘require’

.\Duplex.lua:48: in main chunk

[C]: in function ‘require’

main.lua:7: in main chunk"

Windows Xp and clean install of renoise 3.01 32bit.

Duplex cant be load.

Seems Duplex fails to load a supporting file for the MidiActions application.

I wonder if the Czech name for the application folder has something to with it… ? Will try and give it a quick look

As a quick workaround, you can disable the MidiActions application by giving it a different extension than .lua (or removing it altogether).

The file is located in the Duplex tool folder under Duplex/Applications …

Thank you.
It can be because ive always used english version of windows till now.
But still doesnt work.

‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Tools\com.renoise.Duplex.xrnx’ failed to load.

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

.\Duplex/Applications/Mlrx.lua:115: module ‘Mlrx_group’ not found:

no field package.preload[‘Mlrx_group’]

no file ‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Tools\com.renoise.Duplex.xrnx\Duplex/Applications/Mlrx/Mlrx_group.lua’

no file ‘.\Mlrx_group.dll’

no file ‘E:\Renoise\Mlrx_group.dll’

no file ‘E:\Renoise\loadall.dll’

no file ‘C:\Documents and Settings\Akiz\Data aplikací\Renoise\V3.0.1\Scripts\Libraries\Mlrx_group.dll’

no file ‘E:\Renoise\Resources\Scripts\Libraries\Mlrx_group.dll’

stack traceback:

[C]: in function ‘require’

.\Duplex/Applications/Mlrx.lua:115: in main chunk

[C]: in function ‘require’

.\Duplex.lua:48: in main chunk

[C]: in function ‘require’

main.lua:7: in main chunk

Btw. Is it possible to change default location of tools?
It would be amazing because of portable studio…

How do I import a mapping to Renoise? Can’t seem to get it to work. Can assign things manually, just not import the XML / LUA files.

How do I import a mapping to Renoise? Can’t seem to get it to work.

What exactly constitutes “a mapping”?Are you planning to control Renoise, or do something else?

Is the controller one of the supported models?
https://docs.google.com/spreadsheets/d/1FNVvQQPAv51Rl0tZkhvLSLawJY3frvL4kvtobGaH9Fc/edit?usp=sharing

A bit of background: Duplex is intended to control or extend certain aspects of Renoise - think mixing consoles, step sequencers etc. And all supported controllers in Duplex are already wired (via those XML mapping files).

In case of a supported controller, you only need to specify what each button/control does. When something is _done_in Duplex-land, it’s always the responsibility of a Duplex application - so essentially, Duplex can’t do something if none of it’s applications have that ability.

The linking of hardwarewith software is done in something called a device-configuration file. Sato wrote some info about getting started with / understanding these files:https://forum.renoise.com/t/how-to-start-editing-duplex-files/30979

Jeg siger mange tak! I had the wrong end of the stick, entirely. Makes sense following your clarification. Now to have a fiddle with Duplex!

Thanks for the changes you’ve made, great i can do what i want with the launchpad…

I’ve now a problem with “Mackie Control” :

=> When i move faders from renoise mixer view, the faders of my Alesis MasterControl and duplex mixer move

=> When i move faders from my Alesis MasterControl and duplex mixer, the faders of renoise mixer view don’t move, so now i can’t control volume of the tracks

=> Other functions and buttons work…

I tried to look inside the code but nothing looks wrong, it’s the same that the older version of Duplex

I’m now with the last Renoise ver end last Duplex Beta, it looks like the problem appear with renoise R3…