Add CLAP plugin destroying

Everything else is still a stub, but at least the lifecycle now works
correctly.
This commit is contained in:
Robbert van der Helm
2022-09-09 15:32:19 +02:00
parent 54dd4c583f
commit d2fb84e529
6 changed files with 51 additions and 14 deletions
+17
View File
@@ -24,6 +24,7 @@
#include <clap/plugin.h>
#include "../../bitsery/ext/in-place-optional.h"
#include "../common.h"
// Serialization messages for `clap/plugin.h`
@@ -104,6 +105,22 @@ struct Descriptor {
mutable clap_plugin_descriptor_t clap_descriptor;
};
/**
* Message struct for `clap_plugin::destroy()`. The Wine plugin host should
* clean up the plugin, and everything is also cleaned up on the plugin side
* after receiving acknowledgement
*/
struct Destroy {
using Response = Ack;
native_size_t instance_id;
template <typename S>
void serialize(S& s) {
s.value8b(instance_id);
}
};
} // namespace plugin
} // namespace clap