Forum
    • Categories
    • Register
    • Login

    Full Expansions again....MASSIVE problems.....Warning swearing in the message....

    Scheduled Pinned Locked Moved General Questions
    22 Posts 4 Posters 70 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.
    • LindonL
      Lindon @dannytaurus
      last edited by

      @dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:

      Load exp1: pointer overload sees currentExpansion == nullptr, snapshots the base as default. Correct. exp1 loads.
      Load exp2 directly: name overload does currentExpansion = nullptr; without notifying, so the chain is still exp1's content. It then calls the
      pointer overload, which now sees nullptr and calls setNewDefault(...) snapshotting the current chain = exp1. The saved "base default" is now silently overwritten with exp1's preset. exp2 loads.
      Unload exp2 (setCurrentExpansion("")): DefaultHandler restores defaultPreset, which is now exp1's tree — but exp1 is no longer the active expansion, so its sample/resource references resolve against the wrong (or no) expansion. Result: the corrupted "nothing loaded, nothing working" UI.

      Almost exactly this yes.....

      HISE Development for hire.
      www.channelrobot.com

      dannytaurusD 1 Reply Last reply Reply Quote 0
      • dannytaurusD
        dannytaurus @Lindon
        last edited by

        @Lindon Maybe you need the real bug fix in HISE then, rather than the manual unload/load steps in your scripts.

        Meat Beats: https://meatbeats.com
        Klippr Video: https://klippr.video

        1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @HISEnberg
          last edited by

          @HISEnberg said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:

          @Lindon Given that Rhapsody uses it (and I see some people posting issues with it actually, is this the same issue?), would david's system be an option for you here?

          I think Rhapsody only lets you load an expansion and then return to the player to load the next one, so the stack doesnt get corrupted

          HISE Development for hire.
          www.channelrobot.com

          dannytaurusD David HealeyD 2 Replies Last reply Reply Quote 0
          • dannytaurusD
            dannytaurus @Lindon
            last edited by

            @Lindon From David's recent discussion about an unload/back button, I think you're right.

            However, my expansion-based project will need to work like yours - freely swapping expansions from a visible grid/list of available ones.

            Meat Beats: https://meatbeats.com
            Klippr Video: https://klippr.video

            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @dannytaurus
              last edited by

              @dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:

              @Lindon Is Engine.setCurrentExpansion useful here? What's the difference? 🤔

              https://docs.hise.dev/scripting/scripting-api/engine/index.html#setcurrentexpansion

              I have no idea what the difference is between Engine and ExpansionHandler versions of this call...

              HISE Development for hire.
              www.channelrobot.com

              dannytaurusD 1 Reply Last reply Reply Quote 0
              • dannytaurusD
                dannytaurus @Lindon
                last edited by

                @Lindon I asked Claude, it says they both eventually call the same function but the Engine version is just a convenience where you don't have to created an ExpansionHandler first to load. You can just load with a String.

                Meat Beats: https://meatbeats.com
                Klippr Video: https://klippr.video

                1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @dannytaurus
                  last edited by

                  @dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:

                  @Lindon From David's recent discussion about an unload/back button, I think you're right.

                  However, my expansion-based project will need to work like yours - freely swapping expansions from a visible grid/list of available ones.

                  So working on a work around ---- where I use a file to Request the load of an expansion:

                  The player checks the request file every time it loads....if the request == NONE it just sets itself up as nomal... but if it == anything else - it loads the requested expansion...

                  So the expansions themselves now no longer load other expansions, they just make a request and unload themselves...back to the Player who handles the load of the new expansion...

                  its not great, in fact its a cludge, and Im about 20% of the way thru building it...

                  HISE Development for hire.
                  www.channelrobot.com

                  dannytaurusD 1 Reply Last reply Reply Quote 0
                  • dannytaurusD
                    dannytaurus @Lindon
                    last edited by

                    @Lindon said:

                    So the expansions themselves now no longer load other expansions,
                    its not great, in fact its a cludge,

                    I would say this is a good thing. Feels to me like the player should always handle expansion loading and unloading, not the expansions themselves.

                    Meat Beats: https://meatbeats.com
                    Klippr Video: https://klippr.video

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @dannytaurus
                      last edited by

                      @dannytaurus well good or not..it works....

                      HISE Development for hire.
                      www.channelrobot.com

                      1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @Lindon
                        last edited by

                        @Lindon said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:

                        I think Rhapsody only lets you load an expansion and then return to the player to load the next one, so the stack doesnt get corrupted

                        Correct. I believe this is how Christoph intended it to be used originally - I think he posted an example somewhere years ago that I was building off.

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @David Healey
                          last edited by

                          @David-Healey yeah I'm sure that was the original intent, but if we all could be bothered to look back at my previous post about how I really didn't like expansions taking the full interface he pretty explicitly say it should be easy to build a "loader" widget and copy it into all the expansions, so I think I'm on safe ground here assuming that the loader should work as outlined above...

                          HISE Development for hire.
                          www.channelrobot.com

                          David HealeyD 2 Replies Last reply Reply Quote 0
                          • David HealeyD
                            David Healey @Lindon
                            last edited by David Healey

                            @Lindon

                            I've made a minimal project which confirms the issue you've described.

                            FullExpansionsTest.zip

                            This might be a clue

                            75bd0f57-7503-4aa4-be8e-88b785a9773f-image.png

                            I'm seeing if I can find a solution.

                            Free HISE Bootcamp Full Course for beginners.
                            YouTube Channel - Public HISE tutorials
                            My Patreon - HISE tutorials

                            1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @Lindon
                              last edited by

                              @Lindon Here's the fix, just two lines need changing:

                              https://github.com/christophhart/HISE/pull/983

                              It is related the default state being saved when loading the first expansion.

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

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

                              21

                              Online

                              2.4k

                              Users

                              13.8k

                              Topics

                              119.8k

                              Posts