FootSmart

Presets







Introduction

The MC6Pro has presets, but FootSmart augments these with added functionality making them easier to use.

Syntax

A preset is a list of fields:

There are additional fields depending on the type.

A preset action is two fields, very similar to a bank action:

Preset triggers 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.

Semantics

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.

The cycle preset is similar to the scroll preset, but it cycles through different values for a CC or PC MIDI message.

Examples

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 scrolling. 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.

Future Direction/Issues

Bypass Presets

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: