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
2.6KB

  1. // SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "CarlaBackend.h"
  5. #ifdef __cplusplus
  6. using CARLA_BACKEND_NAMESPACE::PluginType;
  7. extern "C" {
  8. #endif
  9. typedef struct _CarlaHostHandle* CarlaHostHandle;
  10. // --------------------------------------------------------------------------------------------------------------------
  11. typedef struct {
  12. const char* command;
  13. const char* name;
  14. const char* labelSetup;
  15. } JackAppDialogResults;
  16. typedef struct _HostSettings {
  17. bool showPluginBridges;
  18. bool showWineBridges;
  19. bool useSystemIcons;
  20. bool wineAutoPrefix;
  21. const char* wineExecutable;
  22. const char* wineFallbackPrefix;
  23. } HostSettings;
  24. typedef struct {
  25. uint build;
  26. uint type;
  27. uint hints;
  28. const char* category;
  29. const char* filename;
  30. const char* name;
  31. const char* label;
  32. const char* maker;
  33. uint64_t uniqueId;
  34. uint audioIns;
  35. uint audioOuts;
  36. uint cvIns;
  37. uint cvOuts;
  38. uint midiIns;
  39. uint midiOuts;
  40. uint parameterIns;
  41. uint parameterOuts;
  42. } PluginListDialogResults;
  43. #ifdef __cplusplus
  44. class PluginListDialog;
  45. class QWidget;
  46. #else
  47. struct PluginListDialog;
  48. struct QWidget;
  49. #endif
  50. // --------------------------------------------------------------------------------------------------------------------
  51. CARLA_PLUGIN_EXPORT void
  52. carla_frontend_createAndExecAboutDialog(QWidget* parent, CarlaHostHandle hostHandle, bool isControl, bool isPlugin);
  53. // --------------------------------------------------------------------------------------------------------------------
  54. CARLA_PLUGIN_EXPORT const JackAppDialogResults*
  55. carla_frontend_createAndExecJackAppDialog(QWidget* parent, const char* projectFilename);
  56. // --------------------------------------------------------------------------------------------------------------------
  57. CARLA_PLUGIN_EXPORT PluginListDialog*
  58. carla_frontend_createPluginListDialog(QWidget* parent, const HostSettings* hostSettings);
  59. CARLA_PLUGIN_EXPORT void
  60. carla_frontend_destroyPluginListDialog(PluginListDialog* dialog);
  61. // TODO get favorites
  62. CARLA_PLUGIN_EXPORT void
  63. carla_frontend_setPluginListDialogPath(PluginListDialog* dialog, int ptype, const char* path);
  64. CARLA_PLUGIN_EXPORT const PluginListDialogResults*
  65. carla_frontend_execPluginListDialog(PluginListDialog* dialog);
  66. // CARLA_PLUGIN_EXPORT const PluginListDialogResults*
  67. // carla_frontend_createAndExecPluginListDialog(void* parent, const HostSettings* hostSettings);
  68. // --------------------------------------------------------------------------------------------------------------------
  69. #ifdef __cplusplus
  70. }
  71. #endif