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.

86 lines
2.2KB

  1. // SPDX-FileCopyrightText: 2011-2024 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. // --------------------------------------------------------------------------------------------------------------------
  10. typedef struct {
  11. const char* command;
  12. const char* name;
  13. const char* labelSetup;
  14. } JackAppDialogResults;
  15. typedef struct _HostSettings {
  16. bool showPluginBridges;
  17. bool showWineBridges;
  18. bool useSystemIcons;
  19. bool wineAutoPrefix;
  20. const char* wineExecutable;
  21. const char* wineFallbackPrefix;
  22. } HostSettings;
  23. typedef struct {
  24. uint build;
  25. uint type;
  26. uint hints;
  27. const char* category;
  28. const char* filename;
  29. const char* name;
  30. const char* label;
  31. const char* maker;
  32. uint64_t uniqueId;
  33. uint audioIns;
  34. uint audioOuts;
  35. uint cvIns;
  36. uint cvOuts;
  37. uint midiIns;
  38. uint midiOuts;
  39. uint parameterIns;
  40. uint parameterOuts;
  41. } PluginListDialogResults;
  42. #ifdef __cplusplus
  43. class PluginListDialog;
  44. #else
  45. struct PluginListDialog;
  46. #endif
  47. // --------------------------------------------------------------------------------------------------------------------
  48. CARLA_PLUGIN_EXPORT void
  49. carla_frontend_createAndExecAboutJuceDialog(void* parent);
  50. CARLA_PLUGIN_EXPORT const JackAppDialogResults*
  51. carla_frontend_createAndExecJackAppDialog(void* parent, const char* projectFilename);
  52. CARLA_PLUGIN_EXPORT PluginListDialog*
  53. carla_frontend_createPluginListDialog(void* parent, const HostSettings* hostSettings);
  54. CARLA_PLUGIN_EXPORT void
  55. carla_frontend_destroyPluginListDialog(PluginListDialog* dialog);
  56. // TODO get favorites
  57. CARLA_PLUGIN_EXPORT void
  58. carla_frontend_setPluginListDialogPath(PluginListDialog* dialog, int ptype, const char* path);
  59. CARLA_PLUGIN_EXPORT const PluginListDialogResults*
  60. carla_frontend_execPluginListDialog(PluginListDialog* dialog);
  61. // CARLA_PLUGIN_EXPORT const PluginListDialogResults*
  62. // carla_frontend_createAndExecPluginListDialog(void* parent, const HostSettings* hostSettings);
  63. // --------------------------------------------------------------------------------------------------------------------
  64. #ifdef __cplusplus
  65. }
  66. #endif