Sending MIDI from Set List Maker

Set List Maker can send MIDI bank and program changes, song select messages and virtually any other MIDI data when you change songs, and MIDI beat clock messages when you activate a tempo button. (It can also receive start/stop, song select, program change, controller and note messages to trigger various actions, as described on the Remote Control page.)

The iOS version uses Core MIDI, and should be compatible with class-compliant USB MIDI devices (via a Camera Connection Kit) as well as devices connected via wi-fi (RTP) or Mac and iOS devices connected via Bluetooth Low Energy.

The Android version, on Android 6 or later, can send and receive MIDI over USB (via a USB OTG cable) or Bluetooth. Older Android versions use a third-party framework that can send and receive MIDI over or USB or wi-fi (RTP). You can optionally use the old framework on newer Android versions with the Help > Utilities > Use Old MIDI Framework setting.

Note: MIDI support requires an in-app purchase. The total amount of MIDI data you send per song (bank and program changes, song select messages and raw MIDI) is limited to 64kb.

To register your MIDI devices with Set List Maker

This step is optional but recommended. It allows you to see your MIDI device names in the app and quickly change the port or channel a device uses without having to edit all your MIDI data.

  1. Navigate to Settings > MIDI Devices, then tap the + button to add a new device:
    add midi device
  2. Enter a device name and the channel on which that device listens for data. You can also set the port, but it's best to leave that set to "All" unless you have a specific need to target one port (such as if different devices on different ports use the same channel):
    edit midi device
  3. Some devices count MIDI values from 0-127 and others from 1-128. If you set the numbering style to match your device, you can then enter values using the same style to avoid confusion.

Please keep these notes in mind when entering your MIDI devices:

  • Once you've registered some of your MIDI devices, Set List Maker will only allow you to enter program changes for those devices, so you must register all the devices you wish to send program changes to.
  • You can only enter one device per channel per port.
  • You can edit an existing device to change its name, port or channel at any time.
  • If you delete a device, all program changes and control changes for that device will be deleted.

