MidiSetlist – V1.9.4 Documentation

About MidiSetlist        1

What are its features and what makes it unique?        2

Opening MidiSetlist        3

Before opening MIDI setlist:        3

Selecting a MIDI Output Device:        3

Main Window Overview        4

(File) Menu        4

        6

Tabs in the Main Window        6

Tab 1: “Setlist” (the default tab when the Main Window opens).        6

“Setlist” Tab (1) Summary:        7

Tab 2 - “MIDI Tester / Log”        7

MIDI Tester / Log (Tab 2) Summary:        7

        8

Tab 3 - “MIDI Keyboard”        8

MIDI Keyboard (Tab 3) Summary:        8

Tab 4 - “MIDI Through-Loop Settings”        9

Looping the incoming MIDI message to the output        9

MIDI Through-Loop Settings Summary (Tab 4):        9

Input Control Settings        10

Input Control Settings Summary (Tab 4):        11

        12

        12

Tab 5 – “Preset Switcher / Performance Mode”        12

Lock Mode        13

        13

        13

        13

Showing the lyrics / notes text for each preset.        13

Preset Switcher / Performance Mode (Tab 5) Summary:        14

Settings Window        15

Understanding Smart Switching Mode        15

Still Send On Song Change        16

Preset Input Window        17

MIDI Message Order:        17

MSB LSB Program Change:        18

Loading the selected preset data into the preset Input Window        18

Advanced Program Change Messages        19

Using MIDI Learn        19

Preset Input Window Summary:        19

File Viewer Window        21

Activating MidiSetlist        22

About MidiSetlist

In a nutshell, MidiSetlist is a program that will send up to 128 MIDI messages at the same time with one click. These are contained with-in one “preset” that can be ordered within a setlist. Each preset can send 16 SysEx messages and also 5 Control Changes messages and 2 Program Change messages for each of the 16 MIDI Channels. Presets can be grouped into songs. This makes programming external MIDI devices for a performance easy!

  1. What are its features and what makes it unique?

MidiSetlist is not an afterthought to a complex VST hosting software, it simply specialises in sending MIDI messages within an ordered setlist.

For each preset, messages consist of up to 2 program changes and 5 control changes for all 16 Midi channels. And additionally, up to 16 system exclusive messages.

Smart Switching – MidiSetist has the option to ignore MIDI messages that are identical from the previous preset (per MIDI channel, when moving back and forward between presets). Meaning no doubled MIDI messages sent to a device (and less likely to cause any unnecessary breaks in the sound).

Multiple Outputs – MidiSetlist will send up to two MIDI devices at a time.

Input Control and Loop-through – MidiSetlist will let you control many functions like “Next preset” “Next Song” “Select preset Number Of Current Song” and many more using incoming control change messages, and will let you select preset numbers using program change messages. Additionally, you can loop-though the input to one or both outputs while using the software, meaning you can connect a controller keyboard into the input, and output it to an external midi device that you are also controlling with MidiSetlist. This could also be used to control other internal MIDI software if used in conjunction with programs such as “loopMIDI”.

Add a delay between messages, or force the same time stamp per MIDI channel –  in case your hardware responds to it better.

Easily Accessible MIDI Tester – Test Program Changes, Control Changes, System Exclusive messages to your MIDI output device(s), and also Note On / Off messages with the MIDI keyboard. No need to scroll through multiple menus to find them.

Preset Switcher / Performance Mode – a page containing all the selected song info (in big font) for when you come to perform. This also displays the next and previous preset / song info and controls to switch between them. Lock mode will lock the interface and allow you to operate the software using keystrokes.

Easy re-ording of presets and songs – using the up and down buttons on the “Setlist” Tab.

File Viewer – link a file (e.g. PDF, image or text) to a preset and have MidiSetlist load the file up for viewing automatically.

Opening MidiSetlist

Before opening MIDI setlist:

