mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 20:40:11 +02:00
Add all the boilerplate for the Vst3PluginBridge
And now that I also have an idea of what the communication model will look like, this can server as a base for instantiating plugins.
This commit is contained in:
@@ -29,6 +29,9 @@
|
||||
* sockets, and the call to `connect()` will then accept any incoming
|
||||
* connections.
|
||||
*
|
||||
* TODO: I have no idea what the best approach here is yet, so this is very much
|
||||
* subject to change
|
||||
*
|
||||
* @tparam Thread The thread implementation to use. On the Linux side this
|
||||
* should be `std::jthread` and on the Wine side this should be `Win32Thread`.
|
||||
*/
|
||||
@@ -62,4 +65,10 @@ class Vst3Sockets : public Sockets {
|
||||
// Manually close all sockets so we break out of any blocking operations
|
||||
// that may still be active
|
||||
}
|
||||
|
||||
// TODO: I still don't know if recursive callbacks are a thing in VST3. If
|
||||
// not, then we should probably have two `AdHocSocketHandler`s per
|
||||
// plugin instance (one for each direction, as with `dispatcher()` and
|
||||
// `audioMaster()` in VST2). Using fewer probably also works, but we
|
||||
// wouldn't want to have to spawn new sockets during audio processing.
|
||||
};
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
*/
|
||||
std::optional<std::string> opcode_to_string(bool is_dispatch, int opcode);
|
||||
|
||||
/**
|
||||
* Provides VST2 specific logging functionality for debugging plugins.
|
||||
*/
|
||||
class Vst2Logger : public Logger {
|
||||
public:
|
||||
// The following functions are for logging specific events, they are only
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
// yabridge: a Wine VST bridge
|
||||
// Copyright (C) 2020 Robbert van der Helm
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/**
|
||||
* Provides VST3-specific logging functionality for debugging plugins.
|
||||
*/
|
||||
class Vst3Logger : public Logger {
|
||||
public:
|
||||
// TODO: Logging interface for VST3 plugins
|
||||
};
|
||||
Reference in New Issue
Block a user