Patch: Cycle through presets/rename

MC8 Pro: Bidirectional preset scroller with dynamic preset-name display

I put it in Patch share under the name: ‘Cycle through presets/rename’ but can’t find a way to directly link it. I also don’t see any way to update it so if i make any improvements this will be in the direct file:

Morningstar_MC8PRO_Bank_Backup_Dark Sun_20260705_161601.json (90.0 KB)

I built this MC8 Pro bank to browse the presets on my Seymour Duncan Dark Sun.

Although the included bank is configured for the Dark Sun, the underlying system is not device-specific. The same structure can be used to scroll through any collection of Program Change, Control Change, or other MIDI commands.

The bank provides:

  • Previous and next preset switches

  • A dedicated display showing the currently selected preset (need a midi loop going back into the mc8 pro to properly receive the sysex)

  • Correct synchronisation when changing direction

  • Automatic wraparound between the first and last presets

  • Optional device-specific controls such as bypass, trails, and tap tempo

The current implementation supports 16 selections because it uses the 16 hidden presets from I through X as helper presets. You can add more if you put presets on page 1, but i decided to settle on 16 presets.

Bank layout

The visible page contains the controls I actually use:

  • Preset A: Previous preset

  • Preset B: Current preset display

  • Preset C: Next preset

  • Preset D: Dark Sun engage/bypass

  • Preset E: Trails on/off

  • Preset F: Tap tempo

  • Preset G: Initialise the system at preset 1A

  • Preset H: Information

Presets I through X are hidden helper presets. Each helper represents one of the 16 Dark Sun presets:

Helper preset Dark Sun preset Program Change
I 1A PC 0
J 1B PC 1
K 1C PC 2
L 1D PC 3
M 2A PC 4
N 2B PC 5
O 2C PC 6
P 2D PC 7
Q 3A PC 8
R 3B PC 9
S 3C PC 10
T 3D PC 11
U 4A PC 12
V 4B PC 13
W 4C PC 14
X 4D PC 15

The helper presets do all the actual work. The previous and next switches only decide which helper should be executed.

How the preset scrolling works

Presets A and C both use MC8 Pro Message Scroll.

Preset C contains 16 Engage Preset messages arranged from helper preset I through X. Each press therefore advances to the next selection.

Preset A contains the same messages in reverse order, from X back to I.

Message Scroll normally keeps a separate pointer for each switch. This creates a problem when two different switches are used for forward and backward navigation.

For example:

  1. Press Next several times.

  2. Press Previous once.

  3. Press Next again.

Without additional synchronisation, the Next switch would continue from its own old position instead of the preset that was just selected with Previous.

To prevent this, every helper preset explicitly updates the Message Scroll counters of both navigation switches. As a result, A and C always agree about the currently loaded preset and which preset should come next in either direction.

The MC8 Pro’s Set Message Scroll Counter utility determines which message a scrolling preset will execute next.

What each helper preset does

Every helper preset follows the same sequence:

  1. Send a multi-message SysEx packet that renames Preset B.

  2. Send the Program Change or other MIDI command for the target device.

  3. Set the Previous switch’s Message Scroll counter.

  4. Set the Next switch’s Message Scroll counter.

For example, the helper for Dark Sun preset 2C SPRINGY:

  1. Changes the displayed name of Preset B to 2C SPRINGY.

  2. Sends PC 6 to the Dark Sun.

  3. Cues Preset A so that Previous will select 2B.

  4. Cues Preset C so that Next will select 2D.

The first and last helpers wrap around:

  • Previous from 1A selects 4D.

  • Next from 4D selects 1A.

Message order

In my Dark Sun setup, the pedal sometimes appeared to respond incorrectly while the MC8 Pro rename SysEx was being sent. Placing the complete SysEx rename block first, followed by the Dark Sun Program Change and the two Message Scroll counter updates, solved the issue.

The helper presets therefore use this order:

  1. Preset-name SysEx
  2. Dark Sun Program Change
  3. Previous-switch counter update
  4. Next-switch counter update

