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.
    • 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
                                          • Casey KolbC
                                            Casey Kolb @d.healey
                                            last edited by Casey Kolb

                                            @d-healey I'm not using Engine.showErrorMessage so I think it's a slightly different issue. I can't get the setErrorCallback function to trigger with simulateErrorEvent or an actual illegal buffer size in the DAW.

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

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

                                            22

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts