553ae2a3f7
Disabled until Steinberg licensing compliance can be sorted out.
50 lines
1.7 KiB
C++
50 lines
1.7 KiB
C++
#include <string>
|
|
#include "public.sdk/source/vst/hosting/module.h"
|
|
#include "public.sdk/source/vst/hosting/hostclasses.h"
|
|
#include "public.sdk/source/vst/hosting/plugprovider.h"
|
|
#include "pluginterfaces/vst/ivsteditcontroller.h"
|
|
#include "pluginterfaces/vst/ivstaudioprocessor.h"
|
|
#include "pluginterfaces/vst/ivstunits.h"
|
|
#include "public.sdk/source/vst/utility/stringconvert.h"
|
|
#include "public.sdk/source/vst/hosting/eventlist.h"
|
|
#include "public.sdk/source/vst/hosting/parameterchanges.h"
|
|
#include "public.sdk/source/vst/hosting/processdata.h"
|
|
#include "pluginterfaces/vst/ivstaudioprocessor.h"
|
|
#include "pluginterfaces/vst/ivstmidicontrollers.h"
|
|
|
|
#include "public.sdk/samples/vst-hosting/audiohost/source/media/iparameterclient.h"
|
|
#include "public.sdk/samples/vst-hosting/audiohost/source/media/imediaserver.h"
|
|
|
|
using namespace std;
|
|
using namespace VST3::Hosting;
|
|
using namespace Steinberg;
|
|
using namespace Steinberg::Vst;
|
|
|
|
PluginFactory::ClassInfos GetVst3ClassInfos(const std::string& pluginPath)
|
|
{
|
|
std::string error;
|
|
Module::Ptr module = Module::create(pluginPath.c_str(), error);
|
|
|
|
if (!module)
|
|
{
|
|
assert(false && "Vst3 load failed.");
|
|
}
|
|
const PluginFactory &factory = module->getFactory();
|
|
|
|
return factory.classInfos();
|
|
}
|
|
|
|
static std::string HomePath() { return getenv("HOME"); }
|
|
|
|
void BugReportTest()
|
|
{
|
|
auto _ = GetVst3ClassInfos(HomePath() + "/.vst3/adelay.vst3");
|
|
PluginFactory::ClassInfos classInfos = GetVst3ClassInfos(HomePath() + "/.vst3/mda-vst3.vst3");
|
|
|
|
// right size.
|
|
assert(classInfos.size() == 68); // succeeds
|
|
|
|
// wrong classInfo (from adelay.vst3)
|
|
assert(classInfos[0].name() == "mda Ambience"); // actual result "ADelay"
|
|
}
|