It is recommended that you have plugged in all the MIDI devices you will be using for your session first (in and outs), before opening the software. This will make sure that the application will recognise all the devices you will be using. However it is possible to rescan all the devices in the first window (output select window) using “Refresh Devices” (rescanning devices in the main MidiSetlist window is not possible, you will have to close it and rescan).

Selecting a MIDI Output Device:

When the application first opens, you will be presented a window to select the MAIN output device. A second output device can be added later (however you are not limited to this many midi devices you can still link/daisy-chain and control multiple MIDI devices together using the usual though-to-input method).

It is important you have all the MIDI devices plugged in first (or press the “Refresh Devices” button to rescan after plugging them in).

Please click on the desired output device and then the “Use Selected Device” button to continue.

Or if you would like to open without opening an output device, press the “Open In Offline Mode” button.

Main Window Overview

The main window will display.

  1. (File) Menu

(The numbers listed are the file menu item numbers for reference later in the manual)

Some of these (and many of the menu items) also have keyboard shortcuts – please refer to the shortcut listed next the menu item in MidiSetlist to find these.

File

New Setlist / Close Current Setlist

1

Closes the current file if one is loaded and removes all presets for a new blank setlist.

Open Setlist...

2

load a previously saved setlist.

You may find an example setlist file in the Documents/MidiSetlist/

Save Setlist

3

Saves the current setlist to the same setlist file currently loaded.

Save Setlist As...

4

Saves the current setlist. Opens a finder window to specify a place to save the setlist.

Revert to Saved

5

Revert the current modified setlist to the previous save.

Show File Viewer Window

6

Opens the File Viewer Window.

Settings…

7

Opens the Settings Window

Reset To Default Settings

8

Resets the checkboxes and text-field to default settings, this doesn't not affect the presets or setlist.

Exit

9

Closes the application window(s) and returns to selecting a main output device.

Edit

Show Preset Input / Edit Window

10

Displays the preset Input window where you can add midi messages and presets to the list box (please be patient while this windows loads)

Reorder Selected Preset Up

11

Moves the selected row in the list box up

Reorder Selected Preset Down

12

Moves the selected row in the list box up

Reorder Selected Song Up

13

Switches the rows associated with the current song with the previous song rows.

Reorder Selected Song Down

14

Switches the rows associated with the current song with the next song rows.

Remove Selected Preset

15

Delete the current row

Clear Setlist

16

Clears all rows.

Select...

First Song

17

Selects the first row of the first song.

Last Song

18

Selects the first row of the last song.

First Preset

19

Selects the first row.

Last Preset

20

Selects the first last row.

First Preset of Current Song

21

Selects the first preset row of the current selected song.

Last Preset of Current Song

22

Selects the last preset row of the current selected song.

Next Preset →

23

Selects the next preset relative to the current selection (smart switching will apply here).

Previous Preset ←

24

Selects the last preset relative to the current selection (smart switching will apply here)

Jump To Next Song >

25

Jumps to the first row of the next song.

Jump To Previous Song <

26

Jumps to the first row of the previous song.

Output Settings

Main Output

27

Will populate a list of the known output devices. Select to change MAIN output device, or select “None” for no output device

Second Output

28

Will populate a list of the known output devices. Select to change the SECOND output device, or select “None” for no second output device. By default it will be set to none. This option is only available if the first MAIN output device is selected (ie not set to  “None”)

Input Settings

[Input devices will populate]

29

Select a device to load a MIDI input device. Select “None” (default) for no Input device. If only “None” is showing then no input device is known/found (you can reload known devices in the first window)

Loop Input To Output

30

You can loop the incoming MIDI Input data though to either one or both of the MIDI output devices selected using this menu. Only available once an input device is selected. There may be a slight millisecond(s) delay doing this, however can be useful if you'd like to connect a MIDI keyboard and loop though to the output and still controls the output device using the software (it merges the MIDI)

Enable Input Control

31

