Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2KB

  1. #pragma once
  2. #include "version.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. typedef struct clap_host {
  7. clap_version_t clap_version; // initialized to CLAP_VERSION
  8. void *host_data; // reserved pointer for the host
  9. // name and version are mandatory.
  10. const char *name; // eg: "Bitwig Studio"
  11. const char *vendor; // eg: "Bitwig GmbH"
  12. const char *url; // eg: "https://bitwig.com"
  13. const char *version; // eg: "4.3"
  14. // Query an extension.
  15. // [thread-safe]
  16. const void *(CLAP_ABI *get_extension)(const struct clap_host *host, const char *extension_id);
  17. // Request the host to deactivate and then reactivate the plugin.
  18. // The operation may be delayed by the host.
  19. // [thread-safe]
  20. void (CLAP_ABI *request_restart)(const struct clap_host *host);
  21. // Request the host to activate and start processing the plugin.
  22. // This is useful if you have external IO and need to wake up the plugin from "sleep".
  23. // [thread-safe]
  24. void (CLAP_ABI *request_process)(const struct clap_host *host);
  25. // Request the host to schedule a call to plugin->on_main_thread(plugin) on the main thread.
  26. // [thread-safe]
  27. void (CLAP_ABI *request_callback)(const struct clap_host *host);
  28. } clap_host_t;
  29. #ifdef __cplusplus
  30. }
  31. #endif