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.

78 lines
2.0KB

  1. /*
  2. * DAZ - Digital Audio with Zero dependencies
  3. * Copyright (C) 2013 Filipe Coelho <falktx@falktx.com>
  4. * Copyright (C) 2013 Harry van Haaren <harryhaaren@gmail.com>
  5. * Copyright (C) 2013 Jonathan Moore Liles <male@tuxfamily.org>
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for any purpose with
  8. * or without fee is hereby granted, provided that the above copyright notice and this
  9. * permission notice appear in all copies.
  10. *
  11. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
  12. * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
  13. * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  14. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
  15. * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  16. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. #ifndef DAZ_COMMON_H_INCLUDED
  19. #define DAZ_COMMON_H_INCLUDED
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #else
  23. #include <stdbool.h>
  24. #endif
  25. #include <stddef.h>
  26. #include <stdint.h>
  27. /*!
  28. * @defgroup DAZPluginAPI DAZ Plugin API
  29. *
  30. * The DAZ Plugin API
  31. *
  32. * TODO: More complete description here.
  33. * @{
  34. */
  35. /*!
  36. * Current API version.
  37. *
  38. * Hosts may load plugins that use old versions, but not newer.
  39. */
  40. #define DAZ_API_VERSION 1
  41. /*!
  42. * Symbol export.
  43. *
  44. * This makes sure the plugin and UI entry points are always visible,
  45. * regardless of compile settings.
  46. */
  47. #ifdef _WIN32
  48. # define DAZ_SYMBOL_EXPORT __declspec(dllexport)
  49. #else
  50. # define DAZ_SYMBOL_EXPORT __attribute__((visibility("default")))
  51. #endif
  52. /*!
  53. * Terminator character for property lists.
  54. */
  55. #define DAZ_TERMINATOR ":"
  56. /*!
  57. * Host mapped value of a string.
  58. * The value 0 is reserved as undefined.
  59. * @see PluginHostDescriptor::map_value(), UiHostDescriptor::map_value()
  60. */
  61. typedef uint32_t mapped_value_t;
  62. /** @} */
  63. #ifdef __cplusplus
  64. } /* extern "C" */
  65. #endif
  66. #endif /* DAZ_COMMON_H_INCLUDED */