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

  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-nekobi/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 "CarlaJuceUtils.hpp"
  24. // Plugin Code
  25. #include "distrho-nekobi/DistrhoPluginNekobi.cpp"
  26. #if DISTRHO_PLUGIN_HAS_UI
  27. #include "distrho-nekobi/DistrhoArtworkNekobi.cpp"
  28. #include "distrho-nekobi/DistrhoUINekobi.cpp"
  29. #endif
  30. // DISTRHO Code
  31. #define DISTRHO_PLUGIN_TARGET_CARLA
  32. #include "DistrhoPluginMain.cpp"
  33. #if DISTRHO_PLUGIN_HAS_UI
  34. #include "DistrhoUIMain.cpp"
  35. #ifdef CARLA_OS_MAC
  36. #include "DistrhoUI_macOS.mm"
  37. #endif
  38. #endif
  39. START_NAMESPACE_DISTRHO
  40. // -----------------------------------------------------------------------
  41. static const NativePluginDescriptor nekobiDesc = {
  42. /* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
  43. #if DISTRHO_PLUGIN_HAS_UI
  44. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  45. |NATIVE_PLUGIN_IS_SYNTH
  46. |NATIVE_PLUGIN_HAS_UI
  47. |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
  48. |NATIVE_PLUGIN_USES_PARENT_ID),
  49. #else
  50. /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
  51. |NATIVE_PLUGIN_IS_SYNTH),
  52. #endif
  53. /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_CONTROL_CHANGES
  54. |NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF),
  55. /* audioIns */ DISTRHO_PLUGIN_NUM_INPUTS,
  56. /* audioOuts */ DISTRHO_PLUGIN_NUM_OUTPUTS,
  57. /* midiIns */ 1,
  58. /* midiOuts */ 0,
  59. /* paramIns */ DistrhoPluginNekobi::paramCount,
  60. /* paramOuts */ 0,
  61. /* name */ DISTRHO_PLUGIN_NAME,
  62. /* label */ "nekobi",
  63. /* maker */ "falkTX, Sean Bolton and others",
  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_nekobi();
  71. CARLA_API_EXPORT
  72. void carla_register_native_plugin_distrho_nekobi()
  73. {
  74. USE_NAMESPACE_DISTRHO
  75. carla_register_native_plugin(&nekobiDesc);
  76. }
  77. // -----------------------------------------------------------------------