mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-24 12:57:31 +02:00
Rename VST3 instance holder classes
We're going to have to split up the interfaces into another object so we can reinitialize it later.
This commit is contained in:
@@ -40,17 +40,17 @@ Steinberg::FUnknownPtr<Steinberg::IPluginBase> hack_init_plugin_base(
|
|||||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||||
Steinberg::IPtr<Steinberg::Vst::IComponent> component);
|
Steinberg::IPtr<Steinberg::Vst::IComponent> component);
|
||||||
|
|
||||||
InstancePlugView::InstancePlugView() noexcept {}
|
Vst3PlugViewInterfaces::Vst3PlugViewInterfaces() noexcept {}
|
||||||
|
|
||||||
InstancePlugView::InstancePlugView(
|
Vst3PlugViewInterfaces::Vst3PlugViewInterfaces(
|
||||||
Steinberg::IPtr<Steinberg::IPlugView> plug_view) noexcept
|
Steinberg::IPtr<Steinberg::IPlugView> plug_view) noexcept
|
||||||
: plug_view(plug_view),
|
: plug_view(plug_view),
|
||||||
parameter_finder(plug_view),
|
parameter_finder(plug_view),
|
||||||
plug_view_content_scale_support(plug_view) {}
|
plug_view_content_scale_support(plug_view) {}
|
||||||
|
|
||||||
InstanceInterfaces::InstanceInterfaces() noexcept {}
|
Vst3PluginInstance::Vst3PluginInstance() noexcept {}
|
||||||
|
|
||||||
InstanceInterfaces::InstanceInterfaces(
|
Vst3PluginInstance::Vst3PluginInstance(
|
||||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||||
: object(object),
|
: object(object),
|
||||||
audio_presentation_latency(object),
|
audio_presentation_latency(object),
|
||||||
|
|||||||
@@ -34,12 +34,13 @@ class Vst3ContextMenuProxyImpl;
|
|||||||
* A holder for an object instance's `IPlugView` object and all smart pointers
|
* A holder for an object instance's `IPlugView` object and all smart pointers
|
||||||
* casted from it.
|
* casted from it.
|
||||||
*
|
*
|
||||||
* @relates InstanceInterfaces
|
* @relates Vst3PluginInstance
|
||||||
*/
|
*/
|
||||||
struct InstancePlugView {
|
struct Vst3PlugViewInterfaces {
|
||||||
InstancePlugView() noexcept;
|
Vst3PlugViewInterfaces() noexcept;
|
||||||
|
|
||||||
InstancePlugView(Steinberg::IPtr<Steinberg::IPlugView> plug_View) noexcept;
|
Vst3PlugViewInterfaces(
|
||||||
|
Steinberg::IPtr<Steinberg::IPlugView> plug_View) noexcept;
|
||||||
|
|
||||||
Steinberg::IPtr<Steinberg::IPlugView> plug_view;
|
Steinberg::IPtr<Steinberg::IPlugView> plug_view;
|
||||||
|
|
||||||
@@ -59,10 +60,10 @@ struct InstancePlugView {
|
|||||||
* `IHostApplication` instance passed to the plugin during
|
* `IHostApplication` instance passed to the plugin during
|
||||||
* `IPluginBase::initialize()`.
|
* `IPluginBase::initialize()`.
|
||||||
*/
|
*/
|
||||||
struct InstanceInterfaces {
|
struct Vst3PluginInstance {
|
||||||
InstanceInterfaces() noexcept;
|
Vst3PluginInstance() noexcept;
|
||||||
|
|
||||||
InstanceInterfaces(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
Vst3PluginInstance(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A dedicated thread for handling incoming `IAudioProcessor` and
|
* A dedicated thread for handling incoming `IAudioProcessor` and
|
||||||
@@ -137,7 +138,7 @@ struct InstanceInterfaces {
|
|||||||
* multiple different view for a single plugin. This is not used within
|
* multiple different view for a single plugin. This is not used within
|
||||||
* the SDK, so a single pointer should be fine for now.
|
* the SDK, so a single pointer should be fine for now.
|
||||||
*/
|
*/
|
||||||
std::optional<InstancePlugView> plug_view_instance;
|
std::optional<Vst3PlugViewInterfaces> plug_view_instance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A shared memory object we'll write the input audio buffers to on the
|
* A shared memory object we'll write the input audio buffers to on the
|
||||||
@@ -440,7 +441,7 @@ class Vst3Bridge : public HostBridge {
|
|||||||
* will cause all pointers to it to get dropped and the object to be cleaned
|
* will cause all pointers to it to get dropped and the object to be cleaned
|
||||||
* up.
|
* up.
|
||||||
*/
|
*/
|
||||||
std::unordered_map<size_t, InstanceInterfaces> object_instances;
|
std::unordered_map<size_t, Vst3PluginInstance> object_instances;
|
||||||
std::mutex object_instances_mutex;
|
std::mutex object_instances_mutex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user