Roadmap to HISE 5
-
@ustk said in Roadmap to HISE 5:
@clevername27 said in Roadmap to HISE 5:
@Christoph-Hart Meanwhile, I was fired by all three clients because of HISE bugs and secret ScriptNode documentation. sigh
Same... I have one that is crashing some customer hosts and I can't seems to find why. simple stuff, no modulation inside, just scriptnode, faust and third party C++. Hopefully this will be fixed one day, but without a proper investigation chances are very thin...
Don't want to troll the thread that been said! But might worth to speak about that again during the meetup
Don't want you to try to teach you to suck eggs, but have you gotten a project from the user that reliably shows the crash, and slapped a debugger on the host process to find out what is going on?
-
@Christoph-Hart @Orvillain Yeah I did read and pasted here the crash report. Unfortunately I can't reproduce the issue so I can't slap a debugger. Will try more...
Unfortunately when I publish a new version the users need to resync their full library in LogicPro in order to get the plugin to update to the new version, so I can't ask them to do it 10x per day...
This is another issue, as I don't think people have to do this each time they update a single plugin (and one of the customers has more than 1000 plugins...). It's like no matter what you do with the version number, Logic doesn't take it as a new version. But I'm no Logic user so, who knows... -
If you can't reproduce the issue, checkout what platform they're on, and make sure their CPU supports all of the instruction sets required. If they're on a really really old machine that doesn't support the relevant SSE and AVX instructions that HISE and JUCE are using (no, I don't know what they are!!) then it's entirely possible that the issue isn't a bug.
Also get all the information about the audio interface, sample-rate, buffer size, etc.
Oh, and Logic is a real butthole when it comes to refreshing or clearing the AUCache - a lot of the time I've had to walk people through doing it manually.
-
Seeing this on Linux when compiling HISE, I don't have USE_IPP in the exporter and it doesn't appear in the makefile.
Still would like IPP restoring on Linux as there is no fallback like on MacOS.
125 | #error "this should not be defined before this so if this error appears, remove USE_IPP from your preprocessor definitions...
-
@ustk Thanks for the solidarity. It's not trolling…I think it's a valid reaction, and suspect I'm far from the only one. And it's the kind of thing no one thinks will happen to them…until it does. @Christoph-Hart wrote right on the website's front page not to expect fixes, so it's not like he dropped the ball. But we can still be frustrated about it. When it works, HISE is great. But you know the saying…it's only free if you don't value your time.
-
@Christoph-Hart wrote right on the website's front page not to expect fixes, so it's not like he dropped the ball
Where does it say that?
-
[bug] It's still not possible to change a sample's RR group. It just sets it to 0.
[Bug] Moving sample to RR group sets it to 0
I just noticed if I select a sample in the mapping editor and click the +- buttons (or enter a number manually) to move it to another RR group, it gets set t...
Forum (forum.hise.audio)
-
@d-healey oh boy she's a beauty
-
Cheer!
-
@d-healey said in Roadmap to HISE 5:
125 | #error "this should not be defined before this so if this error appears, remove USE_IPP from your preprocessor definitions...
@Christoph-Hart You're missing a double quote at the end of the error message which is why I'm seeing it.
-
@Christoph-Hart I suggest that
HISE_USE_SCRIPT_RECTANGLE_OBJECT=1
should be enabled by default in HISE 5.Also, seeing these errors when exporting VST3 on Linux (standalone export is fine).
/media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/SampleEditor.cpp:1693:28: error: ‘GET_BACKEND_ROOT_WINDOW’ was not declared in this scope 1693 | auto bpe = GET_BACKEND_ROOT_WINDOW(this); | ^~~~~~~~~~~~~~~~~~~~~~~ /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/SampleEditor.cpp:1694:41: error: ‘library’ in namespace ‘hise::multipage’ does not name a type 1694 | auto n = new multipage::library::ReleaseStartOptionDialog(bpe, sampler); | ^~~~~~~ In file included from /media/dave/Work/Tools/HISE/hi_core/hi_sampler/hi_sampler.cpp:68: /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/ComplexGroupManagerComponent.cpp: In constructor ‘hise::ComplexGroupManagerComponent::ParseToolbar::ParseToolbar(hise::ComponentWithGroupManagerConnection&, const juce::ValueTree&)’: /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/ComplexGroupManagerComponent.cpp:2376:23: error: expected type-specifier 2376 | tokeniser(new Console::ConsoleTokeniser()),
-
I've readded support for IPP on Linux - https://github.com/christophhart/HISE/pull/754
Edit: Hold off merging this, I have an idea I want to try to make it a little more cross-distro friendly.
-
@d-healey Can the OneAPI thingie on Linux also add the library search path etc?
Ideally you would never have to set USE_IPP manually and it will pick up the definitions made by the IPP headers like it‘s doing on Windows now.
-
@Christoph-Hart said in Roadmap to HISE 5:
@d-healey Can the OneAPI thingie on Linux also add the library search path etc?
Ideally you would never have to set USE_IPP manually and it will pick up the definitions made by the IPP headers like it‘s doing on Windows now.
I'll look into it.
What I'm thinking is probably going to be the most cross-distro solution is to have the user add the root folder to their bashrc file (environment variable). I also want to do this for FFTW so it builds with the static library instead of the shared library.
-
@Christoph-Hart Can you tell me how on Windows, when compiling HISE, it knows where to find the IPP files without the paths being specified in Projucer? I'm looking through the source at the moment but not seeing it.
Edit: Ah I think I figured it out. The installer is setting some environment variables or something on Windows, and has all the fancy integration with VS so it just works.
I'll see how close I can get on Linux, probably have to manually set the env variables though.
-
The installer is setting some environment variables or something on Windows
I think it's all handled by the VisualStudio OneAPI extension, that's why I removed all the manual preprocessors.
In the first module that is included in HISE (
hi_lac
), I'm then just picking up the preprocessors defined by the included IPP headers like this:#if JUCE_WINDOWS #if _IPP_SEQUENTIAL_STATIC || _IPP_SEQUENTIAL_DYNAMIC || _IPP_PARALLEL_STATIC || _IPP_PARALLEL_DYNAMIC #define USE_IPP 1 #else #define USE_IPP 0 #endif #else #define USE_IPP 0 #endif
It might be enough to just change the first line to
#if JUCE_WINDOWS || JUCE_LINUX
and then set environment variables for global library / header search paths -
@Christoph-Hart Yep that looks like it, I've been poking around in VS too to see where those macros are declared.
There doesn't seem to be any nice integration like that for gcc/g++/make so it will require a little more manual work but I'll try and avoid the need for USE_IPP and make it as painless as possible.
-
@d-healey oops, I edited my post below while you were replying...
-
@Christoph-Hart said in Roadmap to HISE 5:
It might be enough to just change the first line to #if JUCE_WINDOWS || JUCE_LINUX
Those macros
_IPP_SEQUENTIAL_STATIC || _IPP_SEQUENTIAL_DYNAMIC || _IPP_PARALLEL_STATIC || _IPP_PARALLEL_DYNAMIC
seem to be created by VS, unless I'm misunderstanding them, so they won't be picked up on Linux. -
@d-healey Ah yes, you're right, I thought they are defined in the <ipp.h> header.
I think the closest you can get on Linux is:
- Make sure that the IPP headers / libraries are in a system path that is globally accessible => this might require some environment variable setup, we can add this to the readme build instructions.
- Define
_IPP_SEQUENTIAL_STATIC=1
in your build setup. If you want to compile HISE with IPP on Linux you'll have to put that into the preprocessor definitions (as this "emulates" the OneAPI configuration). If you compile a plugin, then the HISE exporter just needs to add this to the ExtraDefinitionsLinux field - I can rewrite the logic to pick up the setting from theUseIpp
property in the Hise compiler settings, but a manual preprocessor in said field should also do the trick for now.