mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Allow loading VST3 modules
Doesn't actually work yet or do anything, but it compiles and it runs.
This commit is contained in:
@@ -36,6 +36,8 @@ SMTG_EXPORT_SYMBOL Steinberg::IPluginFactory* PLUGIN_API GetPluginFactory() {
|
|||||||
// already implemented and which are left
|
// already implemented and which are left
|
||||||
// TODO: And when we get a query for some interface that we do not (yet)
|
// 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
|
// 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
|
// TODO: Should we always use plugin groups or for VST3 plugins? Since
|
||||||
// they seem to be very keen on sharing resources and leaving
|
// they seem to be very keen on sharing resources and leaving
|
||||||
// modules loaded.
|
// modules loaded.
|
||||||
|
|||||||
@@ -17,4 +17,20 @@
|
|||||||
#include "vst3.h"
|
#include "vst3.h"
|
||||||
|
|
||||||
// TODO: Do something with this, I just wanted to get the build working
|
// 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>
|
#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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,3 +15,7 @@
|
|||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
void justdewit(const std::string& path);
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ main(int argc, char* argv[]) {
|
|||||||
break;
|
break;
|
||||||
case PluginType::vst3:
|
case PluginType::vst3:
|
||||||
#ifdef WITH_VST3
|
#ifdef WITH_VST3
|
||||||
|
justdewit(plugin_location);
|
||||||
|
|
||||||
std::cerr << "TODO: Not yet implemented" << std::endl;
|
std::cerr << "TODO: Not yet implemented" << std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user