To send program changes, control changes or other MIDI data

  1. Navigate to MIDI Presets in the main menu and tap the + button at the top of the list to add a new MIDI preset.
  2. For program changes, you'll see a set of three fields for each of the 16 MIDI channels, or for each registered device. The first field is the bank change (MSB), the second field is the bank change (LSB) and the third field is the program change. You can enter any combination of MSB, LSB and program values, leaving fields empty if you don't need them. Values are counted from 0-127 or 1-128 depending on the Numbering setting for the MIDI device.
    midi program change
  3. For control changes, you'll see a set of two fields for each registered device if you define your MIDI devices as shown in the previous section. The first field is the controller number and the second field is the value. Values are counted from 0-127 or 1-128 depending on the Numbering setting for the MIDI device.
  4. For other MIDI data, you'll see one large text field labeled Raw MIDI. You can enter any MIDI data in hex code; for example, to set channel 4's volume to 90, you would enter B3 07 5A. You can find a complete list of MIDI message codes at
    raw midi
  5. If you want to annotate your raw MIDI code for future reference, you can include C-style comments: either from // to the end of the line, or from /* to */.
  6. If you want to only send the raw MIDI to one device, you can select the MIDI Device above the Raw MIDI field. If you want to send some raw MIDI to one device and some to another, you will need to create separate MIDI presets.
  7. You can attach other presets to a preset, so that when you trigger the parent preset, all the child presets are triggered automatically.
  8. Enter a name for this MIDI preset. The preset will be saved when you leave this page.
  9. You can determine the order in which the parts of a MIDI preset are sent, from Settings > Audio & MIDI > MIDI Preset Order. If needed, you can also add a pause between the parts with the With Delay Between option.
  10. Navigate to Songs in the main menu and tap the edit button for a song.
  11. In the song edit window, scroll down to the MIDI Presets list. This will show any MIDI presets already attached to the song.
    edit presets
  12. To attach MIDI Presets, tap the Add MIDI Presets button. This will open a list of all the MIDI presets defined in this database. You can tap the presets you want to attach to your song; a checkbox will appear next to each preset you've selected. When you're done selecting presets, tap Save.
    choose presets
  13. Your selected presets will appear in the previous window. If needed, you can rearrange this list by dragging the "grip" area to the right of each preset. The first preset in the list will be the default preset throughout the app. Your changes will be saved when you navigate away from this song..
    sequence presets
  14. Now a MIDI icon should appear next to the song in any song list midi button. You can tap this button to send the MIDI program changes and raw MIDI data for the default preset, which is the first one in the list for that song (unless you change Settings > General Settings > Defaults > MIDI Preset).
  15. If you have attached more than one preset, you can tap and hold the button until a submenu appears, then tap the desired preset name to send its data.
    presets list
  16. If you want to access your default preset more quickly in the show view, navigate to Layouts > [layout name] > Edit Details > Layout Actions and set Send MIDI to Song Selection. Then Set List Maker will send your preset data whenever you select a song in the show view, whether by tapping the song title, using a remote control action, or swiping through your songs.
  17. If you want to access multiple presets more quickly in the show view, you can edit your layout and add Multiple MIDI Buttons to the set list or the song info area. Then Set List Maker will show a button for each of the attached presets when you select a song.
    multiple midi buttons
  18. If you want to trigger MIDI presets while performing a song in a completely automated way, you can record an automation track for the song and trigger each preset from the screen interface at the desired times. Then when you play back the automation track, Set List Maker will trigger the presets for you at the designated times.
  19. Normally you would attach multiple presets to a song if you want to send different MIDI messages at different times during the song. But you can also configure Set List Maker to send all the attached presets when you select a song, if you set Layouts > [layout name] > Edit Details > Layout Actions > Send MIDI to Song Selection, and turn on Settings > Audio & MIDI > MIDI Options > Send MIDI Presets Together.
  20. You might want to send two similar MIDI messages to turn a setting on and off on a device. In that case, you can create two MIDI presets, then edit the first one, click Pair With Preset, and select the second one to link them together. Then add just the first preset to your song. When you click its button, Set List Maker will send the first preset. When you click the button a second time, Set List Maker will send the second preset.
  21. If you have some MIDI presets that you want to access from any song, such as a preset that turns off vocal effects for song introductions, you can attach it to a layout on the Repertoire > Layouts > [layout name] > Edit Details page. Then the preset will be available when viewing any song with that layout. Layout presets will not be included with the Send MIDI Presets Together function.

To send song select messages

  1. Navigate to the Songs list and tap a song.
  2. Scroll down to the MIDI song number field and enter a value from 0-127.
    midi song number
  3. Now a MIDI icon should appear next to the song in any song list midi button. You can tap this button to send the song number. The song number will be sent automatically whenever you select the song in the show view.

To send timing (beat clock) messages

Note: MIDI Beat Clock is not available on Android devices with less than Android 6.

  1. Navigate to Settings > Tempo & Pitch and turn on the "Send MIDI beat clock" option.
    midi tempo
  2. Edit a song and enter a tempo value. You can enter a number, or use the Tap button to set a value.
  3. In any song list, tap the Tempo button for a song. The icon will begin flashing, and the beat clock messages will be sent. If you select another song by tapping it, using a Bluetooth foot switch, or swiping through your documents, the beat clock will change to match the new song's tempo. You can stop the beat clock by tapping the active tempo button again.
  4. To send the MIDI beat clock only to a specific port, you can change Settings > Tempo & Pitch > Tempo Options > Send Beat Clock to Port. Otherwise, it will be sent to all available ports.

To set up song data with MIDI Learn

  1. Edit a MIDI preset, then scroll down and tap the MIDI Learn button. It will turn green when MIDI Learn is active:
    midi learn
  2. Send bank and program changes or other MIDI messages from another MIDI device. Any incoming MIDI messages will automatically populate these fields while MIDI Learn is active. Any messages other than bank and program changes will be added to the raw MIDI field. This does not include MIDI Realtime and Undefined messages, which Set List Maker will ignore.
  3. When you have finished populating these fields, tap the MIDI Learn button again to deactivate it, then save your preset.

User demos

Some Set List Maker users have created demos of their own setups: