Preferences

Setup options for XY and pad controllers are located at Setup / MIDI Utilities / XY Controllers & Launchpads. The initial preference screen contains options that affect both halves. The "MIDI Assignments" preference leads to another screen that holds individual settings for each of them.

XY Pads

XY controllers are mostly configured by options given on said "MIDI Assignments" screen. Unlike pad controllers they are not currently customizable any further, but you can adjust both the CC numbers (or pitchbend) they generate as well as the MIDI channel and pointer snapback behavior here. If you want to change the color, you can do so for the 'Pseudo Hardware' skin under Setup / Global / UI / Theme Options.


Pad controllers - note grid presets

The way in which MIDI notes are assigned to pads can be user-defined, but there are a number of presets covering common use-cases. These are defined by combinations of the "Note Layout", "Base Note" and "MIDI Channel" preferences, which are available for both the left and the right halves of the controller. Some presets combine the two parts to extend the overall range.


The basic note grids are shown below. The orange field indicates the base note and seperate shades of gray show what would result from different settings of the "Launchpad Count" option (ie. 3*3 to 8*8)



Std./ Drum Machine 
G#5A5A#5B5C6C#6D6D#6
C5C#5D5D#5E5F5F#5G5
E4F4F#4G4G#4A4A#4B4
G#3A3A#3B3C4C#4D4D#4
C3C#3D3D#3E3F3F#3G3
E2F2F#2G2G#2A2A#2B2
G#1A1A#1B1C2C#2D2D#-2
C1C#1D1D#1E1F1F#1G1


This is the default setting. As note numbers will always be continously increasing from the base note, different numbers of pads will produce slighlty different layouts (so no shades of gray here).

The default base note for this layout is C1. You should get Kickdrum, Sidestick, Acc. Snare etc. with most drum machines / samplers right away.


........  F#1G1G#1
D#1E1F1
C1C#1D1


Octave strips up
C-2C#-2D-2D#-2E-2F-2F#-2G-2
C-1C#-1D-1D#-1E-1F-1F#-1G-1
C0C#0D0D#0E0F0F#0G0
C1C#1D1D#1E1F1F#1G1
C2C#2D2D#2E2F2F#2G2
C3C#3D3D#3E3F3F#3G3
C4C#4D4D#4E4F4F#4G4
C5C#5D5D#5E5F5F#5G5

Octave strips down
C5C#5D5D#5E5F5F#5G5
C4C#4D4D#4E4F4F#4G4
C3C#3D3D#3E3F3F#3G3
C2C#2D2D#2E2F2F#2G2
C1C#1D1D#1E1F1F#1G1
C0C#0D0D#0E0F0F#0G0
C-1C#-1D-1D#-1E-1F-1F#-1G-1
C-2C#-2D-2D#-2E-2F-2F#-2G-2

Hex strips
C-2C#-2D-2D#-2E-2F-2F#-2G-2(0h - 7h)
E-1F-1F#-1G-1G#-1A-1A#-1B-1(10h - 17h)
G#0A0A#0B0C1C#1D1D#1(20h - 27h)
C2C#2D2D#2E2F2F#2G2(30h - 37h)
E3F3F#3G3G#3A3A#3B3(40h - 47h)
G#4A4A#4B4C5C#5D5D#5(50h - 57h)
C6C#6D6D#6E6F6F#6G6(60h - 67h)
E7F7F#7G7G#7A7A#7B7(70h - 77h)


Base notes for each block of pads are pre-set when the layout is changed, but they remain to be individually editable in the app's setup. Same with the MIDI channels that the two halfs will send on. The lowest note is always in the corner given by the orange color in the illustrations above. The screen is orientation aware, but the layout within the two halves will remain intact and in the original orientation when the device switches from landscape to portrait mode or back.

Grid controller specific features

The octave and hex strip layouts have some more options for cases where both left and right half of the screen are set to show trigger pads:

IF both blocks are set to use the same layout
AND IF both blocks are set to the same MIDI channel
AND IF the base note of the right one is 0

you will have the right block continue the rows started on the left one.
For example in "Octave strips up" mode this would result in the following:

