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.

88 lines
2.8KB

  1. /*
  2. * Carla Native Plugins
  3. * Copyright (C) 2012-2017 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-vectorjuice/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-vectorjuice/VectorJuicePlugin.cpp"
  27. #ifdef HAVE_DGL
  28. #include "distrho-vectorjuice/VectorJuiceArtwork.cpp"
  29. #include "distrho-vectorjuice/VectorJuiceUI.cpp"
  30. #endif
  31. // DISTRHO Code
  32. #define DISTRHO_PLUGIN_TARGET_CARLA
  33. #include "DistrhoPluginMain.cpp"
  34. #ifdef HAVE_DGL
  35. #include "DistrhoUIMain.cpp"
  36. #endif
  37. START_NAMESPACE_DISTRHO
  38. // -----------------------------------------------------------------------
  39. static const NativePluginDescriptor vectorjuiceDesc = {
  40. /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
  41. #ifdef HAVE_DGL
  42. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  43. |NATIVE_PLUGIN_HAS_UI
  44. |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
  45. |NATIVE_PLUGIN_USES_PARENT_ID
  46. |NATIVE_PLUGIN_USES_TIME),
  47. #else
  48. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  49. |NATIVE_PLUGIN_USES_TIME),
  50. #endif
  51. /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
  52. /* audioIns */ DISTRHO_PLUGIN_NUM_INPUTS,
  53. /* audioOuts */ DISTRHO_PLUGIN_NUM_OUTPUTS,
  54. /* midiIns */ 0,
  55. /* midiOuts */ 0,
  56. /* paramIns */ 13,
  57. /* paramOuts */ 4,
  58. /* name */ DISTRHO_PLUGIN_NAME,
  59. /* label */ "vectorjuice",
  60. /* maker */ "Andre Sklenar",
  61. /* copyright */ "GPL v2+",
  62. PluginDescriptorFILL(PluginCarla)
  63. };
  64. END_NAMESPACE_DISTRHO
  65. // -----------------------------------------------------------------------
  66. CARLA_EXPORT
  67. void carla_register_native_plugin_distrho_vectorjuice();
  68. CARLA_EXPORT
  69. void carla_register_native_plugin_distrho_vectorjuice()
  70. {
  71. USE_NAMESPACE_DISTRHO
  72. carla_register_native_plugin(&vectorjuiceDesc);
  73. }
  74. // -----------------------------------------------------------------------