mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 20:10:13 +02:00
Rewrite the architecture document for VST3 support
This now also goes more in depth on the more interesting parts of yabridge's implementation while skimming over lesser useful technical bits.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# VST3 interfaces
|
||||
|
||||
See
|
||||
[docs/vst3.md](https://github.com/robbert-vdh/yabridge/blob/master/docs/vst3.md)
|
||||
[docs/architecture.md#vst3-plugins](https://github.com/robbert-vdh/yabridge/blob/master/docs/architecture.md)
|
||||
for more information on how the serialization works.
|
||||
|
||||
We currently support all official VST 3.7.1 interfaces.
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
/**
|
||||
* An abstract class that optionally implements all VST3 interfaces a plugin
|
||||
* object could implement. A more in depth explanation can be found in
|
||||
* `docs/vst3.md`, but the way this works is that we begin with an `FUnknown`
|
||||
* pointer from the Windows VST3 plugin obtained by a call to
|
||||
* `docs/architecture.md`, but the way this works is that we begin with an
|
||||
* `FUnknown` pointer from the Windows VST3 plugin obtained by a call to
|
||||
* `IPluginFactory::createInstance()` (with an interface decided by the host).
|
||||
* We then go through all the plugin interfaces and check whether that object
|
||||
* supports them one by one. For each supported interface we remember that the
|
||||
|
||||
@@ -82,7 +82,7 @@ class RunLoopTasks : public Steinberg::Linux::IEventHandler {
|
||||
*
|
||||
* @relates Vst3PlugViewProxyImpl::run_gui_task
|
||||
*
|
||||
* @see RunLoopTasks::schedule_task
|
||||
* @see RunLoopTasks::schedule
|
||||
*/
|
||||
std::vector<fu2::unique_function<void()>> tasks;
|
||||
std::mutex tasks_mutex;
|
||||
|
||||
Reference in New Issue
Block a user