Implement CLAP note ports extension

This commit is contained in:
Robbert van der Helm
2022-09-13 18:08:08 +02:00
parent 4f514a82ff
commit d5f4d563d4
12 changed files with 172 additions and 13 deletions
+6 -2
View File
@@ -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) {
+1 -1
View File
@@ -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 |
+4 -1
View File
@@ -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);
}
};
+4 -1
View File
@@ -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);
}
};