Collection of tools useful for audio production
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.

107 lines
3.1KB

  1. /*
  2. * Carla Backend
  3. * Copyright (C) 2011-2012 Filipe Coelho <falktx@gmail.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * 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 COPYING file
  16. */
  17. #ifndef CARLA_SHARED_H
  18. #define CARLA_SHARED_H
  19. #include "carla_backend.h"
  20. CARLA_BACKEND_START_NAMESPACE
  21. /*!
  22. * @defgroup CarlaBackendShared Carla Backend Shared Code
  23. *
  24. * @{
  25. */
  26. const char* BinaryType2str(const BinaryType type);
  27. const char* PluginType2str(const PluginType type);
  28. const char* PluginCategory2str(const PluginCategory category);
  29. const char* ParameterType2str(const ParameterType type);
  30. const char* InternalParametersIndex2str(const InternalParametersIndex index);
  31. const char* CustomDataType2str(const CustomDataType type);
  32. const char* GuiType2str(const GuiType type);
  33. const char* OptionsType2str(const OptionsType type);
  34. const char* CallbackType2str(const CallbackType type);
  35. const char* ProcessModeType2str(const ProcessModeType type);
  36. CustomDataType getCustomDataStringType(const char* const stype);
  37. const char* getCustomDataTypeString(const CustomDataType type);
  38. const char* getBinaryBidgePath(const BinaryType type);
  39. void* getPointer(const quintptr addr);
  40. PluginCategory getPluginCategoryFromName(const char* const name);
  41. const char* getLastError();
  42. void setLastError(const char* const error);
  43. #ifndef BUILD_BRIDGE
  44. void setOption(const OptionsType option, const int value, const char* const valueStr);
  45. void resetOptions();
  46. // Global options
  47. struct carla_options_t {
  48. ProcessModeType processMode;
  49. bool processHighPrecision;
  50. uint maxParameters;
  51. uint preferredBufferSize;
  52. uint preferredSampleRate;
  53. bool forceStereo;
  54. bool useDssiVstChunks;
  55. bool preferUiBridges;
  56. uint oscUiTimeout;
  57. const char* bridge_unix32;
  58. const char* bridge_unix64;
  59. const char* bridge_win32;
  60. const char* bridge_win64;
  61. const char* bridge_lv2gtk2;
  62. const char* bridge_lv2qt4;
  63. const char* bridge_lv2x11;
  64. const char* bridge_vstx11;
  65. carla_options_t()
  66. : processMode(PROCESS_MODE_MULTIPLE_CLIENTS),
  67. processHighPrecision(false),
  68. maxParameters(MAX_PARAMETERS),
  69. preferredBufferSize(512),
  70. preferredSampleRate(44100),
  71. forceStereo(false),
  72. useDssiVstChunks(false),
  73. preferUiBridges(true),
  74. oscUiTimeout(4000/100),
  75. bridge_unix32(nullptr),
  76. bridge_unix64(nullptr),
  77. bridge_win32(nullptr),
  78. bridge_win64(nullptr),
  79. bridge_lv2gtk2(nullptr),
  80. bridge_lv2qt4(nullptr),
  81. bridge_lv2x11(nullptr),
  82. bridge_vstx11(nullptr) {}
  83. };
  84. extern carla_options_t carlaOptions;
  85. #endif
  86. /**@}*/
  87. CARLA_BACKEND_END_NAMESPACE
  88. #endif // CARLA_SHARED_H