3 Quick Questions about Expansions!
-
@d-healey Guess it's time to add a preset system then...
-
Unrelated but has anyone else had the Custom Keyboard FloatingTile randomly play a high F and stick when clicking GUI elements?
I thought was my old midi controller but it only happens when I click something on the GUI, both in HISE and in DAW.
Super weird
-
I still need help regarding making expansions persistent and loading on DAW open/close.
I can install the libraries and load them manually just fine. But on DAW save/load it defaults back to no expansion HOWEVER if I hit "Open Preset Folder" in the preset browser, it directs me to the right expansion folder.
So somehow the currentExpansion is saved, but I can't figure out how to restore it.
I've tried making init presets and using
Engine.loadNextUserPreset(1);
in both button callbacks and onInit, without any success.
//init stuff: include("CustomExpansionLoading.js"); const var expHandler = Engine.createExpansionHandler(); var currentExpansion; //Load expansions switch (currentExpansion) { case "Cloudburst": loadCloudburst(); break; case "Atlas": loadAtlas(); break; case "Blackout": loadBlackout(); break; case "Bloom": loadBloom(); break; default: };
inline function loadBloom() { //Initialize Expansion Engine.setCurrentExpansion("Bloom"); currentExpansion = "Bloom"; //Put Stuff Under This //Setting BG Image backgroundImage = ("{EXP::Bloom}bg_bloom.png"); Image_BG.setAlpha(1); Image_BG.set("fileName", backgroundImage); //Setting up Samplers SamplerRR.setAttribute(12, 0); Sampler_NoRR.setAttribute(12, 1); Sampler_Loops.setAttribute(12, 1); SamplerRR.setBypassed(0); Sampler_NoRR.setBypassed(1); Sampler_Loops.setBypassed(1); SamplerRR.asSampler().loadSampleMap("{EXP::Bloom}Bloom_SampleMap"); //Setting Key Colours colourKeysReset(); colourKeysBloom(); //Hiding othe GUI Elements ComboBox_Atlas.set("visible", 0); Button_LoopSpeedHalf.showControl(0); Button_LoopSpeedDouble.showControl(0); Label_LoopSpeedHalf.showControl(0); Label_LoopSpeedDouble.showControl(0); }; //Button to switch to this expansion. inline function onExpansions_ButtonBloomControl(component, value) { if (value) { loadBloom(); } };
A lot of it is dependant on the variable currentExpansion, and I think somehow it isn't saving that right.
I've probably massively overcomplicated this...
-
I've just realized there's a
Engine.setCurrentExpansion and a expHandler.setCurrentExpansion.
This might be the cause of my woes...
-
OKAY got it working (I think), I didn't know about the expHandler.setExpansionCallBack() function and was trying to do things manually this whole time
-
@iamlamprey hey, how did you get image covers from every expansion?
-
@arminh Each expansion has an images folder, put your image in there.
-
@d-healey i made it, but even if i have image in Images folder i have error
Interface:! Image {EXP::Factory}exp_cover.png not found
-
@arminh I would assume this is necessary
-
@d-healey oh i tried create this by painroutines but as i can see we can't just put image path?
Here's example
g.drawImage(expansionsArr[i].cover, [50,50,50,50], 0, 0);
-
You need to load the image into the panel first with the
loadImage
command. -
var backgroundImage = ""; const var Image_BG = Content.getComponent("Image_BG"); inline function loadAtlas() { //Setting BG Image backgroundImage = ("{EXP::Atlas}bg_atlas.png"); Image_BG.setAlpha(1); Image_BG.set("fileName", backgroundImage); }
So the "Image_BG" is an Image component, and we're just setting the filename of it to whichever expansion is loaded. You probably should do it with a panel but I set this up before I learned panels existed :)
-
@iamlamprey Tahnks so much, i figured it out :)
-
Hi guys. quick question for me as well. My projects is a synth so I dont have samples. However I want to be able to create user presets expansions. How can I do it?
-
@nesta99 it looks like you just provided a preset folder. without using the extension option of the preset browser
-
@yall Ok well , what about creating user presets to share to other people? Is that possible?
-
@nesta99 I do not understand your request. surely the corrector interprets differently. the extensions you can do them with the new way of making extensions but that is of no interest since if your vst is only a synth. you create your brower preset in 3 columns. column 1 / name of the bank. colone 2 / kind column 3 / preset. So if you have to share an "extension" you can share the folder including column 1 2 3. in fact your synth is based only on the preset. later if you want to use the .hxi extension format, it will come back to the same thing since when you open a .hxi extension for the first time, it automatically creates the preset folder in app data. so it comes back to the same. concerning user presets, if you leave the possibility of creating presets they will be able to do it without problem otherwise remove the options in the preset panel. I don't know if I answered correctly. I'm trying to help :)
-
@nesta99 Users will be able to swap presets. to see if you want to block at some point, I think you have to change the Version of your vst. and update. to check
-
@yall Uhm.. Think I might explain myself well then. when i will share my synth to everyone, the synth will have like 20 built in sounds preset (in the preset browser). What I want is to create other 5 new sounds presets (that are saved on the preset browser), and send to the end user as an expansion pack. So in this case I want to create in the vst a function that loads a folder with these new sound preset, (maybe in the bottom part of the preset browser there will be a button like "load new presets") and will open your computer file and let the user select the folder containing the 5 sounds preset I made. Hope its clear. thanks man
-
You can save and load sets of presets through the preset browser (click the More button).