Jump to content


Behringer X-Touch

  • Please log in to reply
3 replies to this topic

#1 beublo



  • Normal Members
  • PipPip
  • 15 posts

Posted 10 November 2017 - 16:16

Hi everyone!


Anyone here owning an X-Touch or X-Touch compact?


I'm starting with Renoise, and wish to make my X-Touch work with it. There is already support for (most of the) MCU protocol in Duplex, but it's really not to my taste. Also, it seems the full potential of the X-Touch (like color scribble strips) can only be unlocked when using their proprietary Xctl protocol. So, I'm planning on working to implement Xctl in Renoise. It seems fairly simple, except I'm discovering the Renoise API and haven't used Lua in, hm, over a decade (that's not the issue :) I'll get into it fast enough).

I'll be basing my implementation on this doc: http://www.budgetfea...-Touch V1.0.pdf

After a few quick experiments in the terminal, I could configure a scribble strip properly, so I trust this doc is solid. :)

Also, I'm planning to tailor the overlay to my very needs, so if anyone is interested, let's discuss what overlay(s) to create! :)


Apart from that, I'm not sure whether it's better to make a new device for Duplex or code it from scratch. It seems Duplex doesn't handle screens or VU leds yet? Also I couldn't find a proper tutorial to create a new Duplex device, nor could I find a proper starting point in the Duplex docs (Maybe it's already there, I can easily overlook things when I'm browsing, especially the obvious. It happens.)

#2 danoise


    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6880 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 10 November 2017 - 21:36

Nah, you're right. The deeper innards of Duplex is not very well documented (except perhaps in the code itself). 

So I would ignore Duplex for now, and write a simple tool that works. 


The reason that there is no screen support in Duplex is that I've struggled to come up with a sufficiently "generic" solution. Unlike with MIDI itself, there are no standards that define what should or shouldn't be possible. So such a thing would most likely end up being a device-specific feature anyway.

Tracking with Stuff. API wishlist | Soundcloud

#3 beublo



  • Normal Members
  • PipPip
  • 15 posts

Posted 11 November 2017 - 16:09

Thanks for you response. And for Renoise haha!


It's going surprisingly well. Lua is a bit quirky in unexpected places, but overall it's still a very decent language and the Renoise API is just fluffy for what I've seen so far.


I agree defining a proper abstraction for a screen is a few orders of magnitude more mind-boggling than it's worth in the end, unless we settle on a terribly minimal feature set (and still…). Maybe over time I'll be able to look under the hood and try and bring some help with Duplex.

#4 beublo



  • Normal Members
  • PipPip
  • 15 posts

Posted 28 November 2017 - 14:56

So, a little progress update…


I now have a class XTouch that maps all the X-Touch controls in a renoise Document so everything can be observed the renoise way and also provides a simple event system to handle explicitly events such as press/release (a button), move (a fader), etc. In addition, there's a simplistic system to host various programs (implemented as lua files in a Programs/ subdirectory) and switch between them directly on the X-Touch. As of now, only MIDI is supported. I'll need to do some packet sniffing to understand the ethernet protocol when I have nothing else to do to implement the probably incomparably faster ethernet link.

It also includes a dirty—but working—hack to be able to attach a VU meter to the current level of a track.


It is heavily undocumented at the moment, but if anyone's interested I can release it as a library. Otherwise it stays in the future X-Touch tool which I plan to release when I'm done implementing the Mixer interface program, at least enough to control the mixer decently. There is potential for controlling most of Renoise on this piece of gear, even though pattern editing on the X-Touch will probably not be desirable.


I'm happy enough coding X-Touch support for my own needs but it'd be awesome to hear anyone else interested in this :) Or maybe this can help inspire hacking other control surfaces… :)

Edited by beublo, 28 November 2017 - 15:05.

  • bit guzzler likes this