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.
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 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 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 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.
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.
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
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.
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
These parameters control how the string list is displayed.
Select the background display used by the control. The options are:
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:
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.
When checked the background bitmap is specified to have a transparency color which allows elements of the background to pass through it
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
When checked, Midi Quest will automatically draw a drop icon icon on the right hand side of the control.
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.
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.