Roadmap to HISE 5
-
@Orvillain said in Roadmap to HISE 5:
Compiles here. Not noticing any breakages yet. The poly send and receive nodes in scriptnode are epic.
@Christoph-Hart I spoke too soon.
I'm getting some ipp complaints with this build now
> Create files > Sorting include dependencies > Creating C++ file for Network DualFilters > Creating C++ file for Network polyRingMod > Creating C++ file for Network seriesparaFilters > Compiling dll plugin Re-saving file: E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\AutogeneratedProject.jucer Finished saving: Visual Studio 2022 Finished saving: Xcode (macOS) Finished saving: Linux Makefile Compiling 64bit ClientSynthHiseProject ... MSBuild version 17.10.4+10fbfbf2e for .NET Framework Main.cpp RNBO.cpp Creating library .\..\..\dll\Dynamic Library\client_hybrid_synth_hise_project.lib and object .\..\..\dll\Dynamic Library\client-hybrid-synth-hise-project24.exp !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippFree referenced in function "public: __cdecl fftconvolver::FFTConvolver::FFTConvolver(enum audiofft::ImplementationType)" (??0FFTConvolver@fftconvolver@@QEAA@W4ImplementationType@audiofft@@@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2001: unresolved external symbol ippFree [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippsMalloc_8u referenced in function "public: bool __cdecl fftconvolver::FFTConvolver::init(unsigned __int64,float const *,unsigned __int64)" (?init@FFTConvolver@fftconvolver@@QEAA_N_KPEBM0@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2001: unresolved external symbol ippsMalloc_8u [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippsMalloc_32fc referenced in function "public: virtual void __cdecl audiofft::IPP_FFT::init(unsigned __int64)" (?init@IPP_FFT@audiofft@@UEAAX_K@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippsAdd_32f referenced in function "void __cdecl fftconvolver::Sum(float *,float const *,float const *,unsigned __int64)" (?Sum@fftconvolver@@YAXPEAMPEBM1_K@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippsRealToCplx_32f referenced in function "public: virtual void __cdecl audiofft::IPP_FFT::ifft(float *,float const *,float const *)" (?ifft@IPP_FFT@audiofft@@UEAAXPEAMPEBM1@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_dsp_library_01.obj : error LNK2019: unresolved external symbol ippsCplxToReal_32fc referenced in function "public: virtual void __cdecl audiofft::IPP_FFT::fft(float const *,float *,float *)" (?fft@IPP_FFT@audiofft@@UEAAXPEBMPEAM1@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTGetSize_R_32f referenced in function "private: void __cdecl hise::IppFFT::initFFT(int)" (?initFFT@IppFFT@hise@@AEAAXH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTGetSize_C_32fc referenced in function "private: void __cdecl hise::IppFFT::initFFT(int)" (?initFFT@IppFFT@hise@@AEAAXH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTGetSize_R_64f referenced in function "private: void __cdecl hise::IppFFT::initFFT(int)" (?initFFT@IppFFT@hise@@AEAAXH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTGetSize_C_64fc referenced in function "private: void __cdecl hise::IppFFT::initFFT(int)" (?initFFT@IppFFT@hise@@AEAAXH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInit_R_32f referenced in function "private: void __cdecl hise::IppFFT::initSpec(int,unsigned char *,unsigned char *)" (?initSpec@IppFFT@hise@@AEAAXHPEAE0@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInit_C_32fc referenced in function "private: void __cdecl hise::IppFFT::initSpec(int,unsigned char *,unsigned char *)" (?initSpec@IppFFT@hise@@AEAAXHPEAE0@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInit_R_64f referenced in function "private: void __cdecl hise::IppFFT::initSpec(int,unsigned char *,unsigned char *)" (?initSpec@IppFFT@hise@@AEAAXHPEAE0@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInit_C_64fc referenced in function "private: void __cdecl hise::IppFFT::initSpec(int,unsigned char *,unsigned char *)" (?initSpec@IppFFT@hise@@AEAAXHPEAE0@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_CToC_32fc referenced in function "public: void __cdecl hise::IppFFT::complexFFT(float const *,float *,int)const " (?complexFFT@IppFFT@hise@@QEBAXPEBMPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_CToC_32fc referenced in function "public: void __cdecl hise::IppFFT::complexFFTInverse(float const *,float *,int)const " (?complexFFTInverse@IppFFT@hise@@QEBAXPEBMPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_CToC_32fc_I referenced in function "public: void __cdecl hise::IppFFT::complexFFTInplace(float *,int)const " (?complexFFTInplace@IppFFT@hise@@QEBAXPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_CToC_32fc_I referenced in function "public: void __cdecl hise::IppFFT::complexFFTInverseInplace(float *,int)const " (?complexFFTInverseInplace@IppFFT@hise@@QEBAXPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_CToC_64fc_I referenced in function "public: void __cdecl hise::IppFFT::complexFFTInplace(double *,int)const " (?complexFFTInplace@IppFFT@hise@@QEBAXPEANH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_CToC_64fc_I referenced in function "public: void __cdecl hise::IppFFT::complexFFTInverseInplace(double *,int)const " (?complexFFTInverseInplace@IppFFT@hise@@QEBAXPEANH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_RToPerm_32f_I referenced in function "public: void __cdecl hise::IppFFT::realFFTInplace(float *,int)const " (?realFFTInplace@IppFFT@hise@@QEBAXPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_PermToR_32f_I referenced in function "public: void __cdecl hise::IppFFT::realFFTInverseInplace(float *,int)const " (?realFFTInverseInplace@IppFFT@hise@@QEBAXPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_RToPerm_64f_I referenced in function "public: void __cdecl hise::IppFFT::realFFTInplace(double *,int)const " (?realFFTInplace@IppFFT@hise@@QEBAXPEANH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_PermToR_64f_I referenced in function "public: void __cdecl hise::IppFFT::realFFTInverseInplace(double *,int)const " (?realFFTInverseInplace@IppFFT@hise@@QEBAXPEANH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTFwd_RToPerm_32f referenced in function "public: void __cdecl hise::IppFFT::realFFT(float const *,float *,int)const " (?realFFT@IppFFT@hise@@QEBAXPEBMPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !include_hi_tools_01.obj : error LNK2019: unresolved external symbol ippsFFTInv_PermToR_32f referenced in function "public: void __cdecl hise::IppFFT::realFFTInverse(float const *,float *,int)const " (?realFFTInverse@IppFFT@hise@@QEBAXPEBMPEAMH@Z) [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj] !.\..\..\dll\Dynamic Library\\client-hybrid-synth-hise-project24.dll : fatal error LNK1120: 26 unresolved externals [E:\Client\Repositories\ClientSynth\ClientSynthHiseProject\DspNetworks\Binaries\Builds\VisualStudio2022\client-hybrid-synth-hise-project_DynamicLibrary.vcxproj]
(sanitized the log a bit but only changing project names)
Commit used:
3ac218e2d188d7312726101f2f40b7291ff9fb49 - - nope...
Ideally I don't roll back to May 30th, coz I'm making good use of these new polyphonic send and receive nodes.
If I untick "use IPP" in my project settings, then the node also still doesn't compile.
If I rebuild HISE with USE_IPP=0 in the preprocessor definitions, then the same thing happens.
It isn't any particular networking causing it. I think this is just an issue with scriptnode overall in this latest commit.
-
Just pulled your most recent commit - sha a97795e41aa643cf3b2dfccd0ee69204f16f22ff
"fix DLL compilation on Windows complaining about IPP"
and only getting one error now:
!H:\development\HISE\HISE\hi_tools\hi_tools.h(233,10): error C1083: Cannot open include file: 'ipp.h': No such file or directory [E:\Client\Repositories\client-synth\client-synth-hise-project\DspNetworks\Binaries\Builds\VisualStudio2022\client-synth-hise-project_DynamicLibrary.vcxproj]
-
xcbeautify still needs changing to the UB build
This is done.
and only getting one error now:
yeah, IPP went completely crazy here, I'll do a couple of attempts to fix this but it seems that it causes issues based on which IPP version is installed (my build server breaks but on my local windows machine everything works)...
-
@Christoph-Hart said in Roadmap to HISE 5:
yeah, IPP went completely crazy here, I'll do a couple of attempts to fix this but it seems that it causes issues based on which IPP version is installed (my build server breaks but on my local windows machine everything works)...
Sha 4e6592a70a0a7e512693d5568ef3451a833616be ... this fails here too.
I upgraded my local IPP just to check that too. My install location for IPP is:
C:\Program Files (x86)\Intel\oneAPI\ipp\2022.2\include\ippI know they kept futzing with some of the install paths in the past, but I thought that had all settled.
-
@Orvillain does it work if you switch of
UseIpp
in the compiler settings of HISE? -
@Christoph-Hart I've tried disabling IPP in the preprocessor definitions USE_IPP=0 and rebuilding HISE, and no difference. Is there anywhere else I should disable it to test with?
-
-
@Christoph-Hart said in Roadmap to HISE 5:
Nope, still not working. I've actually had that turned off all day, and I've tried various ways of compiling HISE to turned off IPP, and it still fils. Weird.
The latest develop commit gives me:
!H:\development\HISE\HISE\hi_tools\hi_tools\IppFFT.h(35,10): error C1083: Cannot open include file: 'ipp.h': No such file or directory
-
@Orvillain Have you tried opening the autogenerated juicer file in projucer and adding USE_IPP=0 to the extra preprocessor definitions?
-
Working on Linux (without IPP), haven't tried exporting yet.
-
@d-healey said in Roadmap to HISE 5:
@Orvillain Have you tried opening the autogenerated juicer file in projucer and adding USE_IPP=0 to the extra preprocessor definitions?
Yep, I covered that before.
But here's what is WILD....
I rebuilt HISE with USE_IPP=0 AND USE_IPP disabled in the hi_lac module..... and with the use IPP flag disabled in the project compiler settings.... it complains:
!H:\development\HISE\HISE\hi_tools\hi_tools\IppFFT.h(35,10): error C1083: Cannot open include file: 'ipp.h': No such file or directoryBut if I turn the project compiler flag ON???
It compiles the network no problem.
So again, to restate it - I have IPP disabled in the compiled version of the HISE standalone, both in the preprocessor definitions, and in the hi_lac module. But I have to have it enabled in the actual project compiler settings, in order for the networks to compile.
This is all very strange. There seems to be some misalignment of the feature booleans going on under the hood.
-
@d-healey LOOK AT THAT BEAUTIFUL RELEASE CURVE!
🥰
️
-
OK, time for a matrix:
Task Projucer Compile Flag UseIppSetting Works Compile HISE USE_IPP=0 n.a. OK Compile HISE USE_IPP=1 n.a. OK Compile FX DLL USE_IPP=0 UseIpp=Yes nope Compile FX DLL USE_IPP=1 UseIpp=Yes OK Compile FX DLL USE_IPP=0 UseIpp=No OK Compile FX DLL USE_IPP=1 UseIpp=No OK Is that the case over there?
both in the preprocessor definitions, and in the hi_lac module.
I think you must not touch the preprocessor definition in the source code, as this will override the
UseIpp
setting. Just change it in the Projucer project for HISE, then resave & compile. Whether the project compilation (both plugin export & FX compilation is using Ipp is solely depending on theUseIpp
flag (as this will properly set the OneAPI setting to work).But as first step you should be able to compile HISE with IPP.
-
@Christoph-Hart The USE_IPP setting has moved from hi_core to hi_lac - any particular reason?
Exporting as VST3 working here on Linux
-
-
@Christoph-Hart Here are my results:
Task Projucer Compile Flag Projucer hi_lac IPP Setting UseIppSetting Drew Results Compile HISE USE_IPP=0 Disabled n.a. OK Compile HISE USE_IPP=0 Enabled n.a. OK Compile HISE USE_IPP=1 Disabled n.a. OK Compile HISE USE_IPP=1 Enabled n.a. OK Compile FX DLL USE_IPP=0 Enabled UseIpp=Yes YES NETWORKS COMPILE Compile FX DLL USE_IPP=0 Enabled UseIpp=No NO NETWORKS DO NOT COMPILE !H:\development\HISE\HISE\hi_tools\hi_tools\IppFFT.h(35,10): error C1083: Cannot open include file: 'ipp.h': No such file or directory Compile FX DLL USE_IPP=1 Enabled UseIpp=Yes YES NETWORKS COMPILE Compile FX DLL USE_IPP=1 Enabled UseIpp=No NO NETWORKS DO NOT COMPILE !H:\development\HISE\HISE\hi_tools\hi_tools\IppFFT.h(35,10): error C1083: Cannot open include file: 'ipp.h': No such file or directory Now what I can't quite explain is that I've always had useIpp enabled inside the project compiler settings. So I don't even know how I started getting this issue.
My result from this post:
https://forum.hise.audio/post/105984Were with the settings prior to updating from the latest develop branch and rebuilding - and IPP would've been enabled for everything.
The new network I created today, that compiles according to the chart above... doesn't seem to instantiate correctly. I'm still investigating this one though, so ignore for now.
-
@Christoph-Hart said in Roadmap to HISE 5:
I think you must not touch the preprocessor definition in the source code
Just to clarify, I didn't edit any code. I'm talking about the setting here:
-
@d-healey modes?? Please share!
-
-
@d-healey lol