Expansions and executable HiseScript in AdditionalSourceCode folder
-
@Lindon Yes you won't be able to do that with full instrument expansions.
-
@David-Healey well there's a design discussion on going so I may very well be back to talking to you about this soon... but thanks so far.
-
@David-Healey - Ok so heres a curve ball question.......
I use expansions, and I allow any voice in any expansion to be loaded into my "instrument" (which is NOT a Full expansion its just a plain old (huh) thing)....
I do this using the {EXP} token in the sampler load ....
now.....
What if I build an instrument that does this, but then I save, set up and load it as a Full Expansion.... will it load any and all sound that I know about (via some other meta data process) ????
-
@Lindon I suspect it won't work, but try it and let us know.
-
@David-Healey yeah it'd be a lot of dev work, maybe if theres time at the end...
-
@Lindon nope won't work.
Use regular expansions, make a map of all features / articulations you want, then embed a metadata system where you load the files as JSON from each expansion, then adapt the UI to show what you need.
The Full expansion mode is used if you actually want to make a company wide sample playback engine that can be fed with any product, but you loose the ability of loading content from multiple expansion (=each full instrument expansion is a closed off container, you just gain the advantage of not supplying one binary per expansion).
-
@Christoph-Hart said in Expansions and executable HiseScript in AdditionalSourceCode folder:
@Lindon nope won't work.
Use regular expansions, make a map of all features / articulations you want, then embed a metadata system where you load the files as JSON from each expansion, then adapt the UI to show what you need.
The Full expansion mode is used if you actually want to make a company wide sample playback engine that can be fed with any product, but you loose the ability of loading content from multiple expansion (=each full instrument expansion is a closed off container, you just gain the advantage of not supplying one binary per expansion).
thanks _ I wont bring it up then. The customer wants a Library browser - down one side of the UI and to be able to load any Instrument(from a set in a Library). Each instrument will have different back-end configuration of samplers and UI widgets and functionality - so, as you suggested, there are only 2 ways to do this:
- build the most complex back end module structure, put ever possible widget and function into the product and load samples as required then use some JSON to say what happens in this particular instrument...its deeply ugly, expensive in effort and requires everyone to know on day 1, what every possible instrumetn they ever ship will be doing
- Use Full Instrument Expansions and build whats needed when and where its needed.
Frankly what's disappointing me now is that Full Instrument expansions "steal" the entire UI, so if I want some Instrument management area, then I will have to duplicate it in every Full Expansion....so users can move from one expansion to another without going back thru the base player interface. This assumes I can call ExpansionHandler.getExpansion(var name) from within a Full Expansion....yes?
-
@Lindon Can't you use the built-in preset browser?
I added expansion management controls to the expansion column recently.

-
@David-Healey not what they want, they want it to look at least familiar for Kontakt Player users...so it has to be available at all times.
-
@Lindon This could be. You could just have a single column off to the side
-
@Lindon I‘m pretty sure you can load another full instrument expansion without going back to the vanilla state, and a common shared left tab is not the hardest thing to implement - just make sure that code is self contained then ship the script files to each instrument using the asset manager.
-
@Christoph-Hart Yes you can call
setCurrentExpansionto change it. -
@David-Healey said in Expansions and executable HiseScript in AdditionalSourceCode folder:
@Lindon This could be. You could just have a single column off to the side
nope I mean this:

cant see how I can get the std preset browser to do this open/close - list instruments in a library approach, as well as all the single and dbl click functionality they want as well as search....
If you can see how to do it please let me know.
-
@Christoph-Hart said in Expansions and executable HiseScript in AdditionalSourceCode folder:
@Lindon I‘m pretty sure you can load another full instrument expansion without going back to the vanilla state, and a common shared left tab is not the hardest thing to implement - just make sure that code is self contained then ship the script files to each instrument using the asset manager.
Yes this is my current plan...just sad I have to do it at all...
-
@Lindon said in Expansions and executable HiseScript in AdditionalSourceCode folder:
just sad I have to do it at all.
It's very little extra work to include it in each project - if you use the new asset manager or the global script folder it's just a single line of code added to each project.
And charge accordingly :D
-
@David-Healey said in Expansions and executable HiseScript in AdditionalSourceCode folder:
@Lindon said in Expansions and executable HiseScript in AdditionalSourceCode folder:
just sad I have to do it at all.
It's very little extra work to include it in each project - if you use the new asset manager or the global script folder it's just a single line of code added to each project.
And charge accordingly :D
..and as soon as the modulator bug is fixed and I can get on the latest release, then I can start to use this approach, until then...........
-
@Lindon said in Expansions and executable HiseScript in AdditionalSourceCode folder:
until then...........
Global script folder
-
@David-Healey said in Expansions and executable HiseScript in AdditionalSourceCode folder:
@Lindon said in Expansions and executable HiseScript in AdditionalSourceCode folder:
until then...........
Global script folder
yes....