mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-06 19:40:10 +02:00
Pass the paths to the VST plugin .dll and socket
This commit is contained in:
@@ -59,6 +59,10 @@ Bridge::Bridge()
|
|||||||
vst_stdin(),
|
vst_stdin(),
|
||||||
vst_stdout(),
|
vst_stdout(),
|
||||||
vst_host(find_wine_vst_host(),
|
vst_host(find_wine_vst_host(),
|
||||||
|
// The Wine VST host needs to know which plugin to load and which
|
||||||
|
// Unix domain socket to connect to
|
||||||
|
find_vst_plugin(),
|
||||||
|
socket_endpoint.path(),
|
||||||
bp::std_in = vst_stdin,
|
bp::std_in = vst_stdin,
|
||||||
bp::std_out = vst_stdout,
|
bp::std_out = vst_stdout,
|
||||||
bp::env = set_wineprefix()) {
|
bp::env = set_wineprefix()) {
|
||||||
|
|||||||
@@ -34,17 +34,23 @@ using VstEntryPoint = AEffect*(VST_CALL_CONV*)(audioMasterCallback);
|
|||||||
intptr_t VST_CALL_CONV
|
intptr_t VST_CALL_CONV
|
||||||
host_callback(AEffect*, int32_t, int32_t, intptr_t, void*, float);
|
host_callback(AEffect*, int32_t, int32_t, intptr_t, void*, float);
|
||||||
|
|
||||||
int main() {
|
int main(int argc, char* argv[]) {
|
||||||
// TODO: We're going to need to forward messages both from the host to the
|
// We pass the name of the VST plugin .dll file to load and the Unix domain
|
||||||
// plugin and from the plugin to the host. It might be useful to use
|
// socket to connect to in plugin/bridge.cpp as the first two arguments of
|
||||||
// two sockets here so both channels can be handled independently.
|
// this process.
|
||||||
|
if (argc < 3) {
|
||||||
|
std::cerr
|
||||||
|
<< "Usage: yabridge-host.exe <vst_plugin_dll> <unix_domain_socket>"
|
||||||
|
<< std::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string plugin_dll_path(argv[1]);
|
||||||
|
const std::string socket_endpoint_path(argv[2]);
|
||||||
|
|
||||||
// TODO: Load the right VST plugin
|
|
||||||
// I sadly could not get Boost.DLL to work here, so we'll just load the VST
|
// I sadly could not get Boost.DLL to work here, so we'll just load the VST
|
||||||
// plugisn by hand
|
// plugisn by hand
|
||||||
const auto vst_handle = LoadLibrary(
|
const auto vst_handle = LoadLibrary(plugin_dll_path.c_str());
|
||||||
"/home/robbert/.wine/drive_c/Program "
|
|
||||||
"Files/Steinberg/VstPlugins/Serum_x64.dll");
|
|
||||||
|
|
||||||
// TODO: Fall back to the old entry points
|
// TODO: Fall back to the old entry points
|
||||||
const auto vst_entry_point = reinterpret_cast<VstEntryPoint>(
|
const auto vst_entry_point = reinterpret_cast<VstEntryPoint>(
|
||||||
|
|||||||
Reference in New Issue
Block a user