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)
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
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.
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.
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…
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
Wow, that’s got to be the most valid excuse for anything I’ve ever heard!
No probs, and thanks for the info - I’ll stick at it and if I find a solution “pre- serialosc update” I’ll post back with the details. It’s frustrating - I’m usually good with stuff like this (I’m an IT tech so I don’t mind getting my hands dirty) but I just can’t seem to get to the bottom of the port issue. I’ll keep an eye on the thread on monome.org too, and maybe PM nightmorph. I’m pretty new round here though, so I’m not keen on hassling people directly.
You can now link specific instruments to tracks in the StepSequencer: simply provide the same name for the track & instrument you want to link. - “Rotate” is a new application, basically a port of taktik’s Rotate tool which I found useful in combination with the StepSequencer (see the Launchpad config for an example) - A XYPad configuration for the monome with tilt sensor support has been added (monomeserial-only for now) - Improved support of multiple min/max values in XYPad application, plus some bug fixes - Automatic device configs : just copy a device-config to any /Configurations folder and it’s automatically included on startup
Firstly, the monome issue is resolved. Once I got around to reinstalling my OS, I soon discovered that I had messed up “normal” osc message while developing the bundled-message support for wireless devices.
But now, finally both monomeserial and serialosc support can be confirmed as working.
As for obtaining the right ports and addresses: I found this nifty little tool, which can locate the current port of the monome on Windows: http://www.tobias-er…numBonjour.html
Mac users can use a similar program called Bonjour Browser, they both do the same thing.
I think it’s standard practice for the serialosc service to register at port 8000, which means that you could probably use these device options
Still looking for the place that serialosc1.0 put it’s configuration on windows, because when using MaxMSP applications this might change between sessions. Been trying to monitor the serialosc process using ProcessMonitor, but I haven’t found anything useful yet…
Scratch that, their location has been found. Look here
I could get button presses to work with serialosc the first time I tried, but no LED-feedback. I used the enumBonjour tool. After trying with monomeserial I couldn’t get serialosc to work again. Don’t know why.
With monomeserial, press and feedback work fine. I actually used serialosc to connect the Monome to Pages, and then Pages to Duplex using monomeserial protocol.
There were a few bugs using monomeserial, I’m testing with GridPie:
The right column (pattern position/block loop) doesn’t work. No response from presses and no LED feedback.
Play button doesn’t stick, switches back to stop immediately.
The mute buttons stay lit all the time and doesn’t respond to presses.
Everything works using the GUI.
Oh, I also notice it says “Monome 64 [N/A]” on the device drop down.
I also have a few ideas for GridPie (I noticed three unassigned buttons in the monome 64 layout).
Auto capture instrument and track when selecting a clip would be nice (last selected, maybe a slow blink indicating the active clip). That way you can quickly select instrument/track and jam along.
A recording function. Press Rec button. Assuming the above suggested function, this enables pattern follow and edit mode (Indicating active clip with fast blink). This allows you to record notes and automation. Switching Rec off copies the edited clip back to it’s original position.
Another unassigned button could simply be an undo button.
And a third unassigned button could be copy. Press and hold, select target clip (indicating with blink), select destination… and the clip is copied.
It’s working here, monomeserial 0.2.1.5 and serialosc-1.0. But whatever the problem, I’ve had my fair share of trouble with both.
Confirmed, that’s a bug. The feature works on the Launchpad, though…hmmm investigate.
Strange, that’s working fine here. I tested with both serialosc & monomeserial.
Perhaps it’s a result of the pages translation?
Not a bug per se, just a matter of how OSC devices are presented. We don’t actually know if it’s connected or not, so perhaps they should be listed differently?
monomeserial 0.2.1.5 wouldn’t run for some reason, some dll’s were missing. But 0.2.1.3 which I had used before worked. And what do you know… mute buttons and play is working. No right column tho.