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.

127 lines
5.5KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library - "Jules' Utility Class Extensions"
  4. Copyright 2004-9 by Raw Material Software Ltd.
  5. ------------------------------------------------------------------------------
  6. JUCE can be redistributed and/or modified under the terms of the GNU General
  7. Public License (Version 2), as published by the Free Software Foundation.
  8. A copy of the license is included in the JUCE distribution, or can be found
  9. online at www.gnu.org/licenses.
  10. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  11. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  12. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  13. ------------------------------------------------------------------------------
  14. To release a closed-source product which uses JUCE, commercial licenses are
  15. available: visit www.rawmaterialsoftware.com/juce for more information.
  16. ==============================================================================
  17. */
  18. #ifndef __JUCE_INCLUDECHARACTERISTICS_JUCEHEADER__
  19. #define __JUCE_INCLUDECHARACTERISTICS_JUCEHEADER__
  20. //==============================================================================
  21. /* The JucePluginCharacteristics.h file is supposed to live in your plugin-specific
  22. project directory, and has to contain info describing its name, type, etc. For
  23. more info, see the JucePluginCharacteristics.h that is included in the demo plugin.
  24. You may need to adjust the include path of your project to make sure it can be
  25. found by this include statement. (Don't hack this file to change the include path)
  26. */
  27. #include "JucePluginCharacteristics.h"
  28. #if ! defined (__LP64__)
  29. #define JUCE_SUPPORT_CARBON 1
  30. #endif
  31. //==============================================================================
  32. // The following stuff is just to cause a compile error if you've forgotten to
  33. // define all your plugin settings properly.
  34. #ifndef JucePlugin_IsSynth
  35. #error "You need to define the JucePlugin_IsSynth value in your JucePluginCharacteristics.h file!"
  36. #endif
  37. #ifndef JucePlugin_ManufacturerCode
  38. #error "You need to define the JucePlugin_ManufacturerCode value in your JucePluginCharacteristics.h file!"
  39. #endif
  40. #ifndef JucePlugin_PluginCode
  41. #error "You need to define the JucePlugin_PluginCode value in your JucePluginCharacteristics.h file!"
  42. #endif
  43. #ifndef JucePlugin_ProducesMidiOutput
  44. #error "You need to define the JucePlugin_ProducesMidiOutput value in your JucePluginCharacteristics.h file!"
  45. #endif
  46. #ifndef JucePlugin_WantsMidiInput
  47. #error "You need to define the JucePlugin_WantsMidiInput value in your JucePluginCharacteristics.h file!"
  48. #endif
  49. #ifndef JucePlugin_MaxNumInputChannels
  50. #error "You need to define the JucePlugin_MaxNumInputChannels value in your JucePluginCharacteristics.h file!"
  51. #endif
  52. #ifndef JucePlugin_MaxNumOutputChannels
  53. #error "You need to define the JucePlugin_MaxNumOutputChannels value in your JucePluginCharacteristics.h file!"
  54. #endif
  55. #ifndef JucePlugin_PreferredChannelConfigurations
  56. #error "You need to define the JucePlugin_PreferredChannelConfigurations value in your JucePluginCharacteristics.h file!"
  57. #endif
  58. #ifdef JucePlugin_Latency
  59. #error "JucePlugin_Latency is now deprecated - instead, call the AudioProcessor::setLatencySamples() method if your plugin has a non-zero delay"
  60. #endif
  61. #ifndef JucePlugin_SilenceInProducesSilenceOut
  62. #error "You need to define the JucePlugin_SilenceInProducesSilenceOut value in your JucePluginCharacteristics.h file!"
  63. #endif
  64. #ifndef JucePlugin_EditorRequiresKeyboardFocus
  65. #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value in your JucePluginCharacteristics.h file!"
  66. #endif
  67. #ifndef JucePlugin_TailLengthSeconds
  68. #error "You need to define the JucePlugin_TailLengthSeconds value in your JucePluginCharacteristics.h file!"
  69. #endif
  70. //==============================================================================
  71. #if __LP64__ && (defined(__APPLE_CPP__) || defined(__APPLE_CC__)) // (disable VSTs and RTAS in a 64-bit mac build)
  72. #undef JucePlugin_Build_VST
  73. #undef JucePlugin_Build_RTAS
  74. #endif
  75. #if _WIN64 // (disable RTAS in a 64-bit windows build)
  76. #undef JucePlugin_Build_RTAS
  77. #endif
  78. //==============================================================================
  79. #if ! (JucePlugin_Build_VST || JucePlugin_Build_AU || JucePlugin_Build_RTAS || JucePlugin_Build_Standalone)
  80. #error "You need to define at least one plugin format value in your JucePluginCharacteristics.h file!"
  81. #endif
  82. #if JucePlugin_Build_VST && (JUCE_USE_VSTSDK_2_4 != 0 && JUCE_USE_VSTSDK_2_4 != 1)
  83. #error "You need to define the JUCE_USE_VSTSDK_2_4 value in your JucePluginCharacteristics.h file!"
  84. #endif
  85. #if JucePlugin_Build_RTAS && _MSC_VER && ! defined (JucePlugin_WinBag_path)
  86. #error "You need to define the JucePlugin_WinBag_path value in your JucePluginCharacteristics.h file!"
  87. #endif
  88. #if JucePlugin_Build_AU && ! defined (JucePlugin_AUCocoaViewClassName)
  89. #error "You need to define the JucePlugin_AUCocoaViewClassName value in your JucePluginCharacteristics.h file!"
  90. #endif
  91. #if (defined(__APPLE_CPP__) || defined(__APPLE_CC__)) && ! defined (JUCE_ObjCExtraSuffix)
  92. #error "To avoid objective-C name clashes with other plugins, you need to define the JUCE_ObjCExtraSuffix value as a global definition for your project!"
  93. #endif
  94. #endif // __JUCE_INCLUDECHARACTERISTICS_JUCEHEADER__