HISE Compatibility with Windows 11 and Cubase 12
-
@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
-
@Christoph-Hart Our CUBE OpenGL component overlays everything regardless of order, so we have to go custom for all modals in order to hide the OpenGL first
Just confirming that
Settings.getCurrentBufferSize()
will return the DAW's buffer size and not just the Standalone buffer size? -
@Casey-Kolb I would add something like
Engine.setErrorCallback(function(message, isCritical) { if(message.length == 0) { myPanel.set("visible", false); return; } myPanel.set("visible", true); myPanel.data.text = message; myPanel.repaint(); });
then you can show this however you like - no need to overlay everything.
-
@Christoph-Hart That looks like a good solution!
-
Engine.setErrorCallback(function(message, isCritical)
This isn't in the API yet is it?
-
-
@Christoph-Hart Excellent!
-
Does
Engine.showErrorMessage()
trigger the callback too? -
@d-healey sure.
-
@Christoph-Hart Not working as expected. The first time there is an error it triggers but won't after that:
HiseSnippet 844.3ocsU88iZbCD1K2sUkMsQMR8O.KdZQ5BBZulDoSQkdbbsnFtfJWi5aQ97NbXcdsWY68ZQQ4+47Peucr2EXIgDUgZPHDyu+7mmY7LilCVq1PhZe8pBfD8UwyWobKGsjITjIWPhdX7Tl0AFZkpyWUvrVHiDEczO6UD09XR3y69wyYRlhCaUQHuRK3vKD4B2VsyF9qBo7RVFbsHug2mNbBWqFok5RDOGE2mTv32wtEth4cqULI5KFmIbZybGyAVRzwmqyVMeo9OUU9+JgUbiD7BCHywDUo9RsLyiXuVxnkBY1r0maKAyxrsrvQUrv2FOUjI1neKa7MACzsQzjOhZsK7NZG3MnI752.d6ARQMfzwUP5Qwy4FQgaqEOddP7DEd4rfgzdSnT4Ko0eGEORidnb8xY2AWZPgMQj9j98Ogh+z8rjDj5sNJrj9b5X0sBEzia.7bL1XzlegoxjfIs6YsSRfk8rfKneDSJuAujRWTp3NgVkJg6A4IzbDh3MW2j2jzFAfUKgdEFgxk1AoFWGrhuMjrDgRhEitNATs57RmSqF3wsQKS457BsBOAmPumIKqxoXAMsVpc6Z7ZQlNfpoUEOsy0KEVJ9kQCE8D5o95hG10bxsfaz5zm1otvc55Oe0keyI78wU2yZ.4qzN3kpz.zRdaB88MsXwdsUmp.ytGy9wCymJvTUY9MfoIw3cD6Y1sQL9i2H1bNgWwJMbTqlnDtWV.pO1zColJw+86Stf4X9t2ZcneEfwI7PH5B3dbUPUub63K.6cNcQv2Z9GmtcAqOrtSuhuIhLe.0jO4u1rufBCWsQX3MCsr6gIpYF.u77i.B6TcNlWlAcKpE4CGovgYcVoj41cB2uVq1.x16LV4GcTVgaUy0d+uM1+eEhOJdlvwWteL1ZOXDuS9bfw5kkec73EK.taK.ON9x+3yylQxuoKcB0sSYNi.6EhupLeN9dAGvpqTfz2siW19PCx88xdFXNnxBB+C9o13.ubTswAqMRxYbi907pYL+53uLnAwjJ7RTa7IQTlNfDl6v3h62qOIGeY30bt+3+XbTY+w7cGPLe+ADyoGPL+vADySNfXd5ADyy9jw3eT9mJc57pwATwrwgkQQQiULryJzER9WgsSdHC
-
@d-healey have you cleared the error?