HISE Logo Forum
    • Categories
    • Register
    • Login

    Calling multiple functions with delay on a Knob's Callback

    Scheduled Pinned Locked Moved General Questions
    33 Posts 9 Posters 2.1k 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 @Christoph Hart
      last edited by

      I've pushed an experimental build flag that might help with the issue. Please pull HISE and export your plugin with the HI_DONT_SEND_ATTRIBUTE_UPDATES flag set in your Extradefinitions. This should deactivate the internal messaging and hopefully fix the crash. Let me know if that helped.

      resonantR ? 3 Replies Last reply Reply Quote 3
      • resonantR
        resonant @Christoph Hart
        last edited by resonant

        @Christoph-Hart Thank you for the update.

        Unfortunately, this update is not a solution for the crash. The plugin seems a little bit relaxed but the crash still happens.

        I sent you a minimal project of this FX plugin privately.

        We tried this crash problem on different users and different computers. My advice to replicate the problem there is if possible, on Windows in Cubase 9/10/11 or Studio One 5/6 create 3 individual DAW projects (Using this FX plugin on the channels of a real song project will give a much more realistic result):

        • 3 plugins
        • 8 plugins
        • 20 plugins

        Some computers crash at 3 plugins, some at 20.

        I also discovered that, if I insert only a ShapeFX module at the begining of the project (no setAttribute or parameter usage for this module), it reduces the crash because the loading time increases and this prevent crash. But the plugin seems still unstable.

        I think the real cause of the crash is all of the parameter settings, UI elements...etc. are being called simultaneously at the same time on DAW project loadings. A little bit delayed calls can solve this issue.

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

          @resonant So the issue doesn't happen in a single plugin instance but when multiple are used?

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

          resonantR 1 Reply Last reply Reply Quote 0
          • resonantR
            resonant @d.healey
            last edited by

            @d-healey said in Calling multiple functions with delay on a Knob's Callback:

            @resonant So the issue doesn't happen in a single plugin instance but when multiple are used?

            Yes exactly.

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

              @resonant Are you doing realtime stuff in the UI thread?

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

              1 Reply Last reply Reply Quote 0
              • resonantR
                resonant @Christoph Hart
                last edited by

                @Christoph-Hart Any progress for this issue?

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

                  No, I need to test this. Can you give me a list of all host / OS combinations. I know Cubase is very critical when it comes to UI CPU pressure but I can‘t est on Cubase at the moment.

                  resonantR 1 Reply Last reply Reply Quote 1
                  • resonantR
                    resonant @Christoph Hart
                    last edited by

                    @Christoph-Hart I understand. We've tested on 11 different Windows 10 machines.

                    • 8 crashes are coming from Cubase version 9 or 10 or 11 unfortunately.
                    • 2 crashes from Studio One 5 and 6.
                    • 1 crash from Reaper 6.

                    For other DAWs and macOS, no known crashes for now. But I can definitely say that, if the plugin works in Cubase, it will work on everywhere.

                    For the NFR License, as a Developer you can write to Steinberg and ask from them, they are giving NFR Licenses to the Developers for free. If you get version 11, you can rest assured because you will reproduce the issue in there.

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

                      @resonant yeah I wrote them for an NFR but never heard back, then I stopped caring.

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

                        @Christoph-Hart Have you used up your free trial?

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

                        1 Reply Last reply Reply Quote 0
                        • orangeO
                          orange @Christoph Hart
                          last edited by

                          @Christoph-Hart said in Calling multiple functions with delay on a Knob's Callback:

                          @resonant yeah I wrote them for an NFR but never heard back, then I stopped caring.

                          They have changed their NFR License section lately. The new system is very cool and easy to use/update, their response is now quick. Maybe giving a one more shot would be useful.

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          DanHD 1 Reply Last reply Reply Quote 0
                          • DanHD
                            DanH @orange
                            last edited by

                            @orange is there a form we can fill out or specific email to contact? Or just their info@ one?

                            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                            https://dhplugins.com/ | https://dcbreaks.com/
                            London, UK

                            orangeO 1 Reply Last reply Reply Quote 0
                            • orangeO
                              orange @DanH
                              last edited by

                              @DanH Just using the website support ticket system worked here.

                              develop Branch / XCode 13.1
                              macOS Monterey / M1 Max

                              1 Reply Last reply Reply Quote 1
                              • resonantR
                                resonant
                                last edited by

                                Still no luck :/

                                If there is no fix for this for now, what can we do as an alternative shortcut hack?

                                ulrikU 1 Reply Last reply Reply Quote 0
                                • ulrikU
                                  ulrik @resonant
                                  last edited by

                                  @resonant based on the snippet from @Christoph-Hart , this will make sure all functions will be executed, and in the right order, even if you touch the knob.

                                  You say you have a lot of knobs and functions to be executed, so maybe this is not an alternative for your project but anyway, here's my go for it...

                                  HiseSnippet 1989.3oc2YEzaabbEdWIsIZYpSsCRZSuMPnnfxQldWRI6DXTPZKIlJDKKJQV6Vf.XOZ4PwAd4LLyNqbTb8sBzCEEEE8Tt0+AsGaQOT+CHG5k1yAEEEH8TO1So8MytK2YEonnURbjCuHMu48dy27du48dyrsD7.RTDWXY614ngDK6ukS6iXx9q2GSYVasgk8kbDwLTMTuXVfjxYQV25ng3nHRWKa64eWEa1tKXo+8epeKbHlEPxIYYcWNMfba5.pLmZqFuGMLrItKoCcfA2q1Xq.NacdHOFfz7NdVCwAODe.4NXEay4XY+Ra1kJ4h1RrjDYYuvs3cOpce9iXI7eWZDc+PhZfuUaPQIjaxC6pPrhp058ogcaks0irrrcZkaHlOwP75NaS6RGQO2fbQ8DnbILsG1yUDdyW.d9lvyy.dS.R1FPZgDHcIm1AB5PY9LJ77JNawjDQOLX1MgRBuVy8.Wm04.GLYkA3GRZJfAijnbMOuUPU87V9FkJAl9HI5Pr.0BKvatK5GhzACUNfH2rWORfr7RIyrDvdN2soCFFRTgBDwjjwb9hRtG4PhXeh.LVSRPioWpH.eOFeeeUrinEKDDMaGBBuNevPNCFTdoBbo0ffb.pcma1YSPFuaTp.CUhHR8+uNNLbeHtqbVLe4kK83RtzdnxoxBBubIWflqlkNOhWFztqalp8UCj8oQUhjXQhVKulxH69jRtkbIgQDS46KHjhZvSMnH75hk3Jzn8hYLJ6.fmXVWROvn10X03CSVrjk5ISvpMcqk1JQYgfZGcjGwY54ThI3gkCxjYEPqgwjQVGZzFI.p7zP9xfoyUPjwB1MlfwXGVpo3XNmbCYMukmAqiTDSRr2W8xvp3WA0jJhjgGgTIzxWpRtUqf5zmvPOBSkndbAplGZPDBy5lyp1EWxs1wYcsIvZh2DVyKe0ROALmS0bqh5RMrih6JZuUdjw8IFafGCKUHO.GhnPDwGdef58Um1.iPxw0J2B.3N85AKE5xHezakQWw0MJJrF8SS7ZiIdI2zw.C2TJEz8ikjxEwxJH+ZUtFHtdmoLE2UE5TdYkq7jEOGMqfthuWk2YhZ.PfQphh5wbh837AsoeDYEDno0PWA9S0S.RkbAqeDOjTYnfpbWiL75iHO4DcIIAJOdbORSA4CNcOhhqI5Qlh30FS7SyinXC7Hddfj9P1+yneIQMqAxeEzpmfV.rXl+unxJLy8nck8yP0Zdeg7zafGLDRC.Zqhm1Ou1yret5RpkaJN5ji4JW8LtASBiU6tpUpcRauwCb18ziZ1chgL6d5wK6NCAK6laEqs5YLRQoC899Y2OTK87lQ0n6vkjcRqJCSgN9T85Mw4RymFpJONgoSKbdxBVlEO.huLq5oXD5OqXSeNmbSel8jFjTVvfQNaKFUtyPB6j5T0JsVhpAwTTArJ0sG9posG1Nj1kHrnPWfuri1VaoAbZa1n2+W+uqa8i2ZCnfYlZ.MBqxPhPRUa.6MHGBMsmz0oqyFjnGBMV.8eOp7ErmO0E8Cy6quSiixGbmFVF54kSzyEx5sEyHgZ07scJTf2TcVVGYN3QpDG4D9oM5SnGzWZR4vLWf87Vi2XMzROuabHVVrOe040zIf3fBMWqZflEQkGYd4muzZ9eVg3kbZQkA8mLFmaBXD72eUfwzqLcAmjF2yA3BNM+IeEc+n4MV+uWVj55whCIa9A50dQmjjREV+6DOnIMDt7i5XpsxpnxL5YZgTD7SI7ze9ed6FJBUKdIWV2ZGmvp4DtnVj0xzg729CzDt1HNP+FMgqmww0+u+KsNd6iqz243J0OCpe5u+p+s+hlRFVevuh9yR3YLv5OFZ8GCt9Y38AW7MW5oZJ4.1hjvSFh+ce7GuXBkwfreAL2rYmMYXvil38mel899SO3aOdrDpuuMFJ1.IFb.+ZadrHf.wdLHCh18NmJeYxXO0XEjZSztaG6+G7KcRe0X6zI8ylzL.ewQONxn545XrW0wr.+I8xHOX8e4mWeCRHtvIw6UHq0e.2XBucxVLnkFYKdHVb7yweYYJsWXlS1nuTv45Dhuli1LedGjZW+4aPdQH64WWN6myGtSe4yryxIWiPaDtfiwcJJXAxtIYVOU+huymUO8NGY1j89i+i52iHuMngvrDA8582qug3HSZO8S9j+YcybAPt0OqNbyJxGQ.yOIm5ep9Kr4OeiDS7q3bO7gD8y7osuugdbOtX.5cILkUlK7mx6K+Wm02Wd3L+9x6DHAHzQfYQC4QDeSMer4pZN2FDYLqH6IjJvkZ60D1dF7sXiLhUMIBm1JnLXbAMsM0n+2OsdRQ01DX2zcmn.XyprclGGaEGFQzwU9lBlStpI4eDVzE7KASqDyByVz1o7T6uz4tmZ+EfKDT3qA3lgwj7UaB8HDB2caTAvd33PYF0hGm1ly3C6yYzBN58HPVfCNfTH9YhaH3x83fGlS40arGIjfiLNh88abanWHrvH20ypsv+Y9KiLQ+0a5j.WjJG.5E2KxM+2nuH2re5CRAd91K9ccfTwUQZWI5qGe4yi55OOViA3.A+9AIuvk5P+hZJv9lo+RvtNaqFiF8zVNNdU7rF.kKtePfJd8JP0mIKS0yfL0NCxr5YPl0NCxbsyfLW+LHyaOUYTUpuYrjOHIlGHzZS8SLZaa7B.V+ev4RidQ
                                  

                                  Hise Develop branch
                                  MacOs 15.3.1, Xcode 16.2
                                  http://musikboden.se

                                  resonantR 1 Reply Last reply Reply Quote 2
                                  • resonantR
                                    resonant @ulrik
                                    last edited by resonant

                                    @ulrik Thank you for the suggestion.

                                    Maybe there are other methods instead of delaying functions to prevent multi instance crash.

                                    orangeO 1 Reply Last reply Reply Quote 0
                                    • orangeO
                                      orange @resonant
                                      last edited by orange

                                      @resonant said in Calling multiple functions with delay on a Knob's Callback:

                                      Maybe there are other methods instead of delaying functions to prevent multi instance crash.

                                      I've been seeing this issue for a while. I've made a few suggestions here for this problem: https://forum.hise.audio/topic/3677/multi-instance-daw-crash-issue-guide?_=1680361788380

                                      Apart from these, my suggestion is: if you are using more than one setAttribute calls at the same time and if you are sure exactly where the crash comes from the code (it's generally where you used multiple setAttribute methods mostly or on the Oversampling function), it may sound a bit silly, but I recommend placing setBypassed between the setAttribute lines :) For example for a Simple Gain or Curve EQ module.

                                      I discovered that adding setBypassed interestingly reduces bottlenecks caused by multiple setAttribute lines. Especially watch out the Oversampling functions. It's worth a try.

                                      BTW, assigning setBypassed to a Knob will cause errors while turning the knob. But you can assign it to a Button, or ComboBox.

                                      develop Branch / XCode 13.1
                                      macOS Monterey / M1 Max

                                      resonantR 2 Replies Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey
                                        last edited by

                                        Can you reduce the number of setAttribute calls by connecting through processor/parameter id instead?

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

                                        resonantR 1 Reply Last reply Reply Quote 0
                                        • resonantR
                                          resonant @orange
                                          last edited by

                                          @orange said in Calling multiple functions with delay on a Knob's Callback:

                                          @resonant said in Calling multiple functions with delay on a Knob's Callback:

                                          I discovered that adding setBypassed interestingly reduces bottlenecks caused by multiple setAttribute lines. Especially watch out the Oversampling functions. It's worth a try.

                                          I'll try this, Thanks!

                                          1 Reply Last reply Reply Quote 0
                                          • resonantR
                                            resonant @d.healey
                                            last edited by

                                            @d-healey said in Calling multiple functions with delay on a Knob's Callback:

                                            Can you reduce the number of setAttribute calls by connecting through processor/parameter id instead?

                                            Unfortunately not. Because in this project, I use multiple modulations with one knob.

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

                                            26

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.3k

                                            Posts