I think these files are pretty straightforward. If anything can't be deduced from the example files and aren't explained below or on the docs/usage page, open an issue.
*.ui.xml (auto grid example or old explicit position example)
ui.xml files define the GUI of the application.
The SwitchMappings section is required if using the software with monome-based
hardware. It is used to associate on screen switch displays with monome switches
(the software uses ordinal based switch identifiers that can be mapped to any
monome switch identified by a row and column coordinate).
The switchAssemblyConfig section is required for the switchAssemblies
section to load; it defines global properties for the switchAssemblies.
A switchAssembly may contain a switch, switchTextDisplay
and switchLED; none of these items are required.
switchAssembly item positions can be specified explicitly or can be handled automatically.
Explicit positions are specified via top and left coordinates. You can also
specify relative positions which makes it easier to position a lot of elements.
incrementalVpos adjusts the top coordinate relative to the previous sibling
element. incrementalHpos adjusts the left coordinate relative to the
previous element. Do not specify both relative and absolute positions for the same
dimension (incrementalVpos and top, or incrementalHpos
and left); mixing relative and absolute is fine for different dimensions
(incrementalVpos and left, or incrementalHpos and top).
Automatic positioning is handled via row and column attributes. See the
autoGrid.ui.xml config file for usage.
*.config.xml (example for Axe-Fx III that uses automatic patch and bank numbering or old example with explicit patch and bank numbers or old example with explicit patch and bank numbers using XSL)
config.xml files define the banks, patches and expression pedal settings.
The DeviceChannelMap section is optional and is used to map text names to MIDI
channels. This makes it easier to read commands and makes it easier to update commands without
editing them when you move a device from one channel to another. Any patch or pedal command
that uses a channel attribute also supports a device attribute. The text specified in a
command device attribute must have been defined/mapped in the DeviceChannelMap.
The map is required for Axe-Fx synchronization (which itself is dependent upon the device name
being either "AxeFx" or "Axe-Fx").
The SystemConfig|switches section should contain a switch
entry for each of the three operating switches. The id attributes in these entries
correlate to the number attributes of switchAssemblies in the ui.xml file.
The SystemConfig|midiDevices section contains a midiDevice
entry for each MIDI output device (MIDI out port on the computer) referenced by the rest of the
file. If your computer only has one MIDI out, then there will only be one midiDevice
entry. The port attribute is required and can be any number; it is used as an alias
in the patch definitions. The out attribute is optional and is the name of your MIDI
out device as reported by your OS. If the out attribute is not specified, then the
outIdx attribute is required and corresponds to the
zero-based system assigned device index (0 is typically the default MIDI out mapper on Windows).
The activityIndicatorId is optional and specifies the number of a
switchAssemby which contains an LED that should be used to indicate MIDI out
activity (the corresponding switch assemby need only contain a switchLED). If you move
the config file to another computer that has different MIDI out capabilities, you only
need to edit the midiDevice entry to map the port to the new device index (you don't need
to edit every single patch; they are isolated from the actual index by way of the port alias).
The SystemConfig|expression section contains up to 4 adc
entries and up to 8 globalExpr entries.
The adc entries map to each of the monome adc outputs. The adcs can be explicitly
enabled or disabled. If an adc port is not explicitly disabled, it will be automatically enabled
if there are any globalExpr or localExpr settings for that port defined
in the file. The monome adcs have a range of 0 - 1023. Calibrate your pedals by specifying
different minimums and maximums.
The globalExpr entries define the MIDI data that is sent in response to adc
changes on a global basis. There can be a maximum of two settings (assignmentNumber
1 or 2) per adc port. Select the MIDI port used for the global expression definitions by using
the port attribute on the expression node.
Patches can have up to 8 localExpr entries (up to 2 assignments for each of the 4 ports)
and are configured identically to the globalExpr entries in the
SystemConfig|expression section.
By default, the global globalExpr settings are active for all patches. The
globalExpr settings can be defeated on a patch by patch basis through the use
of a truncated globalExpr entry within the patch definition (and
setting enable="0"). The globalExpr settings are defeated by adc port;
it is not possible to defeat only one of two assignments made to an adc port. A
patch can have a maximum of 4 globalExpr defeating entries
(one for each adc port).
The LedPresetColors section optionally overrides any of the 32 predefined color slots.
The LedDefaultColors section defines colors for devices or categories of patches. Assignment of
colors to patches occurs via lookup/matching in this order (where type could be patch or command type):
device+typeAxe-Fx typedevicetype
LedDefaultColors are used if a patch does not explicitly set its own color attributes. That is,
by default, patches do not need to set their own color. mTroll will map either the patch type or device
used in the patch to a color defined in LedDefaultColors. Patches can explicitly set their own color
directly or via LedPresetColors preset slot. Example attributes in patch definitions:
- direct color attributes:
ledColor="00000f" ledInactiveColor="000004" - preset color attributes:
ledColorPreset="1" ledInactiveColorPreset="30"