All files used by mGUI are basically standard text files, even TXP/TXB/TXA files are standard text files,
actually mGUI's chunk-formatted FXP/FXB files are TXP/TXB files with the chunk-header attached if front
of the test generated file.
All file-handling uses a customized ini-file handler
Microsoft's own ini-file handler has some limitations
and bugs, and is rather slow.
Some INI-sections uses sequential file-access, and therefore one needs to be careful about placing comments.
Skin SKN-files
A Skin file is defined in plugin.ini >
[GUI]-section > e.g.
Skin=skins\mdaDynamicsV-ds-ice.skn
When using a SKN file, the plugin.ini must not contain
[Cmps], [pnlNx], [Bmps], [Fnts] sections
Skin files must contain the following sections:
[Vst], [GUI], [Cmps], [pnlNx], [Bmps], [Fnts]
Theme THM-files
A Theme file is defined in plugin.ini or the SKN-file >
[GUI]-section > e.g.
Theme=ds-ice.thm
Theme files may contain and override the 4 panels
[pnlAbout], [pnlEntry], [pnlProperties], [pnlOptions] in "Global.ini".
Theme files may also contain
[Bmps]- and
[Fnts]-sections, the plugin.ini's or the
SKN-file's
[Bmps]- and
[Fnts]-sections are loaded after the THM-file and any duplicate
keys will be overridden by plugin.ini.
File content matrix
Greyed colored blocks shows which ini-sections are allowed in each of the 4 files:
| Section
| Global.ini
| plugin.ini
| theme.thm
| plugin-skin.skn
|
| [Main] |
|
|
|
|
| [pnlAbout] |
global panel, references to bitmaps and fonts |
|
replaces global version, references to bitmaps and fonts |
|
| [pnlProperties]
| global panel, references to bitmaps and fonts |
|
replaces global version, references to bitmaps and fonts |
|
| [pnlOptions] |
global panel, references to bitmaps and fonts |
|
replaces global version, references to bitmaps and fonts |
|
| [pnlEntry] |
global panel, references to bitmaps and fonts |
|
replaces global version, references to bitmaps and fonts |
|
| [curhost] |
|
|
|
|
| [hostname x] |
specific for each supported host (12 atm) |
|
|
|
| [Vars] |
global variables, v-1 to v-35 |
local variables,v-36 to v-38 |
|
|
| [VST] |
|
|
|
dll name |
| [GUI]
| |
ref to Help
ref to Skin/SkinFolder
ref to Theme
SkinMask filter |
|
ref to Theme
ref to SkinFolder |
| [VstPrms] |
|
VST parameters,p-0 onwards, visible to host |
|
|
| [SYSEX] |
|
VST parameters,p-0 onwards, visible to host |
|
|
| [Values] |
|
can be referenced by [Prms], [PartNx] or [Vars] |
|
|
| [HiddenPrms] |
|
VST hidden parameters,h-0 onwards, never visible to the host |
|
|
| [Prms] |
|
VST parameters,p-0 onwards, only visible to the host if there is no [VstPrms]
section |
|
|
| [PartN-Prms] |
|
VST parameters, only visible to the host if there is no [VstPrms] section |
|
|
| [Cmps] |
|
if no SkinFile:references to bitmaps and fonts |
|
references to bitmaps and fonts |
| [pnlNx] |
|
if no SkinFile:references to bitmaps and fonts |
|
references to bitmaps and fonts |
| [Bmps] |
|
if no SkinFile: match replaces Theme version |
|
match replaces Theme version |
| [Fnts] |
|
if no SkinFile:match replaces Theme version |
|
match replaces Theme version |
Placing Comments in INI, SKN and THM files
Some INI-sections uses sequential file-access, and therefore one needs to be careful about placing comments:
(using
the ; character)
- the following sections use sequential file-access:
[VstPrms], [Values], [Prms], [PartN-Prms], [HiddenPrms], [Vars], [Cmps], [pnlNx],
[Bmps], [Fnts]
- in sections e.g. [Cmps] you may place comments on the same line
- you may place standard comment line just below a section definition
- the following sections may contain comments between the key-entries:
[Prms], [HiddenPrms], [Vars], [Cmps], [pnlNx] with the following limitations:
- a comment line MUST start with "=;" and MUST contain at least 3 characters, "=;;" is a valid "empty" comment
- these comments are saved inside the VST, and therefore uses extra memory, so use comments sparsely