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.

138 lines
5.5KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2017 - ROLI Ltd.
  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 5 End-User License
  8. Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
  9. 27th April 2017).
  10. End User License Agreement: www.juce.com/juce-5-licence
  11. Privacy Policy: www.juce.com/juce-5-privacy-policy
  12. Or: You may also use this code under the terms of the GPL v3 (see
  13. www.gnu.org/licenses).
  14. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  15. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  16. DISCLAIMED.
  17. ==============================================================================
  18. */
  19. #include "../JuceLibraryCode/JuceHeader.h"
  20. #include "../../../Assets/DemoUtilities.h"
  21. #include "JUCEDemos.h"
  22. #include "../../../Assets/AudioLiveScrollingDisplay.h"
  23. //==============================================================================
  24. #include "IntroScreen.h"
  25. #include "../../../Audio/AudioAppDemo.h"
  26. #include "../../../Audio/AudioLatencyDemo.h"
  27. #include "../../../Audio/AudioPlaybackDemo.h"
  28. #include "../../../Audio/AudioRecordingDemo.h"
  29. #include "../../../Audio/AudioSettingsDemo.h"
  30. #include "../../../Audio/AudioSynthesiserDemo.h"
  31. #include "../../../Audio/MidiDemo.h"
  32. #include "../../../Audio/MPEDemo.h"
  33. #include "../../../Audio/PluckedStringsDemo.h"
  34. #if JUCE_HAS_CONSTEXPR
  35. #include "../../../Audio/SimpleFFTDemo.h"
  36. #include "../../../BLOCKS/BlocksDrawingDemo.h"
  37. #include "../../../BLOCKS/BlocksMonitorDemo.h"
  38. #include "../../../BLOCKS/BlocksSynthDemo.h"
  39. #include "../../../DSP/ConvolutionDemo.h"
  40. #include "../../../DSP/FIRFilterDemo.h"
  41. #include "../../../DSP/GainDemo.h"
  42. #include "../../../DSP/IIRFilterDemo.h"
  43. #include "../../../DSP/OscillatorDemo.h"
  44. #include "../../../DSP/OverdriveDemo.h"
  45. #if JUCE_USE_SIMD
  46. #include "../../../DSP/SIMDRegisterDemo.h"
  47. #endif
  48. #include "../../../DSP/StateVariableFilterDemo.h"
  49. #include "../../../DSP/WaveShaperTanhDemo.h"
  50. #endif
  51. #include "../../../Utilities/Box2DDemo.h"
  52. #if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX
  53. #include "../../../Utilities/ChildProcessDemo.h"
  54. #endif
  55. #include "../../../Utilities/CryptographyDemo.h"
  56. #include "../../../Utilities/JavaScriptDemo.h"
  57. #include "../../../Utilities/LiveConstantDemo.h"
  58. #include "../../../Utilities/MultithreadingDemo.h"
  59. #include "../../../Utilities/NetworkingDemo.h"
  60. #include "../../../Utilities/OSCDemo.h"
  61. #include "../../../Utilities/SystemInfoDemo.h"
  62. #include "../../../Utilities/TimersAndEventsDemo.h"
  63. #include "../../../Utilities/UnitTestsDemo.h"
  64. #include "../../../Utilities/ValueTreesDemo.h"
  65. #include "../../../Utilities/XMLandJSONDemo.h"
  66. void registerDemos_One() noexcept
  67. {
  68. REGISTER_DEMO (AudioAppDemo, Audio, false)
  69. REGISTER_DEMO (AudioLatencyDemo, Audio, false)
  70. REGISTER_DEMO (AudioPlaybackDemo, Audio, false)
  71. REGISTER_DEMO (AudioRecordingDemo, Audio, false)
  72. REGISTER_DEMO (AudioSettingsDemo, Audio, false)
  73. REGISTER_DEMO (AudioSynthesiserDemo, Audio, false)
  74. REGISTER_DEMO (MidiDemo, Audio, false)
  75. REGISTER_DEMO (MPEDemo, Audio, false)
  76. REGISTER_DEMO (PluckedStringsDemo, Audio, false)
  77. #if JUCE_HAS_CONSTEXPR
  78. REGISTER_DEMO (SimpleFFTDemo, Audio, false)
  79. REGISTER_DEMO (BlocksDrawingDemo, BLOCKS, false)
  80. REGISTER_DEMO (BlocksMonitorDemo, BLOCKS, false)
  81. REGISTER_DEMO (BlocksSynthDemo, BLOCKS, false)
  82. REGISTER_DEMO (ConvolutionDemo, DSP, false)
  83. REGISTER_DEMO (FIRFilterDemo, DSP, false)
  84. REGISTER_DEMO (GainDemo, DSP, false)
  85. REGISTER_DEMO (IIRFilterDemo, DSP, false)
  86. REGISTER_DEMO (OscillatorDemo, DSP, false)
  87. REGISTER_DEMO (OverdriveDemo, DSP, false)
  88. #if JUCE_USE_SIMD
  89. REGISTER_DEMO (SIMDRegisterDemo, DSP, false)
  90. #endif
  91. REGISTER_DEMO (StateVariableFilterDemo, DSP, false)
  92. REGISTER_DEMO (WaveShaperTanhDemo, DSP, false)
  93. #endif
  94. REGISTER_DEMO (Box2DDemo, Utilities, false)
  95. #if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX
  96. REGISTER_DEMO (ChildProcessDemo, Utilities, false)
  97. #endif
  98. REGISTER_DEMO (CryptographyDemo, Utilities, false)
  99. REGISTER_DEMO (JavaScriptDemo, Utilities, false)
  100. REGISTER_DEMO (LiveConstantDemo, Utilities, false)
  101. REGISTER_DEMO (MultithreadingDemo, Utilities, false)
  102. REGISTER_DEMO (NetworkingDemo, Utilities, false)
  103. REGISTER_DEMO (OSCDemo, Utilities, false)
  104. REGISTER_DEMO (SystemInfoDemo, Utilities, false)
  105. REGISTER_DEMO (TimersAndEventsDemo, Utilities, false)
  106. REGISTER_DEMO_WITH_FILENAME (UnitTestClasses::UnitTestsDemo, Utilities, UnitTestsDemo, false)
  107. REGISTER_DEMO (ValueTreesDemo, Utilities, false)
  108. REGISTER_DEMO (XMLandJSONDemo, Utilities, false)
  109. }
  110. Component* createIntroDemo()
  111. {
  112. return new IntroScreen();
  113. }
  114. bool isComponentIntroDemo (Component* comp) noexcept
  115. {
  116. return (dynamic_cast<IntroScreen*> (comp) != nullptr);
  117. }