XY Pads & Keyboard - XML Edit mode

Pads on the XY-Pads and Keyboard screens can be customized in terms of the MIDI they generate and their visual appearance (colors, labeling etc.). The XY controllers are not directly editable, but they can be overlayed with user defineable sets of controls.


From the menu select "Edit Pads" and touch a pad or control to switch the screen into edit mode. On the Keyboard screen the menu entry will only be present when any pads are visible on screen.

Pad controllers can be edited right away. To create an overlay for the XY controllers first select a preset, then edit it to your needs.

The actual editing procedures for all customizable screens are documented on the Custom Controllers page.
On the XY-Pads screen the general "XY-Pad Shows" preference in the app's setup keeps determining the overall layout of the screen (whether you will see two XY or two pad controllers or a combination of both). Equally the "Launchpad Count" preference remains responsible for the number of pads that appear in visble pad controllers.

Undoing edits

Entering edit mode will set a pad's layout to "XML defined". To revert to one of the presets use the pad's "Note Layout" preference in the app settings.
Installed XY overlays can be removed by selecting the "XY-Pad" preset in the edit dialog or toggled on and off by additional controls that will be added to the screen's floating transport. There is also a "Toggle Overlay" utility that can be assigned to pads.




Presets

Presets for Pad controllers are given in a simple pop-up on the editor's "Global" tab. They are not illustrated, because there won't be much visual difference between them beyond colors and labels.

Presets for overlays and the keyboard's controller block are given on the editor dialog's "Presets" tab.

Presets are mostly the same for the Keyboard and XY-Pads screens. Those for the keyboard's custom controller block and the XY-Overlays are a bit simpler than the presets given on the Workshop screen, because they are primarily meant to accompany the hardcoded stuff on these screens. Nothing should stop you from building more complex layouts here, though. The code that builds and runs custom controllers is the same on all screens.



Up to 64 Program Change buttons (MIDI values 0 - 63) in a single large exclusive group.

MIDI channel is initially selectable.
Up to 64 Program Change buttons (MIDI values 64 - 127) in a single large exclusive group.

MIDI channel is initially selectable.
Pads are divided into two groups calling bank selects resp. program changes.

MIDI channel is initially selectable.

This is the default setting for the pads underneath the keyrange selector on the Keyboard screen.
First 8 pads call DAW transport functions and send to the first MIDI connection.

Remaining pads use a standard bottom up drumpad layout on MIDI channel 10 and send to the second MIDI connection.

This is the default setting for the right block of pads underneath the keyboard itself on the Keyboard screen.
Collection of channel mode utility CCs (Omni mode, Reset controllers etc.).

MIDI channel is initially selectable.
Octave per row (resp. start of an octave) in top down orientation.

MIDI channel and root note are initially selectable.
Octave per row (resp. start of an octave) in bottom up orientation.

MIDI channel and root note are initially selectable.
Hex strip (resp. <= 16 notes) per row in top down orientation. Common layout on hardware grid controllers.

MIDI channel and root note are initially selectable.
Hex strip (resp. <= 16 notes) in bottom up orientation. Common layout on hardware grid controllers.

MIDI channel and root note are initially selectable.
Scaled notelayout in top down orientation.

MIDI channel, scale and root note are initially selectable.
Scaled notelayout in bottom up orientation.

MIDI channel, scale and root note are initially selectable.
(XY-Pads screen only)

This is not truely a preset. Instead it removes a defined overlay and resets an XY-Pad to its default uncovered state.
Standard drawbar controller using CCs 12 - 20.

MIDI channel is initially selectable on the XY-Pads screen. On the keyboard screen the MIDI channel will follow keyboard channel selection.
Secondary drawbar controller using CCs 21 - 29.

MIDI channel is initially selectable on the XY-Pads screen. On the keyboard screen the MIDI channel will follow keyboard channel selection.
Scrollable two bank drawbar controller using CCs 12 - 29.

MIDI channel is initially selectable on the XY-Pads screen. On the keyboard screen the MIDI channel will follow keyboard channel selection.
Pitch and Modulation wheels plus 3 sound controllers.

MIDI channel is initially selectable.

This preset is not available on the keyboard screen.
16 channel MIDI volume mixer (i.e: CC 7 on all 16 channels).

This preset is not available on the keyboard screen because it would clash with the screen's channel following principle.
Collection of CCs that the original MIDI 1.0 specs loosely predefine as global sound and effects controls. Should work with most standard keyboards / sound modules, but these definitions are not mandatory and different manufacturers may support them in varying depth.

MIDI channel is initially selectable on the XY-Pads screen. On the keyboard screen the MIDI channel will follow keyboard channel selection.
A bunch of rotary controls in standard potentiometer (i.e: not endless) mode starting at CC 1.

MIDI channel is initially selectable.
Rotary controls in encoder (i.e: endless or increment/decrement) mode. Starts at CC 0.

MIDI channel is initially selectable.
8 faders generating MCU or HUI volume commands depending on the selected DAW (Pro Tools == HUI).

Sends via the app's first MIDI port.
8 faders plus a master fader generating MCU volume commands.

Sends via the app's first MIDI port.
16 faders sending 14bit NRPN (Non Registered Parameter Number) controllers. Defaults to parameter numbers 0 - 15 on the initially selectable channel.



 XML - XY Pads

All user edits are stored in the "xy-pads" node of the currently selected XML file. A default file will have been created on your device's SD card upon installation of the app, but you can have multiple files there and select the one to use via the "XML File" preference at Setup / MIDI Utilities / XML Mappings. That preference also provides access to a simple in-app xml editor where you can edit the raw xml, create copies etc.

All required subnodes will be created if not already present when you set a pad's notelayout to "XML defined" in the setup or start editing via the menu. Initial pad settings will be taken from any eventually present "larger" xml-layout or - if non is present - will be copied from the previously set preset layout, taking the "Basenote" setting into account.

Depending on the overall screenlayout the "xy-pads" node will have one or two "launchpad" and / or one or two "xy-pad" subnodes, where an "id" of 0 always refers to the upper resp. left screen-half and 1 to the lower / right one:


A "launchpad" node can hold up to 6 "notelayout" nodes for different numbers of pads (id 0: 1*1,...,id 5: 8*8) which then contain the actual "pad" nodes:



"xy-pad" nodes can have a "controller" subnode which then contains "control" nodes, defining the sliders in the overlay and their properties. Groups are themselves "control" nodes that contain "control" child nodes:



For a listing of attribute values see the Custom Controllers page.