OpenShot Audio Library | OpenShotAudio  0.6.0
juce_dsp.cpp
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2022 - 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 7 End-User License
11  Agreement and JUCE Privacy Policy.
12 
13  End User License Agreement: www.juce.com/juce-7-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 #ifdef JUCE_DSP_H_INCLUDED
27  /* When you add this cpp file to your project, you mustn't include it in a file where you've
28  already included any other headers - just put it inside a file on its own, possibly with your config
29  flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
30  header files that the compiler may be using.
31  */
32  #error "Incorrect use of JUCE cpp file"
33 #endif
34 
35 #include "juce_dsp.h"
36 
37 #ifndef JUCE_USE_VDSP_FRAMEWORK
38  #define JUCE_USE_VDSP_FRAMEWORK 1
39 #endif
40 
41 #if (JUCE_MAC || JUCE_IOS) && JUCE_USE_VDSP_FRAMEWORK
42  #include <Accelerate/Accelerate.h>
43 #else
44  #undef JUCE_USE_VDSP_FRAMEWORK
45 #endif
46 
47 #if JUCE_DSP_USE_INTEL_MKL
48  #include <mkl_dfti.h>
49 #endif
50 
51 #if _IPP_SEQUENTIAL_STATIC || _IPP_SEQUENTIAL_DYNAMIC || _IPP_PARALLEL_STATIC || _IPP_PARALLEL_DYNAMIC
52  #include <ippcore.h>
53  #include <ipps.h>
54  #define JUCE_IPP_AVAILABLE 1
55 #endif
56 
57 #include "processors/juce_FIRFilter.cpp"
58 #include "processors/juce_IIRFilter.cpp"
59 #include "processors/juce_FirstOrderTPTFilter.cpp"
60 #include "processors/juce_Panner.cpp"
61 #include "processors/juce_Oversampling.cpp"
62 #include "processors/juce_BallisticsFilter.cpp"
63 #include "processors/juce_LinkwitzRileyFilter.cpp"
64 #include "processors/juce_DelayLine.cpp"
65 #include "processors/juce_DryWetMixer.cpp"
66 #include "processors/juce_StateVariableTPTFilter.cpp"
67 #include "maths/juce_SpecialFunctions.cpp"
68 #include "maths/juce_Matrix.cpp"
69 #include "maths/juce_LookupTable.cpp"
70 #include "frequency/juce_FFT.cpp"
71 #include "frequency/juce_Convolution.cpp"
72 #include "frequency/juce_Windowing.cpp"
73 #include "filter_design/juce_FilterDesign.cpp"
74 #include "widgets/juce_LadderFilter.cpp"
75 #include "widgets/juce_Compressor.cpp"
76 #include "widgets/juce_NoiseGate.cpp"
77 #include "widgets/juce_Limiter.cpp"
78 #include "widgets/juce_Phaser.cpp"
79 #include "widgets/juce_Chorus.cpp"
80 
81 #if JUCE_USE_SIMD
82  #if JUCE_INTEL
83  #ifdef __AVX2__
84  #include "native/juce_SIMDNativeOps_avx.cpp"
85  #else
86  #include "native/juce_SIMDNativeOps_sse.cpp"
87  #endif
88  #elif JUCE_ARM
89  #include "native/juce_SIMDNativeOps_neon.cpp"
90  #else
91  #error "SIMD register support not implemented for this platform"
92  #endif
93 #endif
94 
95 #if JUCE_UNIT_TESTS
96  #include "maths/juce_Matrix_test.cpp"
97  #include "maths/juce_LogRampedValue_test.cpp"
98 
99  #if JUCE_USE_SIMD
100  #include "containers/juce_SIMDRegister_test.cpp"
101  #endif
102 
103  #include "containers/juce_AudioBlock_test.cpp"
104  #include "frequency/juce_Convolution_test.cpp"
105  #include "frequency/juce_FFT_test.cpp"
106  #include "processors/juce_FIRFilter_test.cpp"
107  #include "processors/juce_ProcessorChain_test.cpp"
108 #endif