I'm trying to build a small program that hosts vst effects and I would like to scan a folder for plugin dlls.
I know how to find all the dlls but now I have the following questions:
ps: If there is a library that can do all of this for me please let me know.
In the menu bar, click on Options and select File Settings. A pop-up window will appear showing extra search folders for samples and plug-ins. Click on the folder icon located beneath the VST plugins extra search folder and select the install location of your VST plug-ins. Select Fast scan (recommended).
VST 2 plug-in location (.C:\Program Files\Common Files\Steinberg\VST2. C:\Program Files (x86)\Steinberg\VstPlugins (For 32-bit plugins on 64-bit version of Windows)
How to determine a VST plugin?
Once you've found main/VSTPluginMain... call it!
If what's returned is NULL, it's not a VST.
If what's returned is a pointer to the bytes "VstP" (see VstInt32 magic; ///< must be #kEffectMagic ('VstP')
in aeffect.h), then you have a VST.
The VSTPluginMain returns a pointer to an AEffect structure. You will need to look at this structure.
Effect or instrument? AEffect::flags | (effFlagsIsSynth = 1 << 8)
Shell VSTs are more complex:
Category will be kPlugCategShell
Support the "shellCategory" canDo.
Use effShellGetNextPlugin to enumerate.
To instance, respond to audioMasterCurrentId in your callback with the ID you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With