Roadmap to HISE 5
-
@Christoph-Hart Meanwhile, I was fired by all three clients because of HISE bugs and secret ScriptNode documentation. sigh
-
-
@Lindon just like the ableton one which I completely stole the feature list from.
-
@Christoph-Hart LOL damn! I don't use Ableton I will have to go look it up...
-
damn it again. A quick cursory look and this doesnt seem to resolve the "Note Generator sends Global envelope data to non listening voices" problem....
-
@Lindon maybe I should go away and state this problem clearly - there may be another solution...
-
@Lindon The note generation must happen one level below the global modulator container. You have to make sure that every voice that receives the global envelope data is started by the same event ID as this is the most robust way of assigning voice indexes.
So if you have this setup:
master chain global modulator container AHDSR sine generator Arpeggiator GlobalEnvelope / MatrixModulator
it will not work because the arpeggiator will produce new events where the global modulator has no idea how to assign that to voices. But if you either move the global container and the sine wave into a new container or move the arpeggiator to the root level it should work correctly.
-
@Christoph-Hart yeah but sadly no _ want the arp to be shared(able) between voices...see my post:
Global Envelopes - The "filtered" voices problem.
So I have a problem with Global envelopes...I'd really like to use them, but..in a multi-voice system they are problematic....here's why (perhaps someone kno...
Forum (forum.hise.audio)
-
I'm getting a crash when using .setEffect() on a hardcoded polyphonic fx module. I'm doing something like this:
modeData["polyRMSlot"] = Synth.getSlotFX(modePath + "_polyRM"); modeData["polyRMSlot"].setEffect("polyRingMod");
This is in the context of a loop, and modePath is the prefix of the name string.
But interestingly, the crash only happens whenever I call Builder.clear()
IE: On the first run, it doesn't crash. But if I try to rebuild the module tree, then it crashes.
Going to try to reproduce this in a new project.
-
Right, I've confirmed this. Here is a demo project. Created on Windows. Not sure if you need to recompile the networks or not.
If you load this, the first time all will be fine. If you then press F5 to recompile the project, it will crash. If you remove the call to setEffect() then it doesn't crash.
I get a read access violation on:
if(auto pitchChain = dynamic_cast<ModulatorChain*>(getParentProcessor(true)->getChildProcessor(ModulatorSynth::InternalChains::PitchModulation)))
Details:
Exception thrown: read access violation. hise::Processor::getParentProcessor**(...) returned nullptr.
In this function:
void HardcodedPolyphonicFX::connectToRuntimeTargets(scriptnode::OpaqueNode& on, bool shouldAdd)
Hopefully that helps resolve the crash!
-
Hopefully that helps resolve the crash!
Nice one, it should be fixed now. I mean the builder docs says that you have to expect crashes but this is in fact a reproducable one :)
IPP
I made another attempt at this subject:
- IPP on macOS and Linux is completely gonzo. You can use FFTW on Linux and VDSP on macOS (and ARM doesn't even support IPP so that was not very useful anyways).
- The USE_IPP flag is now an internal flag and must not be set explicitely in any setting (in fact it will deliberately fail the compilation if it detects it being set from the outside). There are now only two things that determine whether IPP is used (on Windows only):
- In order to compile HISE with IPP support, the projucer setting Exporters -> VS2022 -> Use IPP (One API) must be set to "Static Library". This is the default now so people who want to build HISE without IPP on Windows must turn this off explicitely (readme is updated to reflect this).
- In order to compile your project with IPP, you must have compiled HISE with IPP following step 1 and then set the HISE setting
Compiler Settings -> UseIpp
to true. If you set this to true without HISE being compiled with IPP, it will throw an error (this is not really required but I think anything that boils down the ridiculous amount of scenarios is a good thing here). If the HISE settingUseIpp
is true, it will automatically set the OneAPI setting in the autogenerated project file and subsequently set the internally used USE_IPP flag for the project compilation.
-
@Christoph-Hart said in Roadmap to HISE 5:
IPP on macOS and Linux
Why not on Linux? It works well here. FFTW is only suitable for GPL projects.
-
@d-healey Is there a single non GPL project on Linux?
-
Thanks for the fix! I'll check it, but I'm seeing this now:
Is that meant to be a comment, or a jassert or something???
Oh wait, I think I get you now. I need to remove use_ipp..... brb....
-
@Orvillain nope that's expected. If you hit this thing, it means that you have somewhere defined USE_IPP to a value which causes all the weird stuff you're experiencing. Check all preprocessor definitions
-
@Christoph-Hart Yeppers! I just misread your previous post. Doh.
Compiling now. Will let you know about the crash fix.
BTW - I love the Builder! I don't know how many people are using it, but for doing repeated patterns in the module tree, it is a life saver!
-
@Christoph-Hart said in Roadmap to HISE 5:
Is there a single non GPL project on Linux?
Not sure, but if you remove IPP from Linux you guarantee that fewer developers will make their plugins Linux compatible.
Although I don't use proprietary plugins myself I know a lot of Linux users are crying out for more developers of proprietary plugins to support Linux.
HISE makes it really easy to support Linux so unless there is some good reason to remove IPP I think it's worth keeping.
-
@Christoph-Hart said in Roadmap to HISE 5:
Nice one, it should be fixed now. I mean the builder docs says that you have to expect crashes but this is in fact a reproducable one :)
Right, yep !! This looks fixed.
If you want another crash to investigate, if you have the hardcoded fx window open at the time you recompile, it will crash. I'm guessing there's some GUI code somewhere that gets a bad pointer.
-
@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
-
@ustk Have you tried this: