I am not sure I understood the purpose of the moduleinfo file on the DAW side. Is it supposed to be used for setting up the factory/classes information to speed up the scanning process? Or where in the chain of events should this file be used?
Thanks a lot!
It’s purpose is to be able to get information what’s inside a plug-in package without loading it into the process and it can describes the compatibility of older plug-in versions, for example to declare a plug-in to be a replacement for an old VST2 version.
Thank you! I saw the page, but I wanted to understand how is the DAW using the moduleinfo.json file. The documentation states " The Compatibility json array is used to declare a class to be treated as a replacement for another class or classes. When used this way, the host does not need to load the component to know which classes the module provides." So, the moduleinfo.json will be used before loading the plugin, to check if the plugin is a replacement for another plugin? But what about the rest of the info?
It’s up to the host what info it needs. For example if you provide a list of “instrument” plug-ins to the user, you can either load all the dlls/bundles into the process and ask every factory how many instrument plug-ins are inside, or you just parse the moduleinfo.json file to get the list. Whenever you used the factory object to get the information about the included classes, you can instead use the moduleinfo.json file.