HISE Logo Forum
    • Categories
    • Register
    • Login

    HISE Compatibility with Windows 11 and Cubase 12

    Scheduled Pinned Locked Moved General Questions
    97 Posts 7 Posters 8.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Christoph HartC
      Christoph Hart @Casey Kolb
      last edited by

      @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.

      Casey KolbC 1 Reply Last reply Reply Quote 0
      • Casey KolbC
        Casey Kolb @Christoph Hart
        last edited by

        @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
        Founder & CEO of Lunacy Audio
        Composer | Producer | Software Developer

        Christoph HartC 1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @Casey Kolb
          last edited by

          @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.

          Casey KolbC 3 Replies Last reply Reply Quote 2
          • Casey KolbC
            Casey Kolb @Christoph Hart
            last edited by

            @Christoph-Hart Noted.

            Casey Kolb
            Founder & CEO of Lunacy Audio
            Composer | Producer | Software Developer

            1 Reply Last reply Reply Quote 0
            • Casey KolbC
              Casey Kolb @Christoph Hart
              last edited by

              @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
              Founder & CEO of Lunacy Audio
              Composer | Producer | Software Developer

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @Casey Kolb
                last edited by

                @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:

                Link Preview Image
                HISE | Docs

                favicon

                (docs.hise.audio)

                Casey KolbC 1 Reply Last reply Reply Quote 1
                • Casey KolbC
                  Casey Kolb @Christoph Hart
                  last edited by Casey Kolb

                  @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
                  Founder & CEO of Lunacy Audio
                  Composer | Producer | Software Developer

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @Casey Kolb
                    last edited by

                    @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.

                    d.healeyD 2 Replies Last reply Reply Quote 3
                    • d.healeyD
                      d.healey @Christoph Hart
                      last edited by

                      @Christoph-Hart That looks like a good solution!

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Christoph Hart
                        last edited by

                        @Christoph-Hart

                        Engine.setErrorCallback(function(message, isCritical)

                        This isn't in the API yet is it?

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        Christoph HartC 1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @d.healey
                          last edited by

                          @d-healey Now it is:

                          Link Preview Image
                          HISE | Docs

                          favicon

                          (docs.hise.audio)

                          d.healeyD 1 Reply Last reply Reply Quote 2
                          • d.healeyD
                            d.healey @Christoph Hart
                            last edited by

                            @Christoph-Hart Excellent!

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey
                              last edited by

                              Does Engine.showErrorMessage() trigger the callback too?

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              Christoph HartC 1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart @d.healey
                                last edited by

                                @d-healey sure.

                                d.healeyD 1 Reply Last reply Reply Quote 1
                                • d.healeyD
                                  d.healey @Christoph Hart
                                  last edited by

                                  @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
                                  

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  Christoph HartC 1 Reply Last reply Reply Quote 0
                                  • Christoph HartC
                                    Christoph Hart @d.healey
                                    last edited by

                                    @d-healey have you cleared the error?

                                    d.healeyD 1 Reply Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey @Christoph Hart
                                      last edited by

                                      @Christoph-Hart In that snippet I'm not but I did try that inside both the button callback and the error callback.

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey
                                        last edited by

                                        Bumpy bump

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        Casey KolbC 1 Reply Last reply Reply Quote 1
                                        • Casey KolbC
                                          Casey Kolb @d.healey
                                          last edited by

                                          @d-healey @Christoph-Hart I haven't managed to get this to work yet even with a simple example. For some reason the error callback isn't being triggered in the compiled plugin or with the simulateErrorEvent function. Am I doing something wrong here?

                                          const var errorHandler = Engine.createErrorHandler();
                                          const var stateLabel = Content.getComponent("critical_Error_State");
                                          const var messageLabel = Content.getComponent("critical_Error_Message");
                                          const var errorModal = Content.getComponent("critical_Error_Modal");
                                          
                                          errorModal.showControl(false);
                                          
                                          errorHandler.setErrorCallback(function(s, m) {
                                                  Console.print("Error"); // this never prints
                                          	if (s == errorHandler.IllegalBufferSize) {
                                          		showErrorModal("Illegal Buffer Size", "Please change your DAW's buffer size to a multiple of 8 (e.g. 32, 64, 128, 256, 512, 1024, 2048).");
                                          	}
                                          });
                                          
                                          inline function showErrorModal(state, message) {
                                          	stateLabel.set("text", state);
                                          	messageLabel.set("text", message);
                                          	errorModal.showControl(true);
                                          }
                                          
                                          errorHandler.simulateErrorEvent(errorHandler.IllegalBufferSize);
                                          

                                          Casey Kolb
                                          Founder & CEO of Lunacy Audio
                                          Composer | Producer | Software Developer

                                          d.healeyD 1 Reply Last reply Reply Quote 0
                                          • d.healeyD
                                            d.healey @Casey Kolb
                                            last edited by

                                            @Casey-Kolb Do you have the same problem I had in my snippet?

                                            Libre Wave - Freedom respecting instruments and effects
                                            My Patreon - HISE tutorials
                                            YouTube Channel - Public HISE tutorials

                                            Casey KolbC 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            29

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts