Expansion User Presets
-
@d-healey how i can get list of expansions? I tried something like this
const var Viewport1 = Content.getComponent("Viewport1"); var expList = Engine.getExpansionList(); Viewport1.set("items", expList.join("\n"));
It's not work for me, instead exp list im getting object code ;P
-
@arminh You need to loop through the result. I'll make a video about the expansion system for next month.
-
@d-healey im waiting for this tutorial! I made simply for loop and yes i had arr with 2 values - 0 and 1, but i don't know what do next. I better wait for your guide :D
-
@d-healey I joined your patreon and watched the expansions 101 video, everything worked as you showed it would - however I really like this 4 column layout you have in your player is there a snippet or video that shows how you did this ?
-
@Dalart There is no snippet, but don't worry, in the latest version of HISE scriptnode the 4th column is built into the preset browser - however the expansion system is currently broken so we need to wait for Christoph to fix it before it can be used.
-
@d-healey Ok, Thank You.
-
@Christoph-Hart any updates about expansions system? Im not even thinking about inbuilt installer but i would like to see update where plugin can store last used preset after daw restart.
-
@arminh said in Expansion User Presets:
but i would like to see update where plugin can store last used preset after daw restart.
What does this have to do with the Expansion system?
You mean if the user loads a certain user preset, then saves the DAW project and restores it, the actual sound of the user preset is being restored correctly, but not the user preset itself (in the preset browser or with
Engine.getUserPreset()
, yes? I can take a look at this, AFAIK I just need to store a reference to the currently loaded preset in the DAW chunk. -
@Christoph-Hart i must check tomorrow what exactly not works. In newest script node version i can't even create expansion folder because when i hit OK hise crashes.
-
@Christoph-Hart ok i tested it right now on older version. Now DAW not saving any state from plugin. I created simply plugin to handle expansions and sample maps.
I loaded plugin in DAW and selected sample map. I saved DAW project and reopen app. I loaded project and ... combo box with sample maps loaded first item and when i hit a note i hear nothing.
-
I'm a bit out of the loop, has expansions been fixed ?
-
@arminh You're mixing a few things. Loading sample maps, changing presets, and expansion are all separate.
We need to narrow down exactly what the problem is that you have found. Firstly you should test with the latest version of scriptnode branch, since that's the one Christoph will be working on and updating.
Expansions seem to be totally broken at the moment so don't worry about that for now.
Christoph has already mentioned that he'll fix the issue with presets not being recalled in the preset browser so we don't need to worry about that.
So the sample map issue is the only thing we need to work on at the moment. But first you need to test with the latest build.
@Dalart said in Expansion User Presets:
I'm a bit out of the loop, has expansions been fixed ?
Nope :(
-
@d-healey Ok, i'll try to keep an eye out for when it is. Thanks.
-
@d-healey said in Expansion User Presets:
But first you need to test with the latest build.
yeah, but latest build crashes when i trying create expansion folder. I guess you haven't checked the latest version?
I checked latest version and it's not working. I created manually folder for expansion but HISE don't recognize this as expansion. I even create expansion folder in older version a copy to new and still without success.
-
yeah, but latest build crashes when i trying create expansion folder. I guess you haven't checked the latest version?
Doesn't matter. Expansions aren't the problem. The problem you have is sample maps, so make a demo project that reproduces the sample maps issue without any reference to expansions or presets.
-
@d-healey the main issue I’ve seen with moving forward with the expansion system is the same issue of the combo box not saving the Expansion chosen for the user preset box to load the correct preset. The combo box resets itself on load. I thought we’ve talked about this before. The user when using the plugin needs to choose their expansion and use the presets. Save the project. And when reloaded by the user, the plugin goes to the expansion that was previously loaded.
Currently the combo box used to choose expansion resets itself when save in preset is checks resulting in the loop error I’m guessing. This fix would enable me to actually use the expansion system instead of the workaround mess I have currently.
-
I agree with you. User will not remember what sound he used in certain project.
-
@arminh said in Expansion User Presets:
loaded plugin in DAW and selected sample map. I saved DAW project and reopen app. I loaded project and ... combo box with sample maps loaded first item and when i hit a note i hear nothing.
This is the problem we are trying to solve (first), it has nothing to do with expansion or with presets. It's about his sample map not being loaded when he reopens the DAW. It might turn out that the problem goes away once we remove the expansion/preset element of the program in which case the above quoted problem is not the problem at all, but first we have to isolate the issue to check what is really causing it.
-
This is most likely a glitch because of the expansions or a user fault (wrongly scripted). Samplemaps will definitely restore when you load a DAW project, that's one of the most basic functions.
-
@Christoph-Hart ok so if you think it might be scirpt issue please check it and tell me is something wrong
Content.makeFrontInterface(600, 500); const var expansions = Engine.getExpansionList(); const var expansionNames = []; var sampleMaps; const var Sampler = Synth.getSampler("Sampler"); for (e in expansions){ var p = e.getProperties(); expansionNames.push(p.Name); } //cmbExpansions const var cmbExpansions = Content.getComponent("cmbExpansions"); cmbExpansions.set("items", expansionNames.join("\n")); inline function oncmbExpansionsControl(component, value) { Engine.setCurrentExpansion(component.getItemText()); sampleMaps = expansions[value-1].getSampleMapList(); cmbSampleMap.set("items", ""); cmbSampleMap.set("items", sampleMaps.join("\n")); }; Content.getComponent("cmbExpansions").setControlCallback(oncmbExpansionsControl); //cmbSampleMap const var cmbSampleMap = Content.getComponent("cmbSampleMap"); inline function oncmbSampleMapControl(component, value) { Sampler.loadSampleMap(sampleMaps[value-1] + ".xml"); //Console.print(); }; Content.getComponent("cmbSampleMap").setControlCallback(oncmbSampleMapControl);