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.

94 lines
3.1KB

  1. /*
  2. * Carla Plugin Host
  3. * Copyright (C) 2011-2022 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the doc/GPL.txt file.
  16. */
  17. #ifndef CARLA_NATIVE_PLUGIN_H_INCLUDED
  18. #define CARLA_NATIVE_PLUGIN_H_INCLUDED
  19. #include "CarlaDefines.h"
  20. #ifdef STATIC_PLUGIN_TARGET
  21. # undef CARLA_PLUGIN_EXPORT
  22. # define CARLA_PLUGIN_EXPORT CARLA_API_EXPORT
  23. #endif
  24. #include "CarlaNative.h"
  25. #include "CarlaHost.h"
  26. #include "CarlaUtils.h"
  27. /*!
  28. * Get the native plugin descriptor for the carla-rack plugin.
  29. */
  30. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_rack_plugin(void);
  31. /*!
  32. * Get the native plugin descriptor for the carla-patchbay plugin.
  33. */
  34. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_plugin(void);
  35. /*!
  36. * Get the native plugin descriptor for the carla-patchbay16 plugin.
  37. */
  38. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay16_plugin(void);
  39. /*!
  40. * Get the native plugin descriptor for the carla-patchbay32 plugin.
  41. */
  42. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay32_plugin(void);
  43. /*!
  44. * Get the native plugin descriptor for the carla-patchbay64 plugin.
  45. */
  46. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay64_plugin(void);
  47. /*!
  48. * Get the native plugin descriptor for the carla-patchbay-cv plugin.
  49. */
  50. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin(void);
  51. /*!
  52. * Get the native plugin descriptor for the carla-patchbay-cv8 plugin.
  53. */
  54. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv8_plugin(void);
  55. /*!
  56. * Get the native plugin descriptor for the carla-patchbay-cv32 plugin.
  57. */
  58. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv32_plugin(void);
  59. /*!
  60. * Create a CarlaHostHandle suitable for CarlaHost API calls.
  61. * Returned value must be freed by the caller when no longer needed.
  62. */
  63. CARLA_API_EXPORT CarlaHostHandle carla_create_native_plugin_host_handle(const NativePluginDescriptor* desc,
  64. NativePluginHandle handle);
  65. /*!
  66. * Free memory created during carla_create_native_plugin_host_handle.
  67. */
  68. CARLA_API_EXPORT void carla_host_handle_free(CarlaHostHandle handle);
  69. #ifdef __cplusplus
  70. /*!
  71. * Get the internal CarlaEngine instance.
  72. * @deprecated Please use carla_create_native_plugin_host_handle instead
  73. */
  74. CARLA_API_EXPORT CARLA_BACKEND_NAMESPACE::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc,
  75. NativePluginHandle handle);
  76. #endif
  77. #endif /* CARLA_NATIVE_PLUGIN_H_INCLUDED */