Select this to enable input control options (ie you can control the application via incoming midi messages). The options can be edited on the fourth Tab (“MIDI Input / Though Loop Settings”). You need to have an input device selected for this to come into effect

More Settings...

32

Selects the fourth Tab (“MIDI Input / Though Loop Settings”) where you change input settings

Help

Documentation

33

Loads the Documentation PDF (this file).

About

34

Shows the “About” window.

Check For Updates...

35

Connect to the internet and notifies you of any updates (this process also runs in the background when the main window is first opened).

Activate...

36

Shows the Activation Window.

Tabs in the Main Window

'Tab” refers to the tab selection on the top row of the main window: Click on a tab to select it.

Tab 1: “Setlist” (the default tab when the Main Window opens).


This tab contains the list box of
presets and MIDI commands that you can program into the application (ie the “setlist”). This is where you can see the setlist (ie preset names) you have programmed. To add presets/rows to the list box, use the “Add / Edit preset” button. Selecting a preset/row in the left listbox will send the MIDI messages associated with it to the output device(s) and show the MIDI messages for that preset in the right side list box.

  1. “Setlist” Tab (1) Summary:

List box

The list box of presets and midi commands that you can program into the application (ie the “setlist”). When a preset is selected/clicked the application will send all the MIDI messages associated with that preset/row.

Add / Edit Preset

Use this button to add presets to the setlist (opens the preset Input window). Please be patient while this window loads. Same function as File Menu item 10 above.

Remove Selected Preset

See File Menu item 15 above.

Clear Setlist

See File Menu item 16 above.

Change Preset Selection

(up / down)

See File Menu item 22 and 23 above.

Reorder Selected Preset

(up / down)

See File Menu item 11 and 12 above.

Reorder Selected Song

(up / down)

See File Menu item 13 and 14 above.

>> / <<

This button will switch to an alternative view for this tab. In the alternate view, one listbox shows all the data for the setlist.

Tab 2 - “MIDI Tester / Log”

Here you can send and test Program Change messages, Control Change messages and System Exclusive messages to the output device(s). On the right is a text box containing all the MIDI Messages sent by the application.

  1. MIDI Tester / Log (Tab 2) Summary:

Program Change

MIDI Ch:

Sets the MIDI Channel for the Program Change

Value

Sets the Program Change Value

Program Change Button

Sends the Program Change message

Control Change

MIDI Ch:

Sets the MIDI Channel for the Control Change

CC

Sets the Control Change Number

Value

Sets the Control Change Value

Control Change Button

Sends the Control Change message

System Exclusive

Text Box

Text box to enter the System Exclusive message

SysEx Button

Sends the System Exclusive message

MIDI-Log

Text Box

All the outgoing MIDI messages send by the application is shown here

Clear

Clears the MIDI Log.

Tab 3 - “MIDI Keyboard”

A very basic MIDI Keyboard. Click on the desired note button, and a note on/off messages will be sent to the output device(s). MIDI Channel, velocity, octaves can be altered using the slider and drop down menus. Useful for quick testing of the sound of external MIDI output devices.

  1. MIDI Keyboard (Tab 3) Summary:

MIDI Channel:

Sets the MIDI Channel to send the note on / off messages

12x Note Buttons (C - B)

Sends note on / off messages corresponding o the note pressed

Velocity Slider

Sets the note velocity (0-127) for note on / off messages

Octave

The drop down menu allows basic octave selection for the MIDI keyboard.

Tab 4 - “MIDI Through-Loop Settings”

Here you can see the input devices. Selecting an input device (left list box) enables you to click “Read selected device” (use File Menu item 29 for a shortcut to this). This loads the input device either for looping to the output and/or using the input control settings.

There are two timer modes for reading the input. MBS and Windows. MBS is a faster reading method and recommended.

All the input MIDI messages recognised by the application will be shown in the list box on the right side.

Looping the incoming MIDI message to the output

