Duplex Beta Versions

No, it’s much simpler. I’m basically saying: to add a new device config, simply put the device configuration into /Configurations - and it will be included the next time Duplex is launched.
Also, this means that we can remove stupid and unnecessary sections like this one from nanoKONTROL2.lua:

– Include these configurations

local CTRL_PATH = “Duplex/Controllers/nanoKONTROL2/Configurations/”
require (CTRL_PATH…“MixerTransport”)
require (CTRL_PATH…“RecorderTransport”)
require (CTRL_PATH…“StepSequencerTransport”)
require (CTRL_PATH…“NotesOnWheels”)

I hope I made myself clear this time? I just wanted your opinion & input

Yes, I can understand now. Go go!! :D

I’m can’t seem to get duplex to communicate with my monome 64 using serialosc. First I tested with monomeserial and it worked. Then I edited the monome.lua file, and no dice. Normally I use max/msp apps with serialosc and there’s a “connect” button that automatically configs to the monome.

The monome settings in duplex browser seem to be configured for monomeserial. What steps should I follow to connect with serialosc?

Thanks!

Hey, I would like to know that too :slight_smile:

The new control-maps were submitted by nightmorph, he presumably knows how to use serialosc with Duplex?
Personally, I’m still using monomeserial on my main music machine. Trying to install serialosc right now on the other partition, let’s see what happens :slight_smile:

:yeah: GREAT JOB DANOISE THANK YOU SO MUCH

This is a reply to this post

In Duplex, each physical (or, in the case of TouchOSC, virtual) control can be represented in three ways: state (on/off), color (RGB) and text. So a “compound values” is then a question of representing / transmitting both color AND text as the current state. This is not so hard - the tricky part is to get the hardware details right (make it work across a wide range of gear, while keeping it flexible enough to be interesting.

We could end up with these slightly different features, which are technically related:

1. UILabel. A separate UIComponent which can display a text string (can be configured to one or multiple lines, contain X number of chars, etc.)
The UILabel will facilitate “LCD panel readouts” or just static labels that improve the readability of the virtual control surface (for example, put a label called “DSP devices” next to the Effect application’s device list)
The interface for setting the text should be specified by the device driver (e.g. TouchOSC.lua) - this can vary widely between devices, as different MIDI sysex or OSC message implementations have to be dealt with

2. Compound values. Display button text + color on the device / virtual control surface (currently, we need to choose between color OR text)
If the device supports dynamic text, use the same methods for updating the text as the UILabel

If the device doesn’t support text (the Launchpad, for example), it still represent an improvement for the virtual control surface (add those arrows which are painted on to the hardware)

You mean, because creating a template in TouchOSC is already a lot of work?
Well, control-maps are functional. You can’t skip that step, it is the thing that tell us which parameters are located next to each other (groups), and much more.

Sorry, I don’t understand. You assign mappings through a device configuration. This is as complex and unique as it gets.

I’m noticing a small issue and I hope this isn’t the wrong place to post this. After having used Duplex Grid Pie, every time I open Renoise, Grid Pie has been already loaded, and I have to go to duplex browser, uncheck run, and open a new project to get rid of the grid pie stuff. Is there something I can do so that Renoise doesn’t automatically load Grid Pie?

You probably checked “autostart configuration”, which means that whichever device configuration(s) you have checked will launch when Renoise starts.

So, it’s not a bug, it’s a feature :slight_smile:

PS: If you’re running the latest version, you’ll have an extra entry in the Duplex menu → Display on startup
This will make any running configuration “reveal itself” on startup (if you have no active configuration, it will have no effect)

OOOOOOHHHHHHHHHHHHHH i see >.<

@danoise

Temporary, I made the GridPie configs for APC20/40 & nanoKONTROL2.

2693 GridPie_for_APC_nK2.zip

But I cannot see the GridPie color specification for APC yet.
Unless colors are lit properly, I cannot get actual feeling so much (it’s a bit boring :( ).
Give me this color setting please… ;)

  
 self.palette = {   
 out_of_bounds = {   
 color={0x00,0x00,0x00},   
 text="",   
 },   
 selected_filled = {   
 color={0xFF,0xFF,0x80},   
 text="■",   
 },   
 selected_empty = {   
 color={0x00,0xFF,0x00},   
 text="■",   
 },   
 empty = {   
 color={0x00,0x00,0x00},   
 text="□"   
 },   
 filled = {   
 color={0xFF,0x00,0x00},   
 text="□",   
 }   
 }  
  

:excl: Btw, maybe we need an dedicated thread for suggesting about APC40’s layout.
I think APC20 is OK since I could touch and confirm it enough here.
But I could not understand about the right side of APC40 well.
It seems that APC40’s knob part has 4 banks, so we should be able to make more nice layout.

Sure - you’ll have customizable colors per device-configuration in the next version

I agree, I think it should be for both the APC20/40. I was thinking about merging our little APC discussion with this one:
https://forum.renoise.com/t/need-help-setting-up-duplex-and-apc40/29573

Duplex REALLY needs to go out of beta soon, but…I just added some more content

The big news this time is XYPad, a swiss-army knife type of application. Too complex to explain in a single paragraph,
I created this topic, for the discussion and feedback thereof.

Next, OSC bundling support is also good news. While developing XYPad, I discovered that wireless devices lost a lot of
messages (even for low-intensity traffic, this could become a problem). The solution is simple, and optional.
TouchOSC now support message bundling as the default, but wired devices like the monome are still using single
messages, as they have the sufficient bandwidth and speed.

The full changelog for the full 0.98 release:

Click to view contents

Done 0.98

Duplex API

  • New input method: xypad (supports multi-message values on OSC)
  • New UIComponent: UIPad (dual-value, or independant X/Y axis)
  • Control-map syntax:
    o Attribute names can now contain underscore
  • OscDevice: optional message bundling
    o No more lost messages on wireless devices?
    o Set per-device (for example, see the TouchOSC device class)
  • NRPN support (see http://goo.gl/xOAvf for details)
    o Feature is disabled per default, enable in Duplex menu)
  • Restructured device folders (separate configuration files)
  • Customizable palette for each application configuration
    o Will import specified values on top of default palette
    o See Launchpad XYPad configuration for an example
  • Automation class for recording controller movements
    o Touch and latch recording (latch is considered experimental)
    Automation class is utilized by Effect, Mixer, XYPad (so far)

Duplex browser/menu

  • Tool menu: devices organized into sub-menu’s
  • Tool menu: display on startup (only when active config)
  • Tool menu: release all devices (useful shortcut)
  • Tool menu: enable NRPN support

XYPad (new application)

  • For utilizing the new xypad input method on a wide range of gear
  • Lock to specific device across sessions
  • Navigate to previous/next XYPad device across tracks
  • Supports automation recording

Transport application

  • Fixed: incorrectly named “on_new_document” method
  • Minor optimizations (relies on notifiers where possible)

GridPie application (new)

  • Live recombination of an existing Renoise song
  • Paged navigation scheme (align to other Duplex apps like Mixer)
  • Supported on devices with buttons (required) and/or sliders
  • When device supports release, toggle pattern by holding button
  • Option: Follow position
    o Follow track and pattern (paged navigation)
    o Follow track but don’t follow pattern
    o Don’t follow

NotesOnWheels application (new)

  • Realtime phrase arpeggiator/sequencer
  • See the details here:

SwitchConfiguration application (new)

  • Switch config from the controller itself)

