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.

87 lines
3.0KB

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