Move supported extensions lists out of logger

Keeping this next to the supported extensions objects makes it easier to
maintain.
This commit is contained in:
Robbert van der Helm
2022-09-26 17:40:34 +02:00
parent 436efeae56
commit 53c9fbb376
6 changed files with 35 additions and 18 deletions
+9
View File
@@ -17,6 +17,8 @@
#include "host.h"
#include <clap/ext/audio-ports.h>
#include <clap/ext/note-ports.h>
#include <clap/ext/params.h>
namespace clap {
namespace host {
@@ -28,5 +30,12 @@ Host::Host(const clap_host_t& original)
url(original.url ? std::optional(original.url) : std::nullopt),
version((assert(original.version), original.version)) {}
std::array<std::pair<bool, const char*>, 3> SupportedHostExtensions::list()
const noexcept {
return {std::pair(supports_audio_ports, CLAP_EXT_AUDIO_PORTS),
std::pair(supports_note_ports, CLAP_EXT_NOTE_PORTS),
std::pair(supports_params, CLAP_EXT_PARAMS)};
}
} // namespace host
} // namespace clap
+7 -2
View File
@@ -80,12 +80,17 @@ struct Host {
* available to the bridged CLAP plugins using proxies.
*/
struct SupportedHostExtensions {
// Don't forget to add new extensions to the logger and to the serialize
// method
// Don't forget to add new extensions to below method
bool supports_audio_ports = false;
bool supports_note_ports = false;
bool supports_params = false;
/**
* Get a list of `<bool, extension_name>` tuples for the supported
* extensions. Used during logging.
*/
std::array<std::pair<bool, const char*>, 3> list() const noexcept;
template <typename S>
void serialize(S& s) {
s.value1b(supports_audio_ports);
+9
View File
@@ -17,6 +17,8 @@
#include "plugin.h"
#include <clap/ext/audio-ports.h>
#include <clap/ext/note-ports.h>
#include <clap/ext/params.h>
#include "version.h"
@@ -76,5 +78,12 @@ const clap_plugin_descriptor_t* Descriptor::get() const {
return &clap_descriptor;
}
std::array<std::pair<bool, const char*>, 3> SupportedPluginExtensions::list()
const noexcept {
return {std::pair(supports_audio_ports, CLAP_EXT_AUDIO_PORTS),
std::pair(supports_note_ports, CLAP_EXT_NOTE_PORTS),
std::pair(supports_params, CLAP_EXT_PARAMS)};
}
} // namespace plugin
} // namespace clap
+7 -2
View File
@@ -113,12 +113,17 @@ struct Descriptor {
* created by `ClapPluginExtensions::supported()`.
*/
struct SupportedPluginExtensions {
// Don't forget to add new extensions to the logger and to the serialize
// method
// Don't forget to add new extensions to below method
bool supports_audio_ports = false;
bool supports_note_ports = false;
bool supports_params = false;
/**
* Get a list of `<bool, extension_name>` tuples for the supported
* extensions. Used during logging.
*/
std::array<std::pair<bool, const char*>, 3> list() const noexcept;
template <typename S>
void serialize(S& s) {
s.value1b(supports_audio_ports);