HISE Logo Forum
    • Categories
    • Register
    • Login

    More than Two Plugin Instances Just Stop Running

    Scheduled Pinned Locked Moved Solved Scripting
    10 Posts 4 Posters 502 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.
    • clevername27C
      clevername27
      last edited by clevername27

      This is bizarre.

      • If I place two instances of my plugin in a DAW, and recall the document, everything loads up.

      • But if I add a third instance, then when I next load the DAW document, then last plugin instance doesn't work.

      • If I keep adding instances, whenever I reload the document, only the last two instances work.

      The other thing is how they don't work — none of my error messages fire — and they cover pretty much everything.

      All I can see is that, at some point, functions stop getting called in the plugin while it loads.

      Is there a way for me to see the console output when a plugin is hosted?

      Any ideas? Thank you.


      EDIT: Solved. It was indeed just stopping. The plugin was timing out. Apparently, as instances increases, the preset loading speed decrease. Which makes…no sense, lol. It's just HISE's default preset manager, and there's only six components saved. But solve well enough.

      d.healeyD A 2 Replies Last reply Reply Quote 0
      • d.healeyD
        d.healey @clevername27
        last edited by

        @clevername27 said in More than Two Plugin Instances Just Stop Running:

        Is there a way for me to see the console output when a plugin is hosted?

        You can run the DAW in Visual Studio's debugger (you also need to be using a debug build of your plugin). I've only tested this with Reaper.

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

        clevername27C 1 Reply Last reply Reply Quote 1
        • clevername27C
          clevername27 @d.healey
          last edited by

          @d-healey Cool - thank you. Do you have a video on that?

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

            @clevername27 said in More than Two Plugin Instances Just Stop Running:

            Do you have a video on that?

            Not mine - https://www.youtube.com/watch?v=aPMTYlMpbj0

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

            clevername27C 1 Reply Last reply Reply Quote 1
            • clevername27C
              clevername27 @d.healey
              last edited by

              @d-healey Rule 35: If there's a question about HISE, Dave knows of a video.

              1 Reply Last reply Reply Quote 0
              • clevername27C clevername27 marked this topic as a question on
              • clevername27C clevername27 has marked this topic as solved on
              • A
                aaronventure @clevername27
                last edited by

                @clevername27 said in More than Two Plugin Instances Just Stop Running:

                The plugin was timing out. Apparently, as instances increases, the preset loading speed decrease. Which makes…no sense, lol. It's just HISE's default preset manager, and there's only six components saved. But solve well enough.

                This is bizarre indeed. What do you mean by timing out? The "compile" timeout of 5 seconds?

                Christoph HartC clevername27C 2 Replies Last reply Reply Quote 1
                • Christoph HartC
                  Christoph Hart @aaronventure
                  last edited by

                  The only thing that can decrease the performance of multiple instances is if you have lots of JUCE timer callbacks as they share a thread across instances but most script timers are trying to workaround that issue.

                  1 Reply Last reply Reply Quote 1
                  • clevername27C
                    clevername27 @aaronventure
                    last edited by clevername27

                    Thanks for your responses. It all makes sense now.

                    @aaronventure I assume it was timing out during execution because none of my error-handling fired (and Alan Turing was no help). The plugin didn't crash - the chain of function calls during my init process just seemed to stop.

                    @Christoph-Hart Like running 17 timer-based animations (one for each plugin instance) as the DAW loads a project?

                    I run a panel animation on a timer when my plugin initialises. Any instances beyond two would stop. So, I inserted a timer at the beginning of the preset post-loading callback,— before running the timer-based animation. And that worked. At 512ms, four instances of the plugin finished initialising. At 1024ms, 10 instances. At 4096ms, all 17 instances initialised.

                    Now, you may be asking, why would a developer run an animation when a plugin starts up, considering that no one can see it? You can read any book on human interface design. Look it up. You won't find it there, because it's not true. But you can look it up. The point is, I should remove the pointless animations.

                    A 1 Reply Last reply Reply Quote 1
                    • A
                      aaronventure @clevername27
                      last edited by

                      @clevername27 said in More than Two Plugin Instances Just Stop Running:

                      The point is, I should remove the pointless animations.

                      If you want a welcome screen, you can tie to a hidden panel which you then switch to value 1 and save in preset. So your animation checks if the panel is 0, which it should be on the very first run. Any subsequent loadings of the plugin will have the value stored as 1 so the animation won't run.

                      You may have a tiny bit of trouble working with that in HISE: you'll have to gate the the timer starting with a check Engine.isHise == false and make sure the panel is set to 0 when you're exporting.

                      clevername27C 1 Reply Last reply Reply Quote 1
                      • clevername27C
                        clevername27 @aaronventure
                        last edited by

                        @aaronventure Thank you, good sir.

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

                        58

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.1k

                        Posts