Allow loading VST3 modules

Doesn't actually work yet or do anything, but it compiles and it runs.
This commit is contained in:
Robbert van der Helm
2020-12-02 19:09:55 +01:00
parent 211f6156a7
commit 0b462c034e
4 changed files with 24 additions and 0 deletions
+2
View File
@@ -36,6 +36,8 @@ SMTG_EXPORT_SYMBOL Steinberg::IPluginFactory* PLUGIN_API GetPluginFactory() {
// already implemented and which are left
// TODO: And when we get a query for some interface that we do not (yet)
// support, we should print some easy to spot warning message
// TODO: Check whether `IPlugView::isPlatformTypeSupported` needs
// special handling.
// TODO: Should we always use plugin groups or for VST3 plugins? Since
// they seem to be very keen on sharing resources and leaving
// modules loaded.
+16
View File
@@ -17,4 +17,20 @@
#include "vst3.h"
// TODO: Do something with this, I just wanted to get the build working
// TODO: Check if this can load both regular Unix style paths with Wine. Oh and
// check if it works at all.
// TODO: Check if <filesystem> now works with Winelib, or replace with Boost
#include <public.sdk/source/vst/hosting/module_win32.cpp>
void justdewit(const std::string& path) {
std::string error;
std::shared_ptr<VST3::Hosting::Module> plugin =
VST3::Hosting::Win32Module::create(path, error);
if (plugin) {
std::cerr << "Hooray!" << std::endl;
} else {
std::cerr << "Ohnoes!" << std::endl;
std::cerr << error << std::endl;
}
}
+4
View File
@@ -15,3 +15,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#pragma once
#include <string>
void justdewit(const std::string& path);
+2
View File
@@ -85,6 +85,8 @@ main(int argc, char* argv[]) {
break;
case PluginType::vst3:
#ifdef WITH_VST3
justdewit(plugin_location);
std::cerr << "TODO: Not yet implemented" << std::endl;
return 1;
#else