Roadmap to HISE 5
-
-
@Christoph-Hart said in Roadmap to HISE 5:
There were a few rather intrusive changes I had to make especially in the modulation system so if you have a project that uses a complex modulation system, please let me know if anything broke there. Especially the bridge between modulators and scriptnode is completely rewritten and there are definitively a few breaking changes that require you to tweak your nodes to adjust to the new system, but I tried to be as backwards compatible as possible and as far as I'm aware there is nothing substantive being removed.
Other than needing to manually disable IPP in Projucer before compiling DSP networks, the two projects I tried seemed to be okay as far as modulation goes. The first, a complete basket case that crashes if you look at it funny, was the biggest surprise. This uses a pretty elaborate system of global cables & event modulators, with most sources existing in a global modulation container, here the incoming mod signals are available concurrently. The other, simpler project relies solely on global_cables, again all source in a global container. Here, a branch container selects the incoming signal.
-
Compiles here. Not noticing any breakages yet. The poly send and receive nodes in scriptnode are epic.
-
@Christoph-Hart M4 all compiled fine. I guess
Engine.createModulationMatrix
has been upgraded so I'll await further instructions as I may need to change a fair amount to get this project working again!
-
xcbeautify still needs changing to the UB build
-
@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
-