how can i change a knob to a button?
First load the plugin and click on the little led above the "Design"-button, now unload the plugin -
this is only needed once after using the skin-builder to replace the parameter-numbers in the .SKN file
with parameter-names.
In the
[Cmps]-section of the .SKN file you will find e.g.
=0,0,_knob,p-force mono,75,207,'',B~knob1
change
B~knob1 into e.g.
B^txtbtn ... the
[Bmps]-section contains all bitmaps
that can be used by a skin, you can add your own bitmaps to the
[Bmps] section ...
Also using a button means that parameter only has 2 states:
on/off, this needs to be set in the
.INI file, change:
p-17=0,1,0.01,0.1,0.000,'force mono','',R50808000FF11
into:
p-17=0,1,1,1,0,'force mono','',~s,R50808000FF11
if on plugin xy the eq-frequency of band 1 is the 4th parameter
in host-automation, is it possible to remap it within the tool to the 1st place, so that the sequencer
automation displays it as 1st parameter?
Yes, but there are some caveats:
- say you are using mdaCombo which, as a default does not use Chunks, normally when loading presets
via the host mdaCombo receives its parameters one-by-one from the host, so by swapping parameters
around, you can no longer use any previous saved FXPs/FXBs ...
- if compatibility with older projects is not issue, you may use mGUI's useChunks method where you
CAN switch parameters visible to the host around without goofing the presets/banks:
- load all old presets/banks via the host, and save using mGUI's "Options-Panel" > "Save/Export"
- then set useChunks=1 in the [Vst]-section of plugin.ini
- now you can change the parameters-order in the [VstPrms]-section of the plugin.ini file
I suppose all mGUI plugins have to live in the asseca (for
example) folder, they can't be broken down into categories?
There is a trick: place the location of the
asData-folder in the registry
(you
may use mGUIman.exe to set the path: MainMenu > File > Preferences > Registry-tab)

You can now place the mGUI-derived plugins anywhere you want ...
I assume the cpu hit of this wrapper is neglible? I guess I
get shaky when I see the word 'host'
The tests on my own machine says the CPU hit is very low, UNLESS you use a lot of MIDI ioControls in
the Properties panel (500 or more), then there will be some CPU usage ...
Each parameter can have
up to 6 ioControl assignments
So can you use your own button graphics and knobs and such?
... Yes, just create a new sub-folder in asData\skins ...
Could you give the basic concept of how this works? Does it
actually create a new VSTi with the old VSTi embedded? OR, does it route the original VSTi somehow?
I ask this because of your comment about not being able to use the original VSTi gui after using your
program.
The plugin
mGUI acts as a mini VST-host. Basically you just make a copy of the original
mGUI plugin.
At load time
mGUI always looks for its .INI-file, which should be located in the asData-folder
...
Inside the .INI-file
mGUI looks for the pluguni DLL to wrap, which should be located in the asData\plugins
folder.
mGUI then loads the child-DLL into memory
When the real Host calls
mGUI 's audio-"process" function,
mGUI immediately calls the
child-VST's audio-"process" function.
how hard would it be to make this tool be able to skin plugins
that already have a gui?
It should be able to skin those already, but you will not be able to access the original GUI
I extracted the ariesverb plugin using 7zip, extracted it into my vst folder,
but nor Reaper nor Live seem to find it...
NOTE: you need to place the original DLLs in "asData\Plugins" before loading the wrapper plugins ...
How does the VST-wrapper actually handle mono plugins ?
Child VST has a mono input:
- if plugin.ini 's AudioIn=1 , then the mono input from the main host will be sent
as a pure mono input to the child-VST.
- if plugin.ini 's AudioIn=2 , then the input will act as a stereo mono input to
the main host and the L+R inputs will be summed and sent to the mono input of the child-VST.
Child VST has a mono output:
- if plugin.ini 's AudioOut=1 , then the mono output from the child-VST will be sent
as a pure mono output to the main host.
- if plugin.ini 's AudioOut=2 , then the output of the wrapper-VST will act as a
stereo output to the main host and the mono output of the child-VST will be sent to both the L+R outputs.
My host automatically scans for plugins and seems to confuse
a plugin and its wrapped version
There are two solutions:
- give the mGUI wrapper a new VST-ID: edit the "plugin.ini" file > [Vst] -section > ID=$123456 into
a new unique ID
- Rename all the wrapped plugins' extensions for ".DLL" to ".DL", for example: "mda Combo.dll" should
be renamed to "mda Combo.dl".
You now also need to rename all plugini.ini files referencing the wrapped plugins, for example: rename VST-1=plugins\mda
Combo.dll into VST-1=plugins\mda Combo.dl
In the plugin folder is a default bank for AriesVerb. Should
it load automatic ?
The default bank will not load automatic, and is the original bank of AriesVerb.
This bank is in the "Chunkless" format and should be loaded via the host's "load bank".
When I right click in the new gui (options) and select load
/ import and then select the AriesVerb's default bank it doesn't load the bank.
The "Options Panel" >
load/import and
save/export is used for mGUI's own "Chunks" format,
which is ONLY needed if you want to load/save MIDI CCs or any other "Properties" per preset ...
I can't set the limits/boundaries of the value of a knob.
I can put 0.2 and 0.8 as low and high values, but the GUI shows all the values.
When "parameter-feedback" is ON, then the values are read back from the wrapped plugin.
It is possible to change the low and high end values:
- Click on the Design-button to set Global-Mode
- Right-Click on knob to open Properties Panel
- Change the min and max values of the >Prm^ row
I've seen that there's the possibility to embed banks...
is it easy?
You cannot embed a bank, but you can preload a default bank at startup by defining a
.FXB-file
or
.TXB-file at startup:
- I would personally advise to use the .TXB format for default-banks (this is a text-formatted
bank-file)
- this default-bank needs to be saved by using Options Panel > Save/Export
- in the .INI-file > [Vst]-section > add/rename the line defaultBank=
is it possible to add / rename a parameter in the gui?
Yes, you can:
- INI-file: assign/rename a name in the [Prms]-section (also in [VstPrms]-section
if you want to publish the parameter to the host)
- SKN-file: assign/rename the same name in the [Cmps] -section
what does the added SendDly control do?
"SendDly" is used to delay the MIDI output after initialization of the mGUI plugin.
This is needed if a plugin like Kontakt needs e.g. 10 seconds to load its soundset, mGUI then needs
to send MIDI-data to Kontakt after the soundset is loaded ...
how can I reduce the number of decimal places in a parameter
display (with rounding), e.g. 1.389037:1 to 1.39:1
When parameter-feedback is "ON", the parameter-display text is supplied by the wrapped plugin, and not
generated by mGUI, this is needed because the parameter text could be some custom non-linear text value
supplied by the wrapped plugin.
Conclusion: in these cases it is virtually impossible for mGUI to tell what the parameter-text would
be ...