C-2C#-2D-2D#-2E-2F-2F#-2G-2 G#-2A-2A#-2B-2C-1C#-1D-1D#-1
C-1C#-1D-1D#-1E-1F-1F#-1G-1G#-1A-1A#-1B-1C0C#0D0D#0
C0C#0D0D#0E0F0F#0G0G#0A0A#0B0C1C#1D1D#1
C1C#1D1D#1E1F1F#1G1G#1A1A#1B1C2C#2D2D#2
C2C#2D2D#2E2F2F#2G2G#2A2A#2B2C3C#3D3D#3
C3C#3D3D#3E3F3F#3G3G#3A3A#3B3C4C#4D4D#4
C4C#4D4D#4E4F4F#4G4G#4A4A#4B4C4C#5D5D#5
C5C#5D5D#5E5F5F#5G5G#5A5A#5B5C6C#6D6D#6


As you see, 8*8 / Octave strips will result in some notes being available twice. A 6*6 octave strip layout would give you 6 full octaves without double notes though. Equally 8*8 / hex strips would also result in no double notes.

Obviously this involves a number of options to be set, which can make it a little awkward to get what you want (while offering quite a bit of flexibility on the other hand). The left pad's Note Layout option therefore takes a bit of a master role and will change the right one's layout and basenote to reasonable settings when you set it, given both sides are on the same MIDI channel. You can always change the right pad's settings individually after that, though.

The hex strip mode has another special feature. Namely if you set the right half's base note to 1, you will get a simple emulation of a popular hardware controller plus two xy controllers:



This can be used with FL Studio 11's performance mode or as a clip launcher for Ableton Live and Bitwig.




FL Studio setup:

You can use the default settings for the hardware here. Just make sure you select the MIDI ports that the app's second connection is linked to. The magic number for this controller seems to be 115 and the performance mode MIDI channel needs to be 1.

The two xy controllers will send on a MIDI channel one higher than the trigger grid (usually channel 2) to not be consumed by the controller implementation and should be individually mapable.


Ableton Live

Live does some MIDI handshaking with the original hardware and things will not work with the stock remote script that ships with Live. Here is a replacement that simply does not initially disable things to then reenable them after a successful handshake... (Based on the original Live 7 Launchpad script. Now also contains a port for Live 9 (contributed by Pablo Torres. Thank you!) and Live 11. These are python source files. Adapt to your needs).
Unzip into Live's MIDI Remote Script directory, so that you have a Loungepet folder containing the .py files there. Restart Live after adding the folder and set up as shown here:




Use the MIDI ports you have the app's second connection linked to. (Your names may be different)






The two xy controllers will send on a MIDI channel one higher than the trigger grid to not be consumed by the remote scripts (usually channel 2) and need to be individually mapped. So the track input and (for mapping) the "Remote" column need to be enabled as well.










Feedback to the app is handled by the remote script, the output does not need to be active.




Bitwig

In Bitwig you only need to define a Launchpad controller and link it to the app's second MIDI connection (Options / Preferences / Controllers).



Note: Using an additional (Launchpad) control surface in the DAW may render TouchDAW's keyboard and the mixers' MIDI mode non-functional. Setting MIDI channels to something other than "1" may help.

MIDI input (controller feedback) is time limited in TouchDAW free and will stop after 15 minutes.




The last preset (selectable via the "XYPad Shows" preference) is a Kaosspad like controller. This is a combination of the XY and launchpads in that it triggers both notes as well as controllers. It has a number of individual settings that can be made directly on the screen without going back into the menu. However the setup half can be switched to a normal 3*3 launchpad using the triangle in its upper right hand corner.
The controller is named "Turmoil" in the app's setup. Its horizontal axis triggers notes following a scale that you can set using the "Edit", "+" and "-" buttons. Both horizontal and vertical axis also send controllers (using those CC numbers configured in the global setup) and a third controller is sent, representing the sum of x and y. Unlike the original hardware, the controller does not bring a loop recorder or any sounds of its own. Instead the idea is having it control softsynths in the DAW. The four triangle buttons in the control half are configured to switch channels in the DAW so that the controller's MIDI data can be directed to various instruments. Record and loop controls are available via floating transport.