New Tool (3.2): X-Touch

Brings support for the X-Touch in native mode (XCtl) to Renoise.

It should be considered alpha, because the features, API, and default bindings are not final yet.


This tool has two parts, a driver and a default set of bindings (“program”). The driver supports multiple programs, so anyone can code their own logic in addition. It might ship with more programs by default in the future, who knows. The driver provides a fully observable model of the X-Touch, as well as an event system to easily register callbacks to events such as a button press, a fader move, or an encoder delta. I’m not detailing it more here as the API is going to slightly change soon.

First install

Configure your X-Touch in XCtl mode over MIDI, open the dialog from the Tools menu, select the proper MIDI devices in the dialog and press RESET. Your X-Touch should come to life. A click on the ? button next to a program name in the dialog displays the bindings that it defines. A click on the gear icon shows the configurable stuff for this program.

There are a couple ways in which the tool hacks the current song. One of them is changing the track color blend to hilight the tracks that are currently mapped to the X-Touch in the Mix page (see details below). The other one is to support the VU LEDs, which are off by default. To be able to tap a signal to send to the VU LEDs, the driver will automatically add 8 send tracks, and one send device where the signal should be tapped. The tracks and devices generated by the driver are filtered out from the mappings. This allows to easily tap signals anywhere, including for instance tapping between each device in a chain to monitor the gain structure (see Devices page).


You should refer to the bindings dialog for details. Here is an overview of what each page does in the default program:

General

(these bindings apply everywhere)
The ENCODER ASSIGN buttons select the current page. The row below the LCD select the middle frame view in Renoise. GLOBAL VIEW toggles the VU LEDs. The TRANSPORT section mostly does what is expected. FADER BANK and CHANNEL buttons move the X-Touch frame around.

Mix

ENCODER ASSIGN / PAN/SURROUND (default)

Maps 8 tracks to the 8 X-Touch channels. Select/Mute/Solo buttons, encoders, and faders all do what’s expected. The track name (and parent group name) is displayed on each scribble strip using the track color. FLIP toggles Pre/Post. A “popup” will display volume changes in the second row and panning changes in the first row of the strips.

Devices

ENCODER ASSIGN / PLUG-IN
This is like “enter the selected track”. X-Touch channel #1 edits PreFX vol and pan/width (if SHIFT is pressed), channel #8 edits PostFX vol and pan, and channels #2-7 map up to six devices in the device chain. If VU LEDs are enabled, the output volume of each mapped device is shown. Encoders select parameters and faders edit them. A click on an encoder in turn “enters the device” and switches to the Params page. LEFT and RIGHT buttons change the selected track. Popups appear on the strips to display the value changes.

Params

(Encoder click on a device in the Devices page)
Maps up to 8 parameters of the selected device to the X-Touch channels. Scribble strips display the parameter name and value at all times. Encoders and faders edit the mapped parameter. LEFT and RIGHT change the selected track and UP and DOWN change the selected device.

Sends

ENCODER ASSIGN / SEND
Makes using sends a breeze (no MB send support yet… It’s coming! Someday.) Maps each send (except sends spawned for the VU LEDs support) on a track to an X-Touch channel. Fader edits send amount, encoder edits panning, SHIFT-encoder edits the receiver. A press on an encoder where there is no send will spawn one. A long press on an encoder where there is a send will delete it. With CONTROL pressed, encoders move the sends around. The device index and receiver are shown where there is a send. LEFT and RIGHT change the selected track.

(I’ll add the device shuffling logic to the Devices view also. It’s just not here yet.)


There’s a lot more that can be done with this controller. If you have any needs or suggestions, let’s talk about it! The right side is mostly still available, more pages can be added, and more renoise can be automated.


Get the tool here dev.bl0b.X-Touch_0.1.xrnx (55.1 KB)

Please report issues on the git repo si I can keep better track.

2 Likes