Full Expansions again....MASSIVE problems.....Warning swearing in the message....
-
@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
-
@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.
-
@dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
@Lindon Is
Engine.setCurrentExpansionuseful 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...
-
@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.
-
@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...
-
@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.
-
@dannytaurus well good or not..it works....
-
@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.
-
@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...
-
I've made a minimal project which confirms the issue you've described.
This might be a clue

I'm seeing if I can find a solution.
-
@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.