Mixer application

  • Soft takeover/parameter pickup for volume
  • Automation recording (default is off)

Effect application

  • Automation recording (default is off)

Device: Monome

  • Serialosc monomeserial interoperability

Devices + configs

  • New devices LPD8, nanoKONTROL2
  • Overall improved device configurations


Download and beta test

Hi thank Danoise!!!

:( But Grid Pie reset all when I switch to other configuration… and the light button for the Row and track turn Off on my launchpad…

Bumpe-ti-bump…

The manual covering Duplex has been rewritten to include changes in 0.98.
It’s better structured, with more images and illustrations, and (hopefully) better at answering all those often asked questions.

The first post in this thread has been updated with this link as well.

Download the new manual here (PDF, ~723KB) -

I need help! I’ve been having no luck at all getting Duplex to work; I held off on using it until the serialosc update, but now I’m trying to get it up and running it’s not working for me.

I have a monome 40h, and have successfully been using it with various Max patches so serialosc is definitely working as it should. When I open Duplex I choose the Monome 64 GridPie option, but when the interface opens my monome is listed as Monome 64 [N/A] (running) in the device settings. I just can’t get it to see the monome at all. I’ve changed the Monome.lua script to read SERIALOSC as the instructions say, but have had no joy. I’ve tried this in both the 64 and 32 bit versions of 2.8, and also in 2.7.2. Am I missing something with regard to the actual connection? In all the Max patches I use there’s a “connect” button which autoconfigures the ports etc and connects the monome to the patch, but I’m not seeing anything like this in Renoise. I’m 99% sure it’s a problem with the ports that serialosc is trying to use, but even if I manually configure the serialosc script to force it to use a certain port it’s still refusing to connect.

I’m on a Mac, by the way.

Thanks for any help anyone can offer, I’m really looking forward to getting this running!

Hi Morpion, I believe you need to edit a file called monomeIDnumber.conf, to ‘hardwire’ the port numbers to the same ones as in the Duplex options dialog. Currently, there is no component for resolving the address by clicking a button like Max/MSP does

Note that I’m simply passing this info on from another user, and not able to verify it from where I am.

Thanks for the tip danoise - I’ll look into that when I get home and post my results. I hope that’s all it is!

Ah, I’ve just found that file and realised that I’ve already tried that - that’s what I meant when I said in my last post that I’d manually configured the serialosc script to use a certain port. It currently looks like this:

Does anything there look obviously wrong? My In port in Duplex is set to 12076. Out port is set to 12077, although I just added that randomly; I’m not sure how that info is read by the monome or Duplex since there’s no out port in the .conf file.

Sorry about the multiple posts in a row but I’ve got some more info on this. I got home last night and opened Renoise up before doing anything else. Duplex worked, kind of; my monome was controlling Duplex but was getting no LED feedback from it - so, the problem must be the outgoing port I thought. I opened up a few of the Max example/test patches for serialosc to see if I could figure out which port it should be receiving data on, but couldn’t find anything so gave up and went back to Renoise. It had stopped working again. I checked the .conf file because the Max patches obviously switched the send port on the monome, but even with it all correctly set up again and even a full restart of my Mac and starting from scratch with the setup, Duplex has stopped working for me once more. I’m not sure why it kind of worked for five minutes then gave up the ghost again…

Has anyone on a Mac, using serialosc, got Duplex working reliably for them? How have you got your ports set up, and where have you set them up on the serialosc end of things? Thanks again for any help… :slight_smile:

I believe another user has his monome working through serialosc, it’s his advice I passed on. Really sorry I can’t help you any further ATM, but I’m actually stranded on a small island due to the winter storm (!!)

He also mentioned that serialosc is getting rewritten, as Renoise/Duplex is far from the only software that suffer from this quirky setup