You can loop the input to the output by checking “Loop Input To Output” (also the same as File Menu item 30). Useful if you need to merge an external controller/keyboard with the messages from the application. Though, a physical MIDI merger box is recommended over this method. Also could be used in conjunction with a software MIDI loopback program (eg “loopMIDI”) to control software instruments/plug-ins.


The blue segment below will allow you to select which output you would like to loop to. You can also select both outputs simultaneously. By Default this is set to output 1 only. Can be controlled with File Menu item
30.

The slider below is enabled when the Windows Timer is selected and allows you to change how frequently the application reads the MIDI data. However a setting of 0ms, does not necessarily mean it will read that fast, as a Windows timer is limited to c.16ms.

  1. MIDI Through-Loop Settings Summary (Tab 4):

Load Input Devices

Populates the Input Device List with known devices (to refresh devices you will have to close and reopen the main window).

Input Device List (Left)

Shows the list of Input Devices

Read Selected Device (Centre)

When clicked, the app will open the selected Input Device (from Input Device List) to be read. The option is disabled if there is no Input Device Selected from the Input Device List. Same as File Menu item 30.

Timer Type (drop down menu)

Selects the type of timer when reading from the input device. “MBS Timer” is recommended.

Loop Input To Output

When Checked, the app will loop any incoming  MIDI data from the loaded Input Device to one or more of the outputs. Can be controlled with File Menu item 30.

Loop Output Segment

(Main Output / Second Outp.)

Allows you to select whether the looped MIDI data should go to Output 1 or Output 2, or both. Can be controlled with File Menu item 30.

Loop Midi Data Every x ms

(Windows Timer Mode) slider

This slider allows you to set the minimum time value for the software to continuously read from the device, when Windows Timer Mode is selected (otherwise this option is disabled). Be aware lower values settings may not reflect actual time processed by the Windows Timer.

Close Input

When clicked, the app will stop reading from the current input device.

MIDI Input Monitor (right)

This list box will display incoming MIDI data read by MIDI setlist.

  1. Input Control Settings

This section allows you to control the application via incoming MIDI messages.

To enable this, check “On” next to “Input Control Settings”. Please be aware this can be set to On and have no input device selected. So make sure you have an input device selected for this to work.

Then the application will enable the controls for this section. Each checkbox corresponds to the same functions as described in File Menu items 17 to 26 (and more). Each input command can be enabled / disabled using the corresponding checkbox.

The first input control (“Program Change to select presets 1-128”) will allow you to select a preset number based on the incoming program change message. From then on, the rest of the input controls are Control Change messages. Each Control Change number can be changed using the text boxes corresponding to the function you want.

Moreover, input control 2, 3 and 12 (ie “CC to Select Preset**”, “Select Song Number***” and “Select Preset Number of Current Song***”) will use the second data value (0-127) as the preset or song number to select in this function. For example, using the default settings, sending a Control Change message of 103 and a value of 2 (using a 0 – 127 system) will select song 3 from the setlist. If you would like to offset these values so that a value of 2 (using 0-127) will select song 2 then use the “offset” checkboxes on the top row (see the  asterisk beside the checkboxes to see which function it applies to).

All the other input types ignore the data 2 value. In other words, any value you send (0-127) for the corresponding CC message will trigger the corresponding input control function (ie the functions without an asterisk * beside them).

It's worth noting that the state you last left them in will be recalled each time you load MidiSetlist. So if you need to change these settings or CC numbers, you won't need to input them every time you open the app. To set them back to the default use “File” → Reset to default settings (this will set all the defaults).

MidiLearn: When an input device is loaded, you can also right click one of the textboxes and select “MIDI Learn”. MidiSetlist will then input the next received control number into the text box.

Please note currently the app won’t pick out individual messages from a stream of MBS / LSB program changes for input control. Please send only the single message required to MidiSetlist.

  1. Input Control Settings Summary (Tab 4):

On:

Turns on input control for MidiSetlist.

MIDI Ch:

