So I tried to load the template, and unfortunately I don’t think the MK 1 can read a Mk II template. Sucks, but oh well. I’m starting to get the hang of automap and really like it in a lot of ways. In others though, it’s a huge headache. Mostly because the template editor is just a freaking mess. It’s super buggy. They really need to fix that thing.
Don’t give up just yet - the templates are just basic text files, with the MKII one looking like this:
Click to view contents
<?xml version="1.0" encoding="UTF-8" ?>
If you provide yours (i.e. by saving it from the Automap editor), we could most likely adapt it by hand.
Just a quick FYI that Duplex 0.99 got released yesterday.
-- Changelog for Duplex 0.99.1 ------
Duplex Core
* Some classes split into separate files (MessageStream, BrowserProcess etc.)
* Updated documentation (/Docs), now including application classes
* Global enumerators now stored in tables instead of separate variables
(ORIENTATION.VERTICAL instead of ORIENTATION_VERTICAL)
Core/MessageStream
* FIXME Caching can break multiple UIComponents listening to the same signal
Core/Application
* FEATURE Specify "midi_mapping" property (string) when creating a UIComponent
instance (will make it highlight when Renoise MIDI mapping dialog is open)
* FEATURE Hooks for when Renoise gain/loose focus:
on_window_became_active/on_window_resigned_active
Core/Automation
* FIXME make it possible to record from any track, any pattern (follow_pos)
* FEATURE specify preferred playmode (points/linear/cubic)
Core/Controlmap
* TWEAK No more need to explicitly state "is_virtual" for parameters that only
exist in the virtual UI - just leave the value attribute blank
Core/Browser
* FEATURE Button to show/hide virtual control surface (access with TAB key)
Core/ProcessSlicer
* Implementation of lua coroutines (see Mlrx_track.lua for example)
Applications/MidiActions
* FIXME Problem on Windows when looking for user-specified GlobalMidiActions
Applications/Mlrx
* FEATURE Phrase recording
Controllers/MPD32
* New configuration: PerformancePads
Controllers/BCD-3000
* New controller template, no configurations yet...
I got it to work! It was my fault. I didn’t realize that I had to set the automap software to “midimode.” Once I did that it worked. Automap does seem to be really buggy with Renoise though. They don’t seem to communicate well. For example, when ever I change a Duplex map then I have to refocus Automap. Kind of frustrating. Also, it doesn’t seem to intereact with plugins at ALL. It doesn’t recognize any knob changes even though I’ve opened an automap plugin. I have automap focused in the software to the plugin, it shows the paramaters on the screens, but there doesn’t seem to be any communication between Renoise and automap. I could be doing something wrong though, obviously. I might have the settings weird? I did search through the Renoise forums about automap though, and I found a lot of posts where people were saying the same thing with no solutions ever offered.
You did hit “fx” or “instr” on the controller? You need to switch to the proper mode first…
If not, it sounds Automap, not Renoise related though…Maybe you will have better luck searching Novation/Focusrite, or asking on their forums.
Developers - your opinion is wanted:
Good ideas?
Is it possible to run multipe instances of duplex (eg one launchpad on GridPie and another on XY Pad/repeater)?
Yes, you just need to change the “display_name” in the configuration file. This will make it appear as a separate device in the device browser. Quoting from the manual:
Hi there, just a quick question - can one change the way instruments are layed out in Duplex/Step Sequencer application ?(preferably, different instrument per row as in Cie tool). Thanks in advance for reply!
edit. Sorry, I didnt wrote for which controller - Launchpad.
Absolutely, just name the track after whatever instrument you want to control
Ah, this is great, thank you !
Step sequencer is working great, but I am having some problems with grid pie in duplex. Specifically, I am getting Renoise crash when I try to perform direct copying or un-aliasing of patterns and also when I am trying to record in session mode. Is there a way I can send a dump/log, so You can see what is going on?
Thanks!
A Renoise crash - that’s not good. If you can reproduce it, it might be worth to copy and paste the last few lines of the log file
(Help menu > Show the log file) and then posting it as a bug report
Of course, I want to fix this in grid pie too, but crash bugs have first priority
Ok, I just posted a bug report here:
http://forum.renoise.com/index.php?/topic/42361-duplex-grid-pie-launchpad-renoise-crash/
Let me know if You need more details, thanks!
Another update of Duplex has arrived. Get it here
This time around, there is finally support for 14-bit MIDI pitch bend.
For anyone with access to such a controller (and there aren’t that many around), it would be great if you could drop me a PM so we could get proper device support.
Also, MMC support is now built in. This means that you can send MMC sysex commands to Duplex without running any applications, and still control the song transport.
And if you have been looking for a good iPad keyboard, Duplex now has a configuration for discoDSP’s “KeyPad”. You can head over to their website to download the template: http://www.discodsp.com/keypad/
Last, but not least, Duplex now has something called States. They are XML based “namespaces” that you can add to a control-map, basically allowing you to show and hide certain parts of a control-map while the device is running. Very handy when you are running out of room on the controller, want to conserve space, or when the application just isn’t flexible enough to be mapped the way you want it to.
Also, states are quite a complex subject, so expect me to post a separate topic to cover this in more detail. For now, you can peruse the Duplex docs (part of the download) to learn about this new feature - in particular, you want to check out “ControlMap” and “StateController”.
-- Duplex 0.99.3 -----------
Core/StateController
* New class, StateController (toggle parts of control-map in realtime)
* See also ControlMap.lua and MessageStream for details
Core/MidiDevice
* Support for MMC (Midi Machine Control) messages over sysex
* Support for 14-bit MIDI pitch bend messages
* Ability to pass unmatched (not just unhandled) messages to Renoise
Core/OscDevice
* Ability to dump OSC message to console (just like MIDI messages)
* Feedback prevention: optionally block messages that appear to be echoed back
Core/ControlMap
* <param> (new), match a specific (CC) value
* <param> (new), match a (CC) value-range
* <param> (new), explicitly state the value resolution (e.g. 7 or 14 bit)
* <param> (new), interpret parameter in the context of a specific device class
Core/MessageStream
* Ability to cache multiple matched ui-components (implemented as queue)
* Integration with StateController
Core/UIComponents (all)
* Refactored force_refresh method into base-class
* UIComponent:test() now include test for active state and group-name
Core/WidgetHooks
* Improved validation methods
Core/Applications
* Removed some print statements that were overlooked
Core/Controllers
* All device classes should now be using output_number/boolean/text methods
Applications/PatternCursor
* New application, take control of the pattern cursor (preview release)
Controllers/Oxygen88
* Control-map / configuration for the M-Audio Oxygen88 controller (preview)
Controllers/TouchOSC
* Control-map / configuration for on-screen keyboard
Downloaded, tried to install, and on renoise startup i get the following error:
'/home/user/.renoise/V3.0.0/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/Controllers/APC40/APC40.lua:36: variable 'APC20' is not declared
stack traceback:
[C]: in function '_error'
[string "local mt = getmetatable(_G)..."]:29: in function
.///Duplex/Controllers/APC40/APC40.lua:36: in main chunk
[C]: in function 'require'
./Duplex.lua:60: in main chunk
[C]: in function 'require'
main.lua:7: in main chunk
Oops, sorry about that. Should be fixed now, try downloading again…
It was just a single character that got mixed up (APC20 instead of APC40)
Thanks, works perfectly!! />
/* edit */
Just wondering, in the “duplex browser” window, why are all the devices in the “devices” list (including my oxygen88) marked as [N/A] ?
Also, when i move the sliders & knobs on the (physical) oxygen88, the ones on the window don’t respond…is this normal?
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