External plugins for 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.

91 lines
2.9KB

  1. /*
  2. * Carla Native Plugins
  3. * Copyright (C) 2012-2022 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. // config fix
  18. #include "distrho-wobblejuice/DistrhoPluginInfo.h"
  19. #if DISTRHO_PLUGIN_HAS_UI && ! defined(HAVE_DGL)
  20. # undef DISTRHO_PLUGIN_HAS_UI
  21. # define DISTRHO_PLUGIN_HAS_UI 0
  22. #endif
  23. #include "CarlaMathUtils.hpp"
  24. #include "CarlaJuceUtils.hpp"
  25. // Plugin Code
  26. #include "distrho-wobblejuice/WobbleJuicePlugin.cpp"
  27. #if DISTRHO_PLUGIN_HAS_UI
  28. #include "distrho-wobblejuice/WobbleJuiceArtwork.cpp"
  29. #include "distrho-wobblejuice/WobbleJuiceUI.cpp"
  30. #endif
  31. // DISTRHO Code
  32. #define DISTRHO_PLUGIN_TARGET_CARLA
  33. #include "DistrhoPluginMain.cpp"
  34. #if DISTRHO_PLUGIN_HAS_UI
  35. #include "DistrhoUIMain.cpp"
  36. #ifdef CARLA_OS_MAC
  37. #include "DistrhoUI_macOS.mm"
  38. #endif
  39. #endif
  40. START_NAMESPACE_DISTRHO
  41. // -----------------------------------------------------------------------
  42. static const NativePluginDescriptor wobblejuiceDesc = {
  43. /* category */ NATIVE_PLUGIN_CATEGORY_DYNAMICS,
  44. #if DISTRHO_PLUGIN_HAS_UI
  45. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  46. |NATIVE_PLUGIN_HAS_UI
  47. |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
  48. |NATIVE_PLUGIN_USES_PARENT_ID
  49. |NATIVE_PLUGIN_USES_TIME),
  50. #else
  51. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  52. |NATIVE_PLUGIN_USES_TIME),
  53. #endif
  54. /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
  55. /* audioIns */ DISTRHO_PLUGIN_NUM_INPUTS,
  56. /* audioOuts */ DISTRHO_PLUGIN_NUM_OUTPUTS,
  57. /* midiIns */ 0,
  58. /* midiOuts */ 0,
  59. /* paramIns */ WobbleJuicePlugin::paramCount,
  60. /* paramOuts */ 0,
  61. /* name */ DISTRHO_PLUGIN_NAME,
  62. /* label */ "wobblejuice",
  63. /* maker */ "Andre Sklenar",
  64. /* copyright */ "GNU GPL v2+",
  65. PluginDescriptorFILL(PluginCarla)
  66. };
  67. END_NAMESPACE_DISTRHO
  68. // -----------------------------------------------------------------------
  69. CARLA_API_EXPORT
  70. void carla_register_native_plugin_distrho_wobblejuice();
  71. CARLA_API_EXPORT
  72. void carla_register_native_plugin_distrho_wobblejuice()
  73. {
  74. USE_NAMESPACE_DISTRHO
  75. carla_register_native_plugin(&wobblejuiceDesc);
  76. }
  77. // -----------------------------------------------------------------------