Selects which MIDI channel to read the incoming MIDI messages to control the application. Default is set to “ALL”.

* Offset Prog. Ch. Input

When checked, the application will subtract 1 from incoming values associated with a Program Change.

** Offset CC Input

When checked, the application will subtract 1 from incoming data 2 values associated with a Control Change when selecting a preset.

*** Offset CC Input

When checked, the application will subtract 1 from incoming data 2 values associated with a Control Change when selecting a Song Number, and when selecting a preset Number of the current song.

* / ** Relative Selection (if apl.)

If checked, the application will check if the incoming preset number for input control function 1 & 2 (Program Change to select presets* and Control Change to select presets**) is next to the current selected preset number. If so, the application will use the “next preset” or “previous preset” function instead, meaning the possibility for Smart Switching to be used when using these MIDI input messages.

Don't Loop

This checkbox becomes enabled when the application is looping the input to the output. When checked the application will intercept / filter out the Input Control messages as you have set them, and won't loop these messages back through to the output(s).

Controls:

Name:

Default

CC:

Meaning:

Prog. Change to Select Presets 1-128

N/A

Allows the app to select preset number using incoming program change messages.

CC to Select Presets

102

Allows the app to select preset number using incoming Control Change messages. The value (data 2) of the incoming Control Change message relates to the selected preset.

Select Song No.

103

Allows the app to select song numbers using incoming Control Change messages. The value (data 2) of the incoming Control Change message relates to the selected song.

Select First Song

104

Allows the app to select the first song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select Last Song

105

Allows the app to select the last song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Jump To Next Song

106

Allows the app to jump to the next song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Jump To Prev. Song

107

Allows the app to jump to the previous song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select First Preset

108

Allows the app to select the first preset using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select Last Preset

109

Allows the app to select the last preset using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select Next Preset

110

Allows the app to select the next preset using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored. Smart Switching would apply in this case (if enabled).

Select Prev. Preset

111

Allows the app to select the previous preset using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored. Smart Switching would apply in this case (if enabled).

Select First Preset Of Curr. Song

112

Allows the app to select the first preset of the current song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select Last Preset Of Curr. Song

113

Allows the app to select the last preset of the current song using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

Select Preset No Of Curr. Song

114

Allows the app to select preset number of the current selected song using incoming Control Change messages. The value (data 2) of the incoming Control Change message relates to the selected song preset.

Resend Current MIDI Data

115

Allows the app to resend the current selected preset's MIDI using an incoming Control Change message. The value (data 2) of the incoming Control Change message is ignored.

  1. Tab 5 – “Preset Switcher / Performance Mode”

This is the tab you will want to use when switching presets whilst performing.

Before you use this tab, you need to have loaded a setlist (i.e. have some presets loaded). And have already selected a preset/row in Tab 1 (“Setlist”). Or it will look like the above.

Once a setlist is loaded and a preset is selected the view will show the current selected preset (i.e. the most recent preset that sent MIDI data to the outputs). See below:


The large number in the centre is the overall
preset number. Underneath is the current song name (in this case the song name is split into two line using the “_” character when inputting the song). The large left and right arrow buttons switch to the next and previous preset (so smart switching will occur). The smaller buttons jump to the next / previous song. The labels above/below them tell you which preset name it will go to. The song number and song preset number is listed at either side of the large text. At the centre bottom, the “Resend MIDI” button will resend the current selected preset MIDI information. Font size slider can be found in the top right.

  1. Lock Mode

At the centre top there is a blue segment to switch to lock mode. This will lock the interface so that you can, for example:

You can enable or disable these settings for lock mode, before you enter lock mode, by checking/unchecking the relevant checkbox in the top right.

When Lock Mode is off, the top most text will be shown in red, when it is on, it will turn to green.

  1. Showing the lyrics / notes text for each preset.

Expanding or maximising the window larger will show a text box containing the lyric/notes information inputted for each preset.

  1. Preset Switcher / Performance Mode (Tab 5) Summary:

