Expansion Best Practices
-
Probably should have asked this a year ago when I first set up the expansion system, is it possible to make the expansions all-inclusive? As in, additional NoteOn/Off, GUI elements, parameters etc be part of the expansion download, not the primary plugin?
I hate having to "prepare" NEAT Player for future expansions and push an update that adds functionality without any actual updates to NEAT Player itself.
-
There is a FullInstrument expansion mode which basically allows you to ship a complete HISE project as an expansion (minus the stuff that gets compiled) and load it from a generic shell plugin.
I think David is using this function since some time so he might give you more input for actual best practices at using it.
-
@Christoph-Hart Right I forgot all about that setting. I'll look into it
@d-healey Do you have any insights on FullInstrument mode? :)
-
@iamlamprey Sure, I'll send you a PM
-
@Christoph-Hart Is FullInstrument mode production-ready yet? I'm getting some pretty reliable crashes but I'm on an older (pre-faust) commit
-
Side note: is there a method for adding additional NoteOn/NoteOff functionality from the expansion's Additional Source Code folder? I likely don't need FullInstrument expansions if I can just make the NoteOn/Off override the base instrument in a modular way.
Edit: okay I think I can just use the JSON method for images, showing/hiding GUI & setting up the samplers :) go JSON!
-
Is this safe to use in the expansion loading callback?
if (manifest.usesAdditionalGUIControls) //manifest is a json file loaded when the expansion changes { local component_string = manifest.additionalGUIControlsIndex; //string with the exact name of the UI component Content.getComponent(component_string).set("visible", 1); }
-
you might want to check if the component exists or the
component_string
is empty to avoid a script error, but apart from the sanity checks it's perfectly safe to do this.It's rather a question of architectural design, if you have hundreds of UI elements that are lurking in the shadows waiting for their moment to shine, it might be better to use the FullInstrument expansion mode and work around the glitches (or report them).
-
@Christoph-Hart Yeh I already have safety checks in place I just didn't paste them above. Cheers!