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.

90 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. #ifndef CARLA_HOST_H_INCLUDED
  22. #ifndef CARLA_UTILS_H_INCLUDED
  23. /*!
  24. * Get the absolute filename of this carla library.
  25. */
  26. CARLA_EXPORT const char* carla_get_library_filename(void);
  27. /*!
  28. * Get the folder where this carla library resides.
  29. */
  30. CARLA_EXPORT const char* carla_get_library_folder(void);
  31. #endif
  32. #endif
  33. /*!
  34. * Get the native plugin descriptor for the carla-rack plugin.
  35. */
  36. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_rack_plugin(void);
  37. /*!
  38. * Get the native plugin descriptor for the carla-patchbay plugin.
  39. */
  40. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_plugin(void);
  41. /*!
  42. * Get the native plugin descriptor for the carla-patchbay16 plugin.
  43. */
  44. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay16_plugin(void);
  45. /*!
  46. * Get the native plugin descriptor for the carla-patchbay32 plugin.
  47. */
  48. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay32_plugin(void);
  49. /*!
  50. * Get the native plugin descriptor for the carla-patchbay64 plugin.
  51. */
  52. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay64_plugin(void);
  53. /*!
  54. * Get the native plugin descriptor for the carla-patchbay-cv plugin.
  55. */
  56. CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin(void);
  57. /*!
  58. * Create a CarlaHostHandle suitable for CarlaHost API calls.
  59. * Returned value must be freed by the caller when no longer needed.
  60. */
  61. CARLA_EXPORT CarlaHostHandle carla_create_native_plugin_host_handle(const NativePluginDescriptor* desc,
  62. NativePluginHandle handle);
  63. /*!
  64. * Free memory created during carla_create_native_plugin_host_handle.
  65. */
  66. CARLA_EXPORT void carla_host_handle_free(CarlaHostHandle handle);
  67. #ifdef __cplusplus
  68. /*!
  69. * Get the internal CarlaEngine instance.
  70. * @deprecated Please use carla_create_native_plugin_host_handle instead
  71. */
  72. CARLA_EXPORT CarlaBackend::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc,
  73. NativePluginHandle handle);
  74. #endif
  75. #endif /* CARLA_NATIVE_PLUGIN_H_INCLUDED */