New analyser module with FloatingTile support
-
Hi everybody,
I've added a audio analyser module that contains an oscilloscope, a FFT analyser and a goniometer (stereo-field analyser). While the actual module is pretty basic, the most interesting feature is that you can add these to a FloatingTile (with customised colours) on your plugin interface:
HiseSnippet 1112.3oc2W0raaaDDdok2fH43lF.ihBzKDB8fCfqgjxO8uCQ1VVABM1VPx0I2BVSNRZgI2kX4RaqDj2h91zK4d6g9HTf9Bz2.2YIoLW4J3JklXDDdRy2LyxuY14GwtJoGDGKUDmUNbbDPbtCs+XgdzNiXbAoSKhymQ2iEqAkaFz1iiXwwfOwwozSM.NkWlj972OYaV.S3AEPDxQRtG7LdHWWfF07m3AAsY9vg7PKqeXyNdRwNx.YBxmRzZjHl2Irgv9LiYKQImxgyhIN0nOnwlpSpe7q1Zyq7v99c1byAClFm3knTfPeD5Nwg5bA93P20mqkp9ZlFvyb4sk9i6ORdlH6UeDOleb.XDpS5ibJCtsLv2D7leS1YDOvu6jTXLAO6tEIzRYIz0n6w84WhWjX+7TEtEdXmZcV55nW82Q54XQukyn28n88T7HcgFC2Vg1Qf24CX3soMsxrk37qzcjnAB8lgrSf1JT3RGV+w0psg6ipU69+3fDgmlKEtRw9RMbfX86W40UJW4MUtplAClkJyKQICB.0rzZpdTWiaqKRBOFTa3dJKHAlXGF4SmZu07kZ8xBXKCkhNBt9fHHWtH4WeFIeRdFC+0O2oESyL2G4XncQfRyMzwoEbJ1yjc6Tl1BhOQKiRsMLRJLmfycz4kVY2GsCjLMWL7PNRaNxf6RsgpSNunIqZywEBecyy395QldhNKQHi.9vQZizegJOd3jVwx25qp9EWXbfqgvBze42IWAsgAtWudovZ3bcgw+1auHEMOjyhu6R2JwmK2RvBFGCJRZdwoA80qVw0s5kouN9U+A2pSrp5FoZ6H7gyQ7FqV4MDx+txF6uj9IAL8zMclgV4JvpkoptMkvhXtdr8PsEnSr1L6DmYwvbR26Q6x0dilMeWZF7EKp9Py274ZqR2cv.vSWP1kosewM7PLZFWpPurBxPDKQa5rcBRXUe9qr1471lcUfYsRd+Vw0doo4do4i6yH00SlX5D2ioUbrQjteRXermvCvLmP.AwlFtkLcFYx0LxFRzGD90lruJWYcirStx5STZe8rVVjrB84rSgzc4o4j0RkGHUgtOEDfxTmcMKy+i2+KyOvSiL3PESDGIiwoRVm7Uz0vVWKPmHl17LnorxDcswnyxta2bBXCavtLwTGFJO0IsG2Zb4e9jcEL7dtOfQi+AwdXvll5rJU5lDDCO2LHstsiEvMrguZg0b1TL8XKK6+H4eg79e12++Q0klO59eLio7DN1mGFE.6JNEBv004ymaACXIA5KQsI4dRgLZjTv8rqu5A3ffgCgopglY7rkVi+A3Bj0Z1CB.VLXuA+YbAvTXZBdGSE0m+Tw0cc8kzL55ZlC39owF1ReBsg8CQCJNp7ifa5ahEr2DuiPlmR9RurOdwz5c6TDLtEoe.bY7KwQY25jzOnIK2DhSueommo13avryr8nwB6wCVXOd3B6wiVXOd7B6w2tvd7cWiGlUkaknkgY06Dx+.HHyLRM
-
I'm getting a few build errors
In file included from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:160:0, from ../../../../../HISE/hi_backend/hi_backend.h:55, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h:268:9: error: field ‘fftObject’ has incomplete type ‘hise::IppFFT’ IppFFT fftObject; ^ In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:303:0, from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55, from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57, from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54, from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61, from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57, from ../../../../../HISE/hi_backend/hi_backend.h:55, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/additional_libraries/additional_libraries.h:53:8: note: forward declaration of ‘class hise::IppFFT’ class IppFFT; ^ In file included from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:160:0, from ../../../../../HISE/hi_backend/hi_backend.h:55, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h: In constructor ‘hise::FFTDisplay::FFTDisplay(hise::Processor*)’: ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h:261:21: error: ‘hise::IppFFT::DataType’ has not been declared fftObject(IppFFT::DataType::RealFloat)
I'm wondering if I need to update my version of IPP... also are IPP compatible with GPL?
Edit: Updating IPP didn't help.
-
Ah shoot I forgot you need IPP for this. I‘ll add a fallback solution (the fft performance is not super critical here).
-
Aha I realised that although I'd installed IPP I'd forgot to set it up in JUCE.
I found this post on the JUCE forum very helpful - https://forum.juce.com/t/intel-ipp-free-community-licence/16677/26 :)
These are the linker flags that I required on Linux Mint
/opt/intel/ipp/lib/intel64/libippi.a /opt/intel/ipp/lib/intel64/libipps.a /opt/intel/ipp/lib/intel64/libippvm.a /opt/intel/ipp/lib/intel64/libippcore.a
This new module looks like a lot of fun, I don't have an immediate use for it but it's nice to play around with.
-
Fixed now. There's no fallback yet (just deactivates the FFT Analyser), but at least it compiles.