The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
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.

94 lines
3.2KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2020 - Raw Material Software Limited
  5. JUCE is an open source library subject to commercial or open-source
  6. licensing.
  7. By using JUCE, you agree to the terms of both the JUCE 6 End-User License
  8. Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
  9. End User License Agreement: www.juce.com/juce-6-licence
  10. Privacy Policy: www.juce.com/juce-privacy-policy
  11. Or: You may also use this code under the terms of the GPL v3 (see
  12. www.gnu.org/licenses).
  13. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  14. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  15. DISCLAIMED.
  16. ==============================================================================
  17. */
  18. // The following checks should cause a compile error if you've forgotten to
  19. // define all your plugin settings properly..
  20. #if ! (JucePlugin_Build_VST || JucePlugin_Build_VST3 \
  21. || JucePlugin_Build_AU || JucePlugin_Build_AUv3 \
  22. ||JucePlugin_Build_RTAS || JucePlugin_Build_AAX \
  23. || JucePlugin_Build_Standalone || JucePlugin_Build_LV2 \
  24. || JucePlugin_Build_Unity)
  25. #error "You need to enable at least one plugin format!"
  26. #endif
  27. #ifdef JUCE_CHECKSETTINGMACROS_H
  28. #error "This header should never be included twice! Otherwise something is wrong."
  29. #endif
  30. #define JUCE_CHECKSETTINGMACROS_H
  31. #ifndef JucePlugin_IsSynth
  32. #error "You need to define the JucePlugin_IsSynth value!"
  33. #endif
  34. #ifndef JucePlugin_ManufacturerCode
  35. #error "You need to define the JucePlugin_ManufacturerCode value!"
  36. #endif
  37. #ifndef JucePlugin_PluginCode
  38. #error "You need to define the JucePlugin_PluginCode value!"
  39. #endif
  40. #ifndef JucePlugin_ProducesMidiOutput
  41. #error "You need to define the JucePlugin_ProducesMidiOutput value!"
  42. #endif
  43. #ifndef JucePlugin_WantsMidiInput
  44. #error "You need to define the JucePlugin_WantsMidiInput value!"
  45. #endif
  46. #ifdef JucePlugin_Latency
  47. #error "JucePlugin_Latency is now deprecated - instead, call the AudioProcessor::setLatencySamples() method if your plugin has a non-zero delay"
  48. #endif
  49. #ifndef JucePlugin_EditorRequiresKeyboardFocus
  50. #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value!"
  51. #endif
  52. //==============================================================================
  53. #if _WIN64 || (__LP64__ && (defined (__APPLE_CPP__) || defined (__APPLE_CC__)))
  54. #undef JucePlugin_Build_RTAS
  55. #define JucePlugin_Build_RTAS 0
  56. #endif
  57. #if ! (defined (_MSC_VER) || defined (__APPLE_CPP__) || defined (__APPLE_CC__) || defined (LINUX) || defined (__linux__))
  58. #undef JucePlugin_Build_VST3
  59. #define JucePlugin_Build_VST3 0
  60. #endif
  61. //==============================================================================
  62. #if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
  63. #error "You need to define the JucePlugin_LV2URI value!"
  64. #endif
  65. #if JucePlugin_Build_AAX && ! defined (JucePlugin_AAXIdentifier)
  66. #error "You need to define the JucePlugin_AAXIdentifier value!"
  67. #endif
  68. #if defined (__ppc__)
  69. #undef JucePlugin_Build_AAX
  70. #define JucePlugin_Build_AAX 0
  71. #endif