Lock Mode Segment

Switches Lock Mode On or Off (locks the interface, and allows the app to be controlled by keystrokes – left/right arrow keys, enter key etc).

Prevent computer from going to sleep

If checked prior to entering lock mode, the app will stop the computer from going to sleep.

Use Arrow Keys

If checked prior to entering lock mode, use the left / right arrow keys to execute “Next preset: and “Previous preset” functions (Smart Switching will apply if enabled).

Use Page Keys

If checked prior to entering lock mode, use the page up /  page down keys to execute “Next preset: " and “Previous preset” functions (Smart Switching will apply if enabled).

Space bar for next song.

If checked prior to entering lock mode, use the spacebar on your computer keyboard to do a “Next preset” command.

< > keys to jump songs

If checked prior to entering lock mode, use the key with the “<” symbol to jump to the previous song, and the key with the “>” symbol to jump to the next song.

Font Size Sliders (x2)

Two sliders allow you to change the font size for various texts on this tab.

Jump Previous Song Button (small button, left)

When clicked, the app will jump to the previous song.

Previous preset Button (large button, left)

When clicked, the app will do a previous preset command (Smart Switching will apply if enabled).

Jump Next Song Button (small button, right)

When clicked, the app will jump to the previous song.

Next preset Button (large button, Right)

When clicked, the app will do a next preset command (Smart Switching will apply if enabled).

Resend MIDI

When clicked, the app will resend the current selected preset's MIDI data.

Lyric/Notes Textbox

Only visible if the window is maximised or large enough. This will display any lyrics or notes entered for a preset.

The settings in the “While in Lock Mode” box will be recalled each time you load up MidiSetlist from how you left them the last time you closed it. To set them to the default use “File” → Reset to default settings (this will set all the defaults).

  1. Settings Window

Offline Mode

When checked, the application ceases to send MIDI Messages from the preset list. Please note this does not affect other MIDI messages such as ones sent from the MIDI Tester, MIDI Keyboard, or MIDI Through-Loop.

Debug Mode

When checked, the application will show a message box between each and every MIDI message sent by the preset list including info about the message that was just executed.

Add Delay

When checked, the application will add a time delay between each MIDI Message. The delay amount can be changed in the next text box.

Force Same Time-Stamp Per MIDI Channel.

When checked, the application will aim to keep the same time stamp for messages sent on the same MIDI channel. Set to checked by default (Note: I have seen a keyboard respond better when this was done depending on its internal settings).

Smart Switching Mode: On

When checked, Smart Switching mode is on. Checked by default. When Smart Switching mode is on, the application will not send duplicate midi messages when switching presets using the “Next preset” and “Previous preset” functions. In other words, if the MIDI message is identical for a particular MIDI channel, the message will be ignored when switching to the next or previous song selection.

Still Send Messages On Song Change

When checked (and Smart Switching mode is on) the application will still force send all the messages when the song number has changed.

“Add Deley”, “Force Same Time Stamp Per MIDI Channel”, “Smart Switching Mode”, and “Still Send On Song Change” settings will be recalled when you open the app as you last left them. To set them back to the default use “File” → Reset to default settings (this will set all the defaults).

This settings window can be accessed by going File → “Settings…” from the Main Window.

  1. Understanding Smart Switching Mode

When Smart Switching mode is and a Next Preset or Previous Preset command is executed, the application will check if the MIDI data for each MIDI Channel is identical to MIDI information for the cosponsoring MIDI Channel current preset. If the MIDI Data is identical for the same MIDI Channel, then it wont send the data again.

This is especially useful if you have hardware (such as a keyboard or synth unit) that cuts the sound off for a moment when MIDI commands are received, even when you are selecting the same bank/preset that it is currently on. This wont happen when Smart Switching mode is on, as any MIDI messages that are the same wont be sent again (only applicable when using next / previous preset functions).

  1. Still Send On Song Change

When this option is on, MidiSetlist will still send ALL the MIDI data for a preset when it switches between songs (while Smart Switching is on). This will work in both directions (ie selecting previous preset and selecting the next preset).

Preset Input Window

In this window, we can input MIDI data into a preset to be sent to the output(s).

This window can be accessed by File Menu item 9 or by clicking on the “Add/Edit preset” button on Tab 1 (“Setlist”) in the main window. Please be patient while this window loads.

To add a preset start by entering a preset name. Use the charter “_” (underscore) to add in a new line to the song name (this will display when on Tab 5 - performance mode of the main window).

Use the blue segment to tell the application if this is the start of a new song. This is set to Yes by default. Set it to No if the preset you are adding is next in a sequence of presets related to a song.


Messages will be sent in the following order below (top to bottom) per column in the application

  1. MIDI Message Order:

Sysex Message

Here you can enter System Exclusive MIDI Message.

Control Change 1

Set a control change message for the current MIDI channel column.

Program Change 1

Set a control change message for the current MIDI channel column.

Control Change 2

Set a second control change message for the current MIDI channel column.

Program Change 2

Set a second program change message for the current MIDI channel column.

Control Change 3...

Control Change 4...

Control Change 5...


Once the first column is executed (ie the System Exclusive Message + Control Changes and Program Changes for MIDI Channel 1) it will move on the the next and send the next SysEx Message and then CC1, PC1 CC2, PC2, CC3, CC3, CC3 for MIDI Channel 2 and so on.

  1. MSB LSB Program Change:

If you are looking to perform a Program Change including MSB and LSB messages then enter the MIDI messages in order as the device would expect to see it using CC1 = 0 for MSB and CC2 32 for LSB and then the program change in PC2.

Example below:

The example on the left would send:

  • MSB message of 63 (set CC1 to 0)
  • LSB message of 65 (set CC2 to 32)
  • Program Change of 20

Leave PC1 blank as and use PC2 for the program change as the message will need to be executed in the correct order.


You can enter lyrics or notes for the preset on the right hand side that you can view in tab 5 of the main window (performance mode) once the window has been expanded / maximised.

To test the current entered MIDI Values (ie send the messages to the outputs),  in the file menu go Action → “Test MIDI Messages

To add the preset to the list box / setlist in the main window select the “Add Song To Setlist” button or in the file menu go Action → “Add As New Preset

To overwrite the current selected preset in the main window (you can still select presets while this window is open), Select the “Replace Selected preset” button or in the file menu go Action → “Overwrite Preset”.

  1. Loading the selected preset data into the preset Input Window

You can load the current selected preset (in the main window) into the preset input window by going File → “Load Selected Preset Data”. This makes editing presets easy (just click the Overwrite Preset button once you have made your changes).

Advanced Program Change Messages

There are a number of more advanced program change values that you can select at the bottom of the drop down menu. These are relative values to the current preset number / song number /song preset number selection. The table below explains them.

Name

Available Range

Meaning

“No.”

-10 to + 10

Sends a program change value based on the current overall selected preset number.

Eg. If you have selected “No +1” and the preset is in position 3 in the setlist, then a program change of 4 will be sent. This value will change if you change its position in the setlist.

“SN.”

-10 to + 10

Sends a program change value based on the current song number for the preset.

Eg. If you have selected “SN” and the preset is song number 7 in the setlist, then a program change of 7 will be sent. This value will change if you change its song position in the setlist.

“SPN.”

-10 to + 10

Sends a program change value based on the current song preset number.

Eg. If you have selected “SPN” and the Song preset Number is 2 out of 3, then a program change of 2 will be sent. This value will change if you change its song preset number position in the setlist.


Please note that if you try to test these values in the
preset Input Window (ie Action → “Test MIDI Messages”) a warning message will occur, as these values are dependent on the preset being in the setlist first.

Using MIDI Learn

