Proposal: Renoise Based Gui Hardware Editor

Hi all,

This is a proposal for a Lua tool which I have been considering writing: A Renoise based GUI for editing external hardware.

I wish to receive feedback on this tool to see if other Renoise users would find it helpful were it created.

The aim of the project would be similar to the ctrlr project, which I had been following on-and-off for a while. However, with their new version (5) they seem to have taken a strange turn and gone away from the simple XML descriptions for hardware.

Since Renoise is cross-platform and has all the foundations established (midi in/out, scripting, xml libraries etc.) I was considering creating something similar as a Renoise tool.

I spent some time planning how it would work and the actual code shouldn’t be too difficult (he says, optimistically). I also thought about the XML description for hardware and have come up with the following scheme:

Each parameter will be described through the following values:

  • controltype - a lua string of either “CC” or “NRPN” (for now)
  • code - a lua list of parameter numbers (e.g. [74] for GM filter cutoff CC or [00, 03] as a NRPN parameter selection pair)
  • minval - the minimum value allowed
  • maxval - the maximum value allowed
  • type - a lua string of either “VAR”, “TOGGLE” or “SWITCH” (if of type “VAR” then the GUI would be a valuebox and the value is a variable, “TOGGLE” would be a button which sends maxval followed by minval (hardware monitored state), and “SWITCH” would be a checkbox which sends maxval for enabled and minval for disabled (non-hardware monitored state change))
  • label - a lua string for the label on the GUI.

By describing hardware in XML format, anyone could create their own controller maps (similar to duplex in this respect).

The GUI would then be created dynamically from the list of parameters. Eventually, groups could be used in the XML file to distinguise between difference sections (e.g. an LFO section or a mixer section).

Would there be much interest in such a feature for Renoise? I’m not entirely sure what the purpose would be though, since any modifications would not easily be ‘sequencable’ in Renoise. I suppose the main purpose would be to quickly and easily create new synth patches etc for hardware with difficult/limited user interfaces.

Note that a lack of hardware on my end would mean the majority of beta testing would need to be performed by fellow users on the forums.

Man, I had that in mind too.
I’m so bored I can’t edit my dx200 on the yamaha tool WHILE I’m using it on renoise as well.

Wouldn’t it not be a fair idea to expand Duplex on this matter? because it already seems to have a lot of code ready for this kind of expansion.
Dynamic GUI creation is also something that Duplex more or less does.

Yeah, sounds like a good idea.

I’ve not really got into duplex much as I’ve never had a reason to use it and the code seems a bit… overwelming.

Maybe one of the Duplex authors could shed some light about whether this could be a viable Duplex application?

Hey mxb,

This is a pretty big disadvantage IMO. Isn’t ctrlr based on the idea of using a plugin to control the external gear (so you could automate the plugin, and achieve this functionality) ?

Duplex is primarily about building alternative interfaces for Renoise, and obviously wouldn’t work with any other DAW. Ctrlr, on the other hand, doesn’t care about the DAW, so you could perhaps find someone who has already built the synth preset you are looking for? Because there are more non-Renoise users than there are Renoise users?

But, if you decide to make something yourself, Duplex surely has a lot of handy code (basic XML parsing, to name one thing). Feel free to copy paste