HISE Compatibility with Windows 11 and Cubase 12
-
@dustbro Hmm, that's a fail safe that prevents odd buffer sizes. What audio settings are you using?
-
What happens if you set
HISE_EVENT_RASTER
to 1? (In the ExtraDefinitions).If this is really the culprit, then it should work with a raster size of 1...
-
@Christoph-Hart I'll try that now.
I'm using my internal sound card on this computer. Buffer options are "low, medium, high" hahah -
@Christoph-Hart HISE_EVENT_RASTER to 1 prevents the project from fully loading.
-
@dustbro I think you need to compile your project with that flag, not HISE itself.
-
-
@Christoph-Hart raster size of 1 works
-
@Christoph-Hart Will that extra definition affect anything else? Do we just need to set that in our projects?
-
@Casey-Kolb Yes of course, this vastly increases CPU usage because it will render all modulators at full audio rate.
I just wanted to confirm that it's actually this flag that's causing the problem. Setting it to 1 is not the fix.
-
@Christoph-Hart Noted!
-
@Christoph-Hart Do you need any other info to help debug?
-
Bumping this issue again. It's rather pressing and I'm getting more and more support tickets about this. Our users can't use the plugin at all in the newer version of Cubase.
@Christoph-Hart Any idea when we'll have a fix for this?
-
@Casey-Kolb They just need to set a buffer size that is a multiple of 8. I have no idea why this isn't enforced by audio drivers.
-
@Christoph-Hart Why do other non-HISE VST plugins still work regardless of this? Is there a way we can safeguard against that in HISE?
-
@Casey-Kolb Yes, actually it shows an error message that the buffer size is wrong but if you deactivate the overlay it won't show up.
-
@Christoph-Hart Got it. Is there a reason this is a HISE-specific thing? Other plugins don't seem to have issues with the different buffer sizes (correct me if I'm wrong). Most of these support tickets from our users say CUBE is the only plugin that doesn't work with their settings, which is a pretty bad look.
-
@Casey-Kolb Yes this is a deliberately optimization in HISE that ensures that the CPU usage is as low as possible. By enforcing this all the modulators can run at 8x times lower than audio rate so it saves huge amounts of CPU. Try setting the
HISE_EVENT_RASTER
to 1 and compare the CPU usage.There is absolutely no reason not to use a buffer size other that's not a multiple of eight except for ignorance on the end user's part (or lack of better knowledge).
It deals with varying buffer sizes pretty well (REAPER for example splits up buffers at the loop point), but if the buffer size isn't dividable by eight, you will get periodic crackling, so I shut down the processing and show the error message in the overlay.
I might add a way of catching and displaying these messages when the overlay isn't disabled, but apart from that there's nothing to be done - except for setting
HISE_EVENT_RASTER
to 1 and explaining every user why the CPU has increased in your last update. -
@Christoph-Hart Noted.
-
@Christoph-Hart Will
Settings.getCurrentBufferSize()
work as a check when the user loads the plugin? I'm thinking we might just add our own overlay so we can keep the main HISE overlay off. -
@Casey-Kolb I think a better way is to add a custom error handler as this might also catch other critical errors (eg. samples not found or the copy protection being invalid).
You can also use this with:
https://docs.hise.audio/scripting/scripting-api/engine/index.html#showerrormessage