You can let MidiSetlist detect incoming midi messages from your input device to be replicated into a preset. First set your MIDI input device using the file menu on the main window, then set the Midi Learn segment in the top right corner of the Preset Input window to “On” or “Overwrite”. “On” will populate the dropdowns menus with any incoming MIDI messages assuming they are not already filled in. Overwrite will always fill in the dropdown menus from the top down.

  1. Preset Input Window Summary:

File Menu

Load Selected Preset Data

This will load the current selected preset data into the preset Input Window. You can still select/change presets in the main window while the preset Input Window is open.

Close Window

Closes the preset Input Window.

Action Menu

Test MIDI Messages

Sends the MIDI values as they appear in the preset Input Window to the output(s).

Clear All

Clears all the fields in the Preset Input Window

Add As New Pereset

Adds a new row to the list box in the main window (i.e. adds a new preset) using the values in the preset Input Window (same function as “Add Song To Setlist” button).

Overwrite Preset

Replaces the current selected row in the list box in the main window (i.e. overwrites current selected preset) using the values in the preset Input Window (same function as “Replace Selected preset” button).

Window

Preset Name

Text area for entering a song name.

Use “_” character (underscore) for a new line when in performance mode.

Is New Song?

Yes or No option to let the application know if the current preset is the start of a new song selection / group.

SysEx Messages:

Text boxes to enter a System Exclusive message to be sent.

CC1:

Drop down Menus to enter the first Control Change message for a MIDI Channel. Top row is the Control Change Number, the second row is its value.

PC1:

Drop down menus to enter the first Program Change message for a MIDI Channel.

CC2:

Drop down Menus to enter the second Control Change message for a MIDI Channel. Top row is the Control Change Number, the second row is its value.

PC2:

Drop down menus to enter the second Program Change message for a MIDI Channel.

Lyrics / Notes Textbox

Enter any Lyrics or Notes here. This will be viable in tab 5 of the Main Window (preset Switcher / Performance Mode) when the window is maximised or large enough.

File Viewer File Link

Enter a URL here (local or web) to a file to display in the file viewer window for this preset (acts as a HTML Viewer). Eg: PDF,  image or text file.

Select File

Opens a window to select a local file for the File Viewer File Link text box.

Add Preset

Adds a new row to the list box in the main window (i.e. adds a new preset) using the values in the Preset Input Window. Same function as “Add As New Preset” in the Action Menu.

Overwrite Preset

Replaces the current selected row in the list box in the main window (i.e. overwrites current selected preset) using the values in the preset Input Window. Same function as “Overwrite Preset” in the Action Menu.

MIDI Learn Segment

Here you can set MidiSetlist to read incoming MIDI data from your Input device and populate them into the Preset Input Window.

Close

Closes the preset Input Window.

File Viewer Window

This window contains a (HTML) viewer for viewing files set for each preset (set the file in the preset input window). It will open files that a normal web browser would do. eg PDF, images or text for example. Opening PDF may require adobe PDF reader to be installed. It will also show the first line of the current preset name at the top, and the second line at the bottom. Can be used in lock mode and controlled with keypresses. Use the “Refresh/SetFocus button” if this stops working. This window can be accessed by going File → “Show File Viewer Window” from the Main Window.

  1. Activating MidiSetlist

By default, the app is inactivated and will display a message box after every 10 preset changes. To remove this, please purchase MidiSetlist and activate it by following the instructions in the Activation Window. This is accessed from Help → “Activate...”.

Once activated the MidiSetlist will remember you will only have to do this once. Licence keys are linked to login details from registration form on the website and will be unique to each computer. However, MidiSetlist doesn't not need an internet connection to activate it – you can keep the computer you are running MidiSetlist on offline if you need to, as long as you have a separate device you can create an account / purchase / get the activation key. The activation status is shown in the top right of the main window.

MidiSetlist V1.9.4

Written by Oliver Day

Tested with the help of Richard Moller.

apps.oliverday.co.uk