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