About Expansions
-
There's documentation on expansions, but nothing about 'full instrument' expansions - how they work, whether you can load multiple at a time, how that works with saving parameters (as in when the project in the DAW is saved)
Do they just override everything already present, or load in a new container, or what? Somewhere on D. Healey's channel I read he planned on releasing a video about this, but that doesn't seem to have happened yet.
-
A full expansion is an entire separate HISE project. So your plugin will just be a shell that loads expansions and when you load the expansion the plugin will effectively become the other project.
It's useful if your expansions are more than just different presets and samples.
I posted demo project in another thread.
whether you can load multiple at a time,
No, in that sense it's no different than any other expansion.
-
@d-healey
'no different than any other expansion'
The documentation on expansions implies otherwise - what's the deal with that?
It explicitly states multiple can be loaded, but there is the concept of an 'active expansion'. -
The documentation on expansions implies otherwise - what's the deal with that?
Interesting, link please
-
@d-healey
https://docs.hise.audio/working-with-hise/project-management/expansions/index.html#features
Under 'active expansion'
It's the first result after searching 'expansion' in the documentation -
@HISEuser Ah I understand now. You can use the scripting API to access files in non-loaded expansions. I can't see that being useful with full expansions because if you are using them they are probably unrelated to each other, but with regular expansions it could be quite fun to mix/match sample maps and stuff.
-
@d-healey
This begs the question whether full expansions can have smaller sub-expansions. -
@HISEuser no. The expansion system isn‘t capable of nesting expansions at the moment.
-
@Christoph-Hart said in About Expansions:
at the moment.
-
Just had another thought - if a full expansion essentially replaces everything else going on in the project, how do you 'reset' things? For example, if you want to load a different expansion?
-
You can unload the expansion
-
@d-healey
I'm afraid that doesn't exactly clear up my confusion - is that from within the full extension or from the plugin hosting the extension? As in, does the extension have to have the feature to unload itself with a button, or does the plugin have to provide that?My understanding so far is that it overrides EVERYTHING that was originally in the project.
-
is that from within the full extension
Yeah. So you'd add a button inside your expansion project that takes you back to the shell project.
-
@d-healey
Interesting. Is there no way to access data from the extension's host? -
Is there no way to access data from the extension's host?
You could use the FileSystem API.
Here's an example of unloading an expansion.
-
Is there no way to access data from the extension's host?
Yes. Once you've loaded a full instrument expansion, it will "forget" that it's an expansion an acts like a "native" HISE project with the only addition of being able to unload itself.