MQ String List Custom Pane (Panel Edit)


A String List control contains a list of strings which are used to display the current value of the parameter. It is possible for the control to have its own list of strings or to use a list of strings stored in another String List control. The setting of the various custom parameters is dependent on that difference.


String List Parameters

This block of parameter is used to specify and create the string list.


Display Position

Specifies the horizontal placement of the text in the control: left justified, right justified, or centered


v Display Position

Specifies the vertical placement of the text in the control: top, bottom, or center justified.

note: Checking the Multi Line option forces the control to display using the top setting.


Number of Chars

specifies the maximum number of characters in each string if the string list is stored within the control. If the string list from another control is being used, this parameter must be set to -1.


Number of Strings

specifies the number of available strings if the string list is stored within the control. If the string list is loaded from a StringList block in the editor's .ini file or from another control is being used, this parameter must contain the ID of the String List block or control with the string list

note: while it is still possible to link to another String List control to use its text resources, it is recommended that the text be either stored in the control or stored in a StringList resource in the .ini file.


String Offset

String values always start from 0, however the range of the parameter being edited may not be from 0 to its maximum. In this case, String Offset should be set to the effective minimum value of the parameter. This parameter will very rarely be used.



Click the Fns button to open the following dialog.


This dialog provides a number of automated and manual methods of filling in the string list. This can be a lengthy process for large lists which can sometimes contain several thousand entries.

Auto Patch Ref Nums

This section is used to automatically enter reference numbers so that Combi/Performance style editors can display patch names from a patch bank. This automated method is faster than typing the values yourself. For an example, please see the M1 Combination editor. The names displayed on the right are obtained via reference links that the program makes while it is running. You can set up these links automatically using this function.

Start String

Start String sets the starting number to begin entering the references

Number of Strings

Number of Strings sets the the total number of references to set up. This number will typically be the size of the programmable Patch Bank that the instrument uses

Note: Start String + Num String should never be larger than the total number of strings assigned in 'Number of Strings'.

Start Ofs

Start Ofs will normally be set to 0, which would be the beginning of the bank. In rare instances, the programmable patches will not start at the first location in the bank. In this case, enter the patch number where the programmable patches begin. Please remember, that regardless of the displayed bank numbering scheme, for this function, the first patch is ALWAYS numbered 0 and so on.

Bank ID

Normally Midi Quest uses the Child ID value in the driver to find the correct bank in which to link to and display the patch names in a Combi/Performance editor. If you need to extract names from a different bank, enter the ID number of the bank's driver here so that the program can locate the correct bank.


Press the Execute button once the parameters have been correctly set and you are ready to assign the values.

Yamaha Auto Ref

This function allows strings to automatically be numbered for use with instruments that conform to Yamaha's XG format. If you need to use this function, please contact Sound Quest for instructions.

Emu Import

This section is currently not implemented as it does not apply to any current or recent Emu products. It is retained for Legacy reasons.

This section of the dialog is used to extract names from an Emu format instrument SysEx name dump directly into the String List. This is significantly faster that manually entering the names yourself. This function is only useful if you are working with recent Emu instruments. To uses enter the appropriate values in the dialog and press the Execute button.

Start String - Start String specifies the starting string location in the control to begin placing the names extracted from the SysEx dump.

# of Strings - # of Strings is the number of strings to extract from the SysEx dump.

Ofs to First - Offset to First specifies the number of bytes between the start of the SysEx (excluding the header) and the first character of the first name to extract.

# of Chars - the number of Characters is the size of each of the names being extracted.

Separation - Separation is the number of bytes separating the start of each text name in the SysEx file. This number may be greater than or equal to the # of Characters but it should never be smaller.

For Example: In the case of current Emu instruments, the start string would be 1 since 0 is reserved for the 'None' condition. The number of strings would vary with the instrument. Ofs to First, is 2 as the first two bytes represent the name's internal number. The number of characters is 11 and the separation is 14 as the total separation between each name is 14 characters. 11 of the characters are for the name itself, one is for the 0 at the end of the name and the final 2 are for the internal number of the name.


Import From Text File

This section of the dialog is considered legacy and is no longer available for importing text from a file. It is now easier to simply open the text file in the appropriate editor, select it and copy the appropriate text to the windows clipboard. Finally, click on the Text Editor button and paste in the text.

To import the text using this section of the dialog.

Import from - Press this button to open a File Selector to choose the file to import. The path to the selected file is entered in the text area to the button's left

File Name - Enter the path to the file to import from in the text entry box just below "Import from Text File"

Start String - specifies the starting location to place the imported text

# of strings - specifies the number of strings to import. There is one string per line

Lines to skip - specifies the number of lines to skip in the file before starting to read the text

Chars to skip - specifies the number of characters at the beginning of each line to skip before


Text Editor

Pressing this button opens the following dialog:


This dialog displays the string list with one string per line. This method of editing provides easy access to cut and paste facilities and it is easy to integrate names from almost any source file. When you are finished editing. Simply press the OK button to close the dialog and accept the new text. This dialog is also excellent for inserting and removing lines of text where appropriate.

UPPER - click to convert all text to upper case

lower - click to convert all text to lower case

Title - click to convert all text to upper case for the first character of each word and lower case for all other letters

