Quneo + Duplex

Hello! I’m one of the many who backed the QuNeo this past month and will be receiving one in early March. It being poised to replace my ancient Oxygen 8 and Renoise being my new favorite DAW, I decided to try making a prototype controller mapping in Duplex.

Thus far I have drafted a .xml layout

  
  
<device><br>
	<name>Keith McMillan QuNeo</name><br>
	<author>decibillionaire</author><br>
	<description>Controller mapping layout for QuNeo</description><br>
	<parameters><br>
		<page><br>
			<column><br>
				<group name="Transport" orientation='horizontal"'><br>
				<param value="CC#1" type="button" name="Transport Circle" maximum="127" minimum="0">
<br>
				<param value="CC#2" type="button" name="Transport Diamond" maximum="127" minimum="0">
<br>
				<param value="CC#3" type="button" name="Transport Square" maximum="127" minimum="0">
<br>
				<param value="CC#4" type="button" name="Transport Triangle" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Horizontal Arrows" columns="2"><br>
				<param value="CC#5" type="button" name="Arrow 1/1" maximum="127" minimum="0">
<br>
				<param value="CC#6" type="button" name="Arrow 1/2" maximum="127" minimum="0">
<br>
				<param value="CC#7" type="button" name="Arrow 2/1" maximum="127" minimum="0">
<br>
				<param value="CC#8" type="button" name="Arrow 2/2" maximum="127" minimum="0">
<br>
				<param value="CC#9" type="button" name="Arrow 3/1" maximum="127" minimum="0">
<br>
				<param value="CC#10" type="button" name="Arrow 3/2" maximum="127" minimum="0">
<br>
				<param value="CC#11" type="button" name="Arrow 4/1" maximum="127" minimum="0">
<br>
				<param value="CC#12" type="button" name="Arrow 4/2" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Horizontal Faders" orientation="horizontal" align="right"><br>
				<param value="CC#13" type="fader" name="Fader 1" maximum="127" minimum="0">
<br>
				<param value="CC#14" type="fader" name="Fader 2" maximum="127" minimum="0">
<br>
				<param value="CC#15" type="fader" name="Fader 3" maximum="127" minimum="0">
<br>
				<param value="CC#16" type="fader" name="Fader 4" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Encoders" orientation="horizontal" align="center"><br>
				<param value="CC#17" type="dial" name="Encoder 1" maximum="127" minimum="0">
<br>
				<param value="CC#18" type="dial" name="Encoder 2" maximum="127" minimum="0">
<br>
				</group><br>
				<br>
				<group name="Anything Button" align="center"><br>
				<param value="CC#19" type="button" name="Ambiguous Button" maximum="127" minimum="0">
<br>
				</group><br>
<br>
			</column><br>
	<br>
			<column><br>
				<group name="Grid" columns="4"><br>
				<param value="CC#20" type="pad" name="Pad 1/1" maximum="127" minimum="0">
<br>
				<param value="CC#21" type="pad" name="Pad 1/2" maximum="127" minimum="0">
<br>
				<param value="CC#22" type="pad" name="Pad 1/3" maximum="127" minimum="0">
<br>
				<param value="CC#23" type="pad" name="Pad 1/4" maximum="127" minimum="0">
<br>
				<param value="CC#24" type="pad" name="Pad 2/1" maximum="127" minimum="0">
<br>
				<param value="CC#25" type="pad" name="Pad 2/2" maximum="127" minimum="0">
<br>
				<param value="CC#26" type="pad" name="Pad 2/3" maximum="127" minimum="0">
<br>
				<param value="CC#27" type="pad" name="Pad 2/4" maximum="127" minimum="0">
<br>
				<param value="CC#28" type="pad" name="Pad 3/1" maximum="127" minimum="0">
<br>
				<param value="CC#29" type="pad" name="Pad 3/2" maximum="127" minimum="0">
<br>
				<param value="CC#30" type="pad" name="Pad 3/3" maximum="127" minimum="0">
<br>
				<param value="CC#31" type="pad" name="Pad 3/4" maximum="127" minimum="0">
<br>
				<param value="CC#32" type="pad" name="Pad 4/1" maximum="127" minimum="0">
<br>
				<param value="CC#33" type="pad" name="Pad 4/2" maximum="127" minimum="0">
<br>
				<param value="CC#34" type="pad" name="Pad 4/3" maximum="127" minimum="0">
<br>
				<param value="CC#35" type="pad" name="Pad 4/4" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Vertical Arrows 1" columns="1" align="left"><br>
				<param value="CC#36" type="button" name="VA1up" maximum="127" minimum="0">
<br>
				<param value="CC#37" type="button" name="VA1down" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Central Fader" align="center"><br>
				<param value="CC#38" type="fader" name="Crossfader" maximum="127" minimum="0">
<br>
				</group><br>
<br>
				<group name="Vertical Arrows 2" columns="1" align="right"><br>
				<param value="CC#39" type="button" name="VA2up" maximum="127" minimum="0">
