Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Live Use

Reply
 
Thread Tools Display Modes
Old 08-21-2017, 10:16 PM   #1
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default X-Touch Compact for Live Playing

Hi Midi JSFX freaks,

Currently I use a KX88 to play keyboard sounds by Reaper. The patches are managed by SWS LiveConfigs and switched by the program change buttons on the keyboard.

To replace the 30 years old device, I ordered a Kawai VPC1 plus - as same does not feature any controllers but the keys - a Behringer X-Touch Compact.

I'd like to share the ideas for that setup with the community and hope for additional input.

The X-Touch can be regarded as featuring theses groups of controllers
- a row of 8 Rotary Controllers with LED rings
- a row of 9 motorized Faders
- a grid of 3*8 illuminated Buttons
- a row of 9 illuminated Buttons
- a grid of 4*2 Rotary Controllers with LED rings
- a grid of 4*2 illuminated Buttons

I intend to use these like that:
- the 3*8 buttons for patch select (one to be illuminated for "current patch", maybe flashing for "layer 2")
- the 9 faders and 8 rotaries for patch-sound parameters jumping to the appropriate value when changing the patch
- the 9 buttons for global key-transpose (one to be illuminated for "current transpose setting, the others flashing when transpose is not equal Zero")
- the other controls for global settings (not dedicated to a patch) like e.g. EQing or layer switch for the patch select buttons switch.

I would use a Reaper thread for pre-processing the signals of the X-Touch.

Here, I'll do some JSFX Midi plugins. One would be instantiated for each of the would-be patches and feature 17 (hidden) sliders to hold the values of the patch-dedicated sliders and rotaries. Another one would take the "patch change" Note-on signals from the X-Touch and by that somehow "activate" the appropriate patch JSFX, and send an appropriate CC to SWS Live-Configs that in turn sets up Reaper for that patch.

When activated, the patch JSFX would send out the parameter values as well to X-Touch to program the LED-rings and motor faders, and to the midi-audio tracks to set the parameters of the plugins.

When receiving CC values from the X-Touch due to moving a patch-dedicated rotary or fader, the selected patch JSFX would store the value in the appropriate slider and send it to the midi-audio tracks to set the appropriate parameter of the plugins.

(Hopefully the X-Touch will also be useful as a "Mackie" for mixing recorded projects in Reaper...)

What do you think ?

-Michael

Last edited by mschnell; 08-22-2017 at 05:51 AM.
mschnell is online now   Reply With Quote
Old 09-02-2017, 03:56 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default

Maybe someone is interested...

This does work now !

-Michael
mschnell is online now   Reply With Quote
Old 09-02-2017, 05:06 PM   #3
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 189
Default

Michael - this sounds an interesting project, but its quite hard to visualise the design and function in mind for each layer.

There are a lot of buttons and knobs on this controller (see the Quickstart guide with picture at https://media.music-group.com/media/...ACT_QSG_WW.pdf ) hinting at some sort of 2 layer mixer and instrument mode, but not so many indications of the controller's true functions unless one has the device alongside the manual to try!

Is your design using MCU emulation or are you processing raw Midi? How will you use the Layer A and B features to best advantage? It would be interesting to see how the buttons', motorised faders' and endless rotary controllers values & feedback has been coded in the JSFX...

Good luck!
goldenarpharazon is offline   Reply With Quote
Old 09-02-2017, 11:09 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default

In fact the controller does not feature a "true function" in "normal" mode, but just sends and receives a huge number of different propriety defined midi messages. Only when set in "Mackie Control" mode, it has the appropriate "commonly" defined functionality.

I just use the Controller in "Mixer control" mode ("Layer A") right now, as it comes up in that mode after power on.

In fact there is no difference between "Layer A" and "Layer B" (aka "Instrument control") only an offset is applied to the CC numbers and note-numbers sent.

A small disadvantage is that my software does not see when pushing a layer button (no event is sent) but only the next user action would allow for seeing that the layer switch has happened. But as the layer switch automatically (just visually) restores the previous state of all controls in that layer, this can be handled appropriately. Unfortunately again, the controller does not seem to accept and store changes to the not active layer by incoming midi events.

With my JSFX software I create a completely "custom" layout for the device.

The current state is:

- The "press" function of 8 left rotaries and the 8 buttons below them create 16 "Patch select" buttons for the upper master keyboard (light weighted, 61 keys). The latest of them is lit meaning "patch selected". In a future update, flashing will indicate a second set of patches for these buttons.

- The 2 rows of 8 buttons below that create 16 "Patch select" buttons for the lower keyboard (88 piano mechanics keys). The latest of them is lit meaning "patch selected". In future, flashing will indicate a second set of patches for these buttons.

- The 9 faders represent the state (stored for each patch (of the 32, future: 64) in the JSFX setup). They show the state for the latest pressed patch button, hence pressing an already lit patch button will not change the sound but move the faders accordingly for upper or lower keyboard. Obviously, moving a fader by hand will modify the appropriate parameter value in the appropriate patch.

- The leds of the said 8 rotaties are used like the lights of the said buttons.

- The 8 rotaries at the right side (supposedly) will be used in the same way as the 9 faders.

- The rotary function of the 8 left rotaries will handle global (not patch depending) sound parameters. Moving them (and supposedly touching one of the faders or whatever) will make them show the parameter state for some seconds, before returning to the "selected patch indicator" mode.

- The 6 "normal" buttons at the right side will be used for global functions. The bottom right of them might be assigned to preparing a patch select for the second (blinking) patch layer.

- Finally the row of 9 "normal" buttons at the bottom is dedicated to the transpose functionality. The middle one is for "no transpose, the others are for transpose by -5 (G), -4(Ab), -3(A), -2 (Bb), - , +2 (D), +4 (E), +5(F), +6(F#). The last pressed transpose button is lit. A non zero tranpose makes the middle and the selected button blink to draw attention to the transposing.

-Michael

Last edited by mschnell; 09-02-2017 at 11:39 PM.
mschnell is online now   Reply With Quote
Old 09-27-2017, 02:37 PM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default

I feel, thanks to Reaper, with the X Touch Compact, the VPC 1, an additional 61 key keyboard and the TEC BBCv2, I now have the best master keyboard in the universe

If anybody is interested, I uploaded the documentation here -> http://www.bschnell.de/X%20Touch%20Patch.pdf

-Michael
mschnell is online now   Reply With Quote
Old 12-07-2017, 04:28 AM   #6
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Thanks Michael for the info. I have a XTC and will be trying to control Reaper with it in the future. Do you connect directly to Reaper, or is it going though another layer? You mention your JSFX Software. Is that your own software?
DynamicK is offline   Reply With Quote
Old 12-07-2017, 08:44 AM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default

The XTouch is completely managed by Reaper JSFX programming.

I only recently added the feature having the XTouche control (and read) an XR18 mixer connected via WLAN. Here OSCII-Bot is used to convert Midi <-> OSC. OSCII-Bot gets the XTouche's Midi events via Reaper and a Midi Loop device.

And yep I did the JSFX andf OSCII-Bot programming in EEL2.

-Michael
mschnell is online now   Reply With Quote
Old 12-07-2017, 09:33 AM   #8
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,793
Default

BTW.:

While in most aspects the XTouch Compact is just great, there are two shortcomings regarding the two layers it features, that you should be aware of:

1) No Midi message is sent when you press one of the Layer button [A] or [B].

2) When a Midi message aimed to the inactive layer is received by the XTouch, it is just ignored, IMHO it should be used to modified the current (hidden but stored) state of the appropriate controller to get active with the next layer switch.

-Michael
mschnell is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:15 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.