Browse... - displays a file select dialog to select a file name. The file name is entered in the text area. This option is useful when the dialog is used to select a file name, usually for a bitmap file

Generate - algorithmically generates a number sequence. This is useful if you need to generate an ordered sequence of numbers. You can have Midi Quest do it instead of entering all of the values manually. Use From and To to set the range, Pre contains text to add before each number. Post contains text to add after each number. Press the Generate button to create the text list. Note: this function replaces the current text so use with care.


String Editor

Pressing this button opens an alternate editor specifically designed to create string lists.


With this editor, it is much more difficult to add or remove a line of text. However, the strength of the editor is the ability to locate a particular string. If you realize that the 2576th string in the list has a typing error, it is much faster and easier to find and correct the error using this dialog.


Save Strings as Text File

This option allows you to save all of the entries in the string list to disk as a simple text file. Press the button and a file selector dialog appears. Enter a file name and Midi Quest will save the list of strings to disk. The format is standard ASCII text with one string per line.


String Format Commands

There are a number of commands available which can control the format of the displayed strings. These allow for more extended control over text

^n (where n is the patch name entry in the associated bank as specified by the driver`s Child ID parameter)

In this instance, Midi Quest looks at the Child ID parameter associated with the driver and if it can find a bank in the Set with that ID, ^n is substituted with the actual patch name. For example, ^6 will show the name of the sixth patch in the bank. This allows you to create lists of patch names to display in a Combi style editor.

^m:n (where m in the ID of bank to draw a name from, n is the patch name entry in the bank)

This command functions identically to the one above except that instead of using the Child ID parameter to find the bank to extract the name from, the Bank's ID is specified directly.


This command works in conjunction with the two commands above. If Midi Quest can't find the specified bank to draw a name from, the "name" specified above is substituted instead. This option must be placed at the end of the line as all text is taken from the character after the ":" to the line terminator.


The tab command allows for value to be displayed in a popup to be different from the value displayed on the screen. There are times when you may not want to display the full parameter value in order to save screen space. Using the \t command you can enter the following: Tri\tTriangle. On the screen, "Tri" will be displayed for the parameter value. However, when a popup is displayed for the parameter value "Triangle" is displayed instead.


new line command. Forces the text to go to the next line when the control is set to "multi-line".


Replace with a string from another control. Forms are: \rn:p where n is the ID of the control with the string list; \rVn:p where the variable Vn holds the Id of the control to get the text from. "p" is the position in the list to get the string from. This can also be either a fixed value or taken from a variable.


Substitute a bank name from the instrument's names ini file. For example, for the Motif ES6, Midi Quest would look in "INSTR\CS6x\Yamaha Motif ES6.ini" in the block [MSBn:LSBm] for the specified entry. The variables MSB, LSB, and entry can be replaced either by fixed values or variables.


Used in conjunction with the \b command. When \bn is set before \b, the name of the bank is prepended to the name.



use string entry number n instead for the current entry


Background Parameters

These parameters control how the string list is displayed.


Select the background display used by the control. The options are:

Skin - use the background defined in the Skin currently used by this editor. The skin can specify a bitmap, solid color, see transparent background
Bitmap - the control uses the bitmap specified by the Background Bitmap parameter below as its background
Solid Color - the control uses a solid color for its background as specified by the A or C Pen depending on whether the parameter has been edited
Background - the control uses a transparent background. The control's value is drawn on top of the background


Font Select

Select the font that the control uses to display the value. This font can be any one of the eight defined in the Skin.



When a bitmap is used for the background of the control, this parameter determines how the bitmap is displayed. The options are:

Skin - use the display style specified in the Skin currently used by the editor. The skin can specify a Stretched or Tiled style
Stretch Bitmap - stretch the bitmap to fill the control
Tile - replicate the bitmap enough times to fill the control


Background Bitmap

When the Bitmap is selected for the Background option above, this parameter should specify a path to the bitmap file to display as the background.


Make Transparent

When checked the background bitmap is specified to have a transparency color which allows elements of the background to pass through it


Transparent Color

Transparent Color uses a standard Color Select Dialog to select and specify the color that is considered to be transparent in the background bitmap



When checked the edges of the control are automatically rounded


Drop Icon

When checked, Midi Quest will automatically draw a drop icon icon on the right hand side of the control.


Multi Line

When checked, the text can wrap in the control’s display area and use multiple lines if required.

note: this option force text to always be top aligned.


Read from ini

When checked, the control expects the list of strings to display to be found in the editors .ini file.

The control's Number of Strings parameter specifies the ID of the String List to use.


Click Step

When checked, editing of the parameter is controlled by using single click instead of click-drag-release. Each click advances the value of the parameter by one and it cycles around when the maximum value is reached. This may be advantageous in cases where there is a small value range.


Force Popup Dlg

Check this option to force the control to always use the large list editing dialog instead of the menu


Bitmap Font Enable

Defines how text is rendered in the window.

Off - the OS text engine renders the text

On - Midi Quest renders the text using a bitmap font specified in the following two parameters

On/Transparent - Midi Quest renders the text using a bitmap font


Bitmap Font Bitmap #

Specifies the bitmap in the bitmap list to be used as the bitmap font.



Available in:

Midi Quest Pro


Midi Quest


Midi Quest Essentials


Midi Quest one