| Contents |
|
Next | ||||||||||||||
The DH_ControlOverlay module would typically be one of the last modules you would insert into your project, after your controls and skin are in place. Insert the module with SynthEdit's audio not running.
The file name will be your VST name with .txt appended. It will be created in your SynthEdit folder.
On the panel view, resize the overlay so that its area includes all of the controls you want to use it with. To do this, drag it by the title so that its upper left corner is in the upper left corner of the area you want to cover. Then, drag the resizing square down and to the right until the entire area is included. You may wish to right-click on the title, choose Properties, and blank out the title at this point, so it won't show on the panel. When you are ready to begin drawing your rectangles, make sure the module is in Layout mode, then press the Play button to start SynthEdit's audio.
Drawing rectangles is straightforward:
It's advisable that the rectangles don't overlap each other. If they do, the mouse will respond to whichever rectangle is "on top" in the Z-order when it is in the overlapped area, but this may be confusing. To help you avoid this situation, overlapping rectangles are highlighted in red. .
Identify the pin to which this control is connected in the structure view, and enter its number in the Control # field. If you have labeled and numbered the pins as suggested in Build a Central Control Point as You Go, this will be simple.
You can choose from 3 types for the control: Numeric, List, or Info. The Description field is common to all 3 types. It can contain any free form text that you would like to have displayed when the mouse is over the area defined by the rectangle. You can use multiple lines by holding down the Ctrl key while you press Enter. This text will be output at the module's Description pin.
Numeric and List controls have specialized fields in addition
to the Description field.
For Numeric controls, you can specify a Value Format String. This can include any text, with a format specification that indicates where and how the control's numeric value should be inserted into the text string. A format specification starts with a percent sign % and ends with a letter f. In between can be numbers that specify field width, zero padding, justification, and the number of decimal places to display.
If you don't enter a Value Format String, the default is %f,
that is, just the value in general floating point form. |
Next | |||||||||||||||
|
The General Form of a Format Specification:
|
Examples - the value 2.43567 with different format specifications: | |||||||||||||||
|
2.43567 2 2.44 ms 2.44% Osc002 -2 dB 2.4 R |
|||||||||||||||
| Note: Because % marks the beginning of a format specification, you have to use %% to get an actual percent sign. | ||||||||||||||||
|
In the case of a List type control, the value that will be coming into the DH_ControlOverlay module is an index to an item in a list. You create a simple text file containing the text that you want to display for each item in a list, and select that file here in the List control's Enter Control Information dialog. The List File button opens a standard File Open dialog that lets you select the file. List files should be kept in your SynthEdit directory, and must be included in the embedded files list when you save as VST. Two or more controls can share the same list file if they use the same items.
The file format is simply one item per line, each terminated by a semicolon. For example, a list for a control that selects a modulation source might be:
LFO1;
You will not be able to draw or see rectangles when the audio is not running. Your layout information is saved to file whenever the SynthEdit audio stops, and is reloaded when the audio is started. Again, it is important that you enter your VST name into the module's VST_Name input before you start work on a layout, so that your work won't accidentally be lost. Your VST's layout file and all of your list files should be kept in your SynthEdit directory while you are working on the project, so that all files can be accessed from the current directory using a relative path. If you don't do this, the module will not be able to find the embedded files after it has been compiled into a VST. |
||||||||||||||||