mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 20:40:11 +02:00
Implement CLAP note ports extension
This commit is contained in:
@@ -83,7 +83,9 @@ bool ClapLogger::log_request(bool is_host_plugin,
|
||||
const auto& supported_extensions = request.supported_host_extensions;
|
||||
for (const auto& [supported, extension_name] :
|
||||
{std::pair(supported_extensions.supports_audio_ports,
|
||||
CLAP_EXT_AUDIO_PORTS)}) {
|
||||
CLAP_EXT_AUDIO_PORTS),
|
||||
std::pair(supported_extensions.supports_note_ports,
|
||||
CLAP_EXT_NOTE_PORTS)}) {
|
||||
if (!supported) {
|
||||
continue;
|
||||
}
|
||||
@@ -292,7 +294,9 @@ void ClapLogger::log_response(bool is_host_plugin,
|
||||
const auto& supported_extensions = response.supported_plugin_extensions;
|
||||
for (const auto& [supported, extension_name] :
|
||||
{std::pair(supported_extensions.supports_audio_ports,
|
||||
CLAP_EXT_AUDIO_PORTS)}) {
|
||||
CLAP_EXT_AUDIO_PORTS),
|
||||
std::pair(supported_extensions.supports_note_ports,
|
||||
CLAP_EXT_NOTE_PORTS)}) {
|
||||
if (!supported) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,9 @@ using ClapMainThreadControlRequest =
|
||||
clap::plugin::Activate,
|
||||
clap::plugin::Deactivate,
|
||||
clap::ext::audio_ports::plugin::Count,
|
||||
clap::ext::audio_ports::plugin::Get>;
|
||||
clap::ext::audio_ports::plugin::Get,
|
||||
clap::ext::note_ports::plugin::Count,
|
||||
clap::ext::note_ports::plugin::Get>;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s, ClapMainThreadControlRequest& payload) {
|
||||
@@ -134,7 +136,9 @@ using ClapMainThreadCallbackRequest =
|
||||
clap::host::RequestRestart,
|
||||
clap::host::RequestProcess,
|
||||
clap::ext::audio_ports::host::IsRescanFlagSupported,
|
||||
clap::ext::audio_ports::host::Rescan>;
|
||||
clap::ext::audio_ports::host::Rescan,
|
||||
clap::ext::note_ports::host::SupportedDialects,
|
||||
clap::ext::note_ports::host::Rescan>;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s, ClapMainThreadCallbackRequest& payload) {
|
||||
|
||||
@@ -21,7 +21,7 @@ Yabridge currently tracks CLAP 1.1.1. The implementation status for CLAP's core
|
||||
| `clap.latency` | :x: Not supported yet |
|
||||
| `clap.log` | :x: Not supported yet |
|
||||
| `clap.note-name` | :x: Not supported yet |
|
||||
| `clap.note-ports` | :x: Not supported yet |
|
||||
| `clap.note-ports` | :heavy_check_mark: |
|
||||
| `clap.params` | :x: Not supported yet |
|
||||
| `clap.posix-fd-support` | :x: Not supported yet |
|
||||
| `clap.render` | :x: Not supported yet |
|
||||
|
||||
@@ -80,12 +80,15 @@ struct Host {
|
||||
* available to the bridged CLAP plugins using proxies.
|
||||
*/
|
||||
struct SupportedHostExtensions {
|
||||
// Don't forget to add new extensions to the log output
|
||||
// Don't forget to add new extensions to the logger and to the serialize
|
||||
// method
|
||||
bool supports_audio_ports = false;
|
||||
bool supports_note_ports = false;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
s.value1b(supports_audio_ports);
|
||||
s.value1b(supports_note_ports);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -113,12 +113,15 @@ struct Descriptor {
|
||||
* created by `ClapPluginExtensions::supported()`.
|
||||
*/
|
||||
struct SupportedPluginExtensions {
|
||||
// Don't forget to add new extensions to the log output
|
||||
// Don't forget to add new extensions to the logger and to the serialize
|
||||
// method
|
||||
bool supports_audio_ports = false;
|
||||
bool supports_note_ports = false;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
s.value1b(supports_audio_ports);
|
||||
s.value1b(supports_note_ports);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user