<br>
				<param value="CC#40" type="button" name="VA2down" maximum="127" minimum="0">
<br>
				</group><br>
<br>
			</column><br>
		</page><br>
	</parameters><br>
<br>
<br>```

 <br>
<br>
and am on the very brink of fully understanding how to write a .lua application for Duplex based off of the other controllers' files.<br>
<br>
I'm posting this here today because: I'm new to Lua and could use some contextual tips; I'd love to know what you guys want to see the QuNeo do with Renoise; and because I was wondering if anyone knew of a way to program X/Y functionality into a mapping.<br>
<br>
I'm looking forward to your responses!</device>

:yeah: -> Just me raising my hand as another QuNeo backer so very interested to see what you come up with ;)

It’s interesting - even though something like a basic XY pad can functionally be compared to two sliders or knobs, the form itself gives way to more expressiveness.
When I’m turning two dials, I’m aware that I’m controlling two parameters. But an XY pad has a way of making me forget that, and become more interested in the sound.
So what would happen when you take that concept and add pressure sensitivity, will another dimension add even more to that “immersive” effect?
Oh, and this controller has 16 of those?!? That’s crazy. Right now, I am trying to understand what just one would mean to musical performance :lol:

So yeah, something worth thinking about…For starters, one could produce an awesome theremin-style synth with two oscillators, using pressure to control velocity.

XYPad was introduced just last month, so that’s definitely a start. Try to replace “pad” with “xypad” in the control-map, and you should something which look closer to the Quneo.
Unfortunately, XYPad MIDI support is not 100% complete at the moment. I’m looking out for the Quneo’s specs to appear, and by then Duplex should obviously be able to support it.
Until then, creating a functional XYPad mapping on a MIDI device means representing the X/Y axes as separate sliders. But hey, if it works… ;)

Hey,
E-mail me, I’m no LUA wizard, but I’ve got a QuNeo to try it out with! I’ll be at NAMM for the next week, but would gladly test it out when I’m back!

Matt@KeithMcMillen.com

Thanks,
Matt Hettich
Product Specialist @ KMI.

That’s a good question. I’m thinking a lot about how to implement the pads’ aftertouch, however I’m not even sure if Renoise supports that feature.

Wonderful! I appreciate this a lot.

If I can figure the LEDs on this thing out I’ll be sure to try some cool stuff with them :)

I’m glad to have come across this thread. Can’t wait to see how this comes along.

You done the pads as a 8x8 grid controller setup there haven’t you? Rather than as XY pads with velocity/pressure?

What I have wondered if it is possible to separate a quick tap on a pad as a note trigger with velocity but a help press as wanting access to xyz cc control…

Sure, anything over a certain velocity threshold could trigger XY functionality. It’s totally possible, but given the size and probable consistency of these pads it would greatly broaden the user’s margin of error. That would probably work best if there was a way of freezing the velocity value (something I’m considering using the diamond button between the two rotaries for).

Any news concerning this gizmo?

I haven’t one yet, Thomann offers it but currently sold out, so i went for a BCF2000 instead…

They’ve been having serious problems with a certain component from China so production hasn’t got into full steam yet! People who backed through Kickstart (eg me) are still waiting and I don’t think production for external suppliers will start until after that is seen to. Their latest update sounded like the problems are hopefully sorted though so fingers crossed it wont be long now.

I just got mine today, and I am very excited to see how the two will get along. I’m sure this is the start of a beautiful friendship.

The device looks like fun to use and useful for sure. But the color choice of the leds is just… Unfortunate. Looks like a web design from 90ies. Have to pass. :(

I just got mine as well. Having a fun time playing instrument on it. Going to mess with duplex later tonight.

About the LED’s, I totally hear you on that. I realized they must have done it because eq’s have similar colors but it’s kind of lame.

Launchpad has also the same colours, except they don’t blend together which makes it look much prettier.

Got my tracking number the other day so hopefully it will be with me before too long :)

I took decibillionaire’s layout and modified it a bit. Looks like this now:

quneo_test.gif?raw=1

Simply download the attached file and extract it into the duplex /controllers folder.
The configuration contains a single mapping: “start playback” is mapped to the top left button

EDIT: Attachment removed, go to this location for the latest beta

This thread then some research has seriously got me thinking about getting one of these.

4 controls per pad, so 64 pad buttons without 64 tiny buttons to aim at seems like nice design! Now duplex support, I may have to save up some pennies!
Think I can just about live with the colours, maybe quneo 2 will look prettier!

Well, that’s a bit premature. Let’s just say that QuNeo support in Duplex is “pending” :D
I just brushed off the controller layout to make it easier as a hardware owner to dive in and get started.

There might be nuances with regard to LED feedback, how color is set etc. that still need to be worked out.

Ah well you`ve got a bit of time before I raid my piggy bank for this one ;) :D