This may not matter with every MIDI device, but it is worth trying if your target device reacts unexpectedly while the MC8 Pro SysEx command is being processed.

Generating the preset-name SysEx messages

I used the community-made MC8 Pro SysEx Editor to generate the rename commands.

For this bank, the generated command should:

  • Target Preset B, which is preset index 1

  • Update the Preset Short Name

  • Use the MC8 Pro device ID

  • Use Volatile / RAM only mode

Volatile mode is intentional. The selected name is only a live display value and does not need to be written permanently to the MC8 Pro’s flash memory every time a preset changes. Morningstar’s external SysEx API supports both permanent writes and temporary overrides; temporary names revert to their stored values when the bank is reloaded.

The SysEx editor targets the currently active MC8 Pro bank. When testing a generated message externally, make sure the bank containing Preset B is active on the controller.

Easiest way to replace a SysEx name

Morningstar’s Create SysEx Preset tool converts a complete SysEx string into the message rows required by the MC8 Pro.

When the new SysEx is the same length

If the new command uses the same number of message rows as the existing one:

  1. Open the helper preset.
  2. Click the three-dot menu.
  3. Select Create SysEx Preset.
  4. Paste the new SysEx command.
  5. Set the starting position to Message 1.

This replaces the existing SysEx block without affecting the messages that follow it.

When the new SysEx is longer

If the new command requires more rows, do not start at Message 1, because it may overwrite the Program Change or counter-update messages.

Instead:

  1. Find the highest message row currently in use.
  2. Start the new SysEx block on the next available message row.
  3. Create the SysEx preset there.
  4. Move or copy the completed SysEx rows to the beginning of the helper preset.
  5. Make sure the device command and both counter updates still come after the SysEx block.

Initialising the bank

Preset G, INIT 1A, engages the helper preset for 1A.

It does not simply send PC 0 directly. By executing the helper, it also:

  • Updates the name shown on Preset B

  • Loads Dark Sun preset 1A

  • Positions both Message Scroll counters correctly

This provides a known starting state after importing, editing, or troubleshooting the bank.

Adapting the bank for another MIDI device

The Dark Sun-specific part is only the target message inside each helper preset.

To adapt the system:

  1. Decide how many selections you need, up to 16 in this version.

  2. Assign one helper preset to each selection.

  3. Replace the Dark Sun PC message in every helper with the required message for your device.

  4. Set the correct MIDI channel.

  5. Generate a Preset B rename SysEx packet for every display name.

  6. Keep the existing Previous and Next counter-update utilities.

  7. Update the visible device controls or remove them if they are not needed.

The target command does not have to be a Program Change. A helper could instead send:

  • One or more Control Change messages

  • A combination of PC and CC messages

  • Commands to multiple MIDI devices

  • An MC8 Pro or ML10X device message

  • A more complicated scene containing several MIDI commands

Place all target-device messages after the complete SysEx block and before the two navigation-counter updates.

Moving the bank

My backup was created in displayed Bank 12. The Previous, Next, and INIT 1A presets contain Engage Preset commands that point to the helper presets in that bank. If the bank is imported or copied to another location, verify and update those target-bank references..

The rename SysEx itself does not contain the bank number. It modifies Preset B in whichever bank is currently active.

Current limitations

This version supports 16 selections because all 16 hidden helper slots, I through X, are in use.

The design could be expanded by using additional banks or a different counter-based architecture, but the current helper-preset approach has several advantages:

  • Every selection can have its own name.

  • Every selection can send completely different MIDI commands.

  • Forward and backward navigation remain synchronised.

  • The visible page stays uncluttered.

  • The architecture is easy to inspect and modify.

The Dark Sun was simply the original reason for building it. The same method can function as a compact, bidirectional scene selector for almost any MIDI-controlled setup.

If you have any questions, run into issues or have suggestions for improvements feel free to ask!

3 Likes