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.

CarlaNativePlugin.h 3.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. * Carla Plugin Host
  3. * Copyright (C) 2011-2023 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. * Get the native plugin descriptor for the carla-patchbay OBS plugin.
  61. */
  62. CARLA_API_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_obs_plugin(void);
  63. /*!
  64. * Create a CarlaHostHandle suitable for CarlaHost API calls.
  65. * Returned value must be freed by the caller when no longer needed.
  66. */
  67. CARLA_API_EXPORT CarlaHostHandle carla_create_native_plugin_host_handle(const NativePluginDescriptor* desc,
  68. NativePluginHandle handle);
  69. /*!
  70. * Free memory created during carla_create_native_plugin_host_handle.
  71. */
  72. CARLA_API_EXPORT void carla_host_handle_free(CarlaHostHandle handle);
  73. #ifdef __cplusplus
  74. /*!
  75. * Get the internal CarlaEngine instance.
  76. * @deprecated Please use carla_create_native_plugin_host_handle instead
  77. */
  78. CARLA_API_EXPORT CARLA_BACKEND_NAMESPACE::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc,
  79. NativePluginHandle handle);
  80. #endif
  81. #endif /* CARLA_NATIVE_PLUGIN_H_INCLUDED */