The MC6Pro has presets, but FootSmart augments these with added functionality making them easier to use.
A preset is a list of fields:
type
: One of vanilla
(the default), bypass
, scroll
, cycle
or empty
.palette
:type
.
empty
: no additional fieldsvanilla
:
short_name
: The display name of the presetactions
: A list of preset actionsbypass
:
device
: The name of the device to be bypassed/enabledscroll
:
actions:
The list of preset actions to be scrolled throughcycle
:
action
: An action that is a CC or PC MIDI message.values
: A list of values to cycle throughnames
: A list of names to display as the values are changedprefix
: A prefix applied to all namesshow
: current
or next
A preset action is two fields, very similar to a bank action:
name
: the message nametrigger
: the trigger for the actiontrigger
s are Press
, Release
, Long Press
, Long Press Scroll
, Long Press Release
,
Release All
, Double Tap
, Double Tap Release
, Long Double Tap
,
Long Double Tap Release
, On First Engage
, On First Engage (send only this)
,
On Disengage
. The default is Press
.
The palette
applies to all presets except the empty
type. It determines the color.
If the preset doesn't specify a palette, then the bank palette is used.
If the bank also does not have a palette, the default
palette is used.
The empty
preset has no actions, and is just a blank space. It is used for spacing only.
The vanilla
preset is a normal preset, just a name and a list of actions. vanilla
is the default preset type, so there is no need to explicitly declare it.
The bypass
preset is used to manage a device that supports bypassing/enabling.
It can be used in multiple locations/banks, and the state of the device is managed so that
if the device is enabled, all presets will reflect that. This is done by
using a unique toggle group for each device, and enabling toggle mode for the preset.
The label is either ... Enable
if the device is currently bypassed, or
... Bypass
if the device is currently enabled. The ...
will be the device name.
The scroll
preset scrolls through messages, one per click of the footswitch.
The preset name is the name of the current state. When entering the bank, the first action
is executed and the preset name is set to that. Tapping the footswitch will execute the next
action and change the name. A long press of the footswitch will reverse direction, going to the
previous message. While this preset type is complex to explain, it is very intuitive to use.
See the examples below.
group
messages are a single MIDI message (engage preset
)
this makes the scroll
feature much more usable.The cycle
preset is similar to the scroll
preset, but it cycles through
different values for a CC or PC MIDI message.
action
is the action that defines the MIDI message. The value
field of this
message is not used (it is replaced by the values specified in the values
field.show
field determines the behavior. If it is current
(or missing, as this is
the default), then the preset name is the current state, and tapping the footswitch moves to the next
state. If it is next
then the preset name is the next state. If current
then the preset is initialized
on bank entry.values
and names
are linked. The values
are the values used in the PC or
CC MIDI message, and the names are the names displayed on the preset for those values. The two lists
must be the same length.prefix
is optional, if present it is prepended to the name of the preset.Example 1:
devices:
# The Strymon Iridium amp-in-a-pedal
- name: Iridium
channel: 1
enable: {type: CC, number: 102, value: 127}
bypass: {type: CC, number: 102, value: 0}
messages:
- {name: Drive, type: CC, number: 13, value: 0}
- {name: Sound One, type: PC, number: 0}
- {name: Sound Two, type: PC, number: 1}
- {name: Sound Three, type: PC, number: 2}
- {name: Sound Four, type: PC, number: 3}
...
groups:
- name: Clean
messages: [...]
- name: Burry Rhythm
messages: [...]
- name: Distorted Rhythm
messages: [...]
- name: Distorted Plexi
messages: [...]
banks:
- name: example
presets:
- short_name: Clean
actions: [{name: Iridium Clean}]
- short_name: Clean showing explicit type
type: vanilla
actions:[{name: Iridium Clean}]
- type: bypass
device: Iridium
- type: empty
- type: empty
- short_name: Next Page
actions: [{name: Next Page}]
- type: scroll
actions: [Iridium Clean, Iridium Burry Rhythm, Iridium Distorted Rhythm, Iridium Distorted Plexi]
- type: cycle
action: Iridium Drive
values: [0, 32, 64, 96, 127]
names: [none, 1/4, 1/2, 3/4, full]
prefix: Drive
- type: cycle
action: Iridium Sound One
values: [0, 1, 2, 3]
names: [One, Two, Three, Four]
prefix: Sound
show: next
The first preset, Clean
, shows a simple single action preset, activated by a Press
.
The second preset, Clean showing explicit type
is exactly the same, except the type is explicit.
The third is a bypass preset.
The fourth and fifth presets are spacers, to make the next preset appear on the upper right of the pedal.
The sixth preset navigates to the next page.
The seventh preset shows scroll
ing. When the bank is entered, the Iridium Clean
message is sent and the preset name is set.
Pressing switches to Iridium Burry Rhythm
etc.
The eighth preset shows using cycle to sample a range of values. The Iridium Drive
takes values from 0 to 127.
This preset cycles through 5 of them
The ninth preset shows cycling with show: next
. This preset doesn't have any effect on bank entry (as a normal
cycle
or scroll
does). It shows what will happen after a press.
The first press sends the Iridium Sound One
PC message, and switches the preset name
to Iridium Sound Two
Example 2:
For many examples (except possibly for vanilla presets), see
my config file.
It would be nice to use bypass and enable messages as part of group messages. Doing this, however, means that the toggle group cannot be used (since a group message could enable multiple devices), and that the state is not reflected in other presets.
There are a couple of approaches: