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.

87 lines
2.9KB

  1. /*
  2. * Carla Plugin Host
  3. * Copyright (C) 2011-2020 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 "CarlaNative.h"
  20. #include "CarlaHost.h"
  21. #include "CarlaUtils.h"
  22. /*!
  23. * Get the native plugin descriptor for the carla-rack plugin.
  24. */
  25. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_rack_plugin(void);
  26. /*!
  27. * Get the native plugin descriptor for the carla-patchbay plugin.
  28. */
  29. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_plugin(void);
  30. /*!
  31. * Get the native plugin descriptor for the carla-patchbay16 plugin.
  32. */
  33. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay16_plugin(void);
  34. /*!
  35. * Get the native plugin descriptor for the carla-patchbay32 plugin.
  36. */
  37. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay32_plugin(void);
  38. /*!
  39. * Get the native plugin descriptor for the carla-patchbay64 plugin.
  40. */
  41. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay64_plugin(void);
  42. /*!
  43. * Get the native plugin descriptor for the carla-patchbay-cv plugin.
  44. */
  45. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin(void);
  46. /*!
  47. * Get the native plugin descriptor for the carla-patchbay-cv8 plugin.
  48. */
  49. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv8_plugin(void);
  50. /*!
  51. * Get the native plugin descriptor for the carla-patchbay-cv32 plugin.
  52. */
  53. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv32_plugin(void);
  54. /*!
  55. * Create a CarlaHostHandle suitable for CarlaHost API calls.
  56. * Returned value must be freed by the caller when no longer needed.
  57. */
  58. CARLA_EXPORT CarlaHostHandle carla_create_native_plugin_host_handle(const NativePluginDescriptor* desc,
  59. NativePluginHandle handle);
  60. /*!
  61. * Free memory created during carla_create_native_plugin_host_handle.
  62. */
  63. CARLA_EXPORT void carla_host_handle_free(CarlaHostHandle handle);
  64. #ifdef __cplusplus
  65. /*!
  66. * Get the internal CarlaEngine instance.
  67. * @deprecated Please use carla_create_native_plugin_host_handle instead
  68. */
  69. CARLA_EXPORT CarlaBackend::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc,
  70. NativePluginHandle handle);
  71. #endif
  72. #endif /* CARLA_NATIVE_PLUGIN_H_INCLUDED */