From bc2bad3e9457943c79c03b3fca3756191ffcf687 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sat, 10 Sep 2022 15:28:28 +0200 Subject: [PATCH] Add constructors for reading extension support --- src/common/serialization/clap/host.cpp | 3 +++ src/common/serialization/clap/host.h | 8 ++++++++ src/common/serialization/clap/plugin.cpp | 4 ++++ src/common/serialization/clap/plugin.h | 8 ++++++++ 4 files changed, 23 insertions(+) diff --git a/src/common/serialization/clap/host.cpp b/src/common/serialization/clap/host.cpp index 34f82cc1..d2841ef7 100644 --- a/src/common/serialization/clap/host.cpp +++ b/src/common/serialization/clap/host.cpp @@ -26,5 +26,8 @@ Host::Host(const clap_host_t& original) url(original.url ? std::optional(original.url) : std::nullopt), version((assert(original.version), original.version)) {} +// TODO: Add extensions +SupportedHostExtensions::SupportedHostExtensions(const clap_host& host) {} + } // namespace host } // namespace clap diff --git a/src/common/serialization/clap/host.h b/src/common/serialization/clap/host.h index 844baaf1..1530d595 100644 --- a/src/common/serialization/clap/host.h +++ b/src/common/serialization/clap/host.h @@ -77,6 +77,14 @@ struct Host { * same extensions available to the bridged CLAP plugins using proxies. */ struct SupportedHostExtensions { + /** + * Read the supported extensions from a native CLAP host. This is only valid + * once the native host has called `clap_host::init()`. + */ + SupportedHostExtensions(const clap_host& host); + + SupportedHostExtensions() noexcept {} + // Don't forget to add new extensions to the log output // TODO: Support extensions diff --git a/src/common/serialization/clap/plugin.cpp b/src/common/serialization/clap/plugin.cpp index 7c19837c..ef0b67d5 100644 --- a/src/common/serialization/clap/plugin.cpp +++ b/src/common/serialization/clap/plugin.cpp @@ -74,5 +74,9 @@ const clap_plugin_descriptor_t* Descriptor::get() const { return &clap_descriptor; } +// TODO: Add extensions +SupportedPluginExtensions::SupportedPluginExtensions( + const clap_plugin& plugin) {} + } // namespace plugin } // namespace clap diff --git a/src/common/serialization/clap/plugin.h b/src/common/serialization/clap/plugin.h index 24d8a83b..645afde1 100644 --- a/src/common/serialization/clap/plugin.h +++ b/src/common/serialization/clap/plugin.h @@ -110,6 +110,14 @@ struct Descriptor { * Extensions supported by the plugin. Queried after `clap_plugin::init()`. */ struct SupportedPluginExtensions { + /** + * Read the supported extensions from a CLAP plugin. This is only valid + * after `clap_plugin::init()` has been called on the plugin. + */ + SupportedPluginExtensions(const clap_plugin& plugin); + + SupportedPluginExtensions() noexcept {} + // Don't forget to add new extensions to the log output // TODO: Support extensions