Plugin always resets to initial preset
-
Hi! It might be very simple, but I can't figured it out. My compiled plugin, when I open it in DAW - always starts with preset which was the last one before I saved and export VST/AU and that's what I wanted. But, when I save my project in DAW with my plugin with a different preset from initial preset, and re-open it after - it sounds like it should - with the last one used preset, but all controls, knobs, wallpapers etc are from initial preset. How can I fix it? Thank you
-
Which DAWs have you tested?
-
@d-healey Ableton 11 and Bitwig 3
-
@nouslou Have you got SaveInPreset enabled for all the controls you want to save?
-
@Lindon yes ( but still the same result
-
DId you save as archive in HISE?
I tried to reproduce your issue but it's working without issues for me.
If nothing can help you, try this:// PRESET BROWSER // Pop Up Preset Browser MAIN const var presetPnl = Content.getComponent("presetPnl"); inline function onPresetButtonControl(component, value) { //Add your custom logic here... presetPnl.showControl(value); }; Content.getComponent("PresetButton").setControlCallback(onPresetButtonControl); // SHOW CURRENT PRESET NAME IN A LABEL const var PresetName = Content.getComponent("PresetName"); inline function onKnob1Control(component, value) { if (Engine.getCurrentUserPresetName() == "") Content.getComponent("PresetName").set("text", "P R E S E T S"); else Content.getComponent("PresetName").set("text", Engine.getCurrentUserPresetName()); }; Content.getComponent("PresetButton").setControlCallback(onPresetButtonControl); // Prev and Next Preset Buttons Content.getComponent("NextBtn").setControlCallback(onNextBtnControl); inline function onNextBtnControl(component, value) { if(value == 1) Engine.loadNextUserPreset(false); }; Content.getComponent("PrevBtn").setControlCallback(onPrevBtnControl); inline function onPrevBtnControl(component, value) { if(value == 1) Engine.loadPreviousUserPreset(false); };
(Using the HISE preset browser in this case)
-
@UD-AUDIO @Lindon @d-healey So after analyzing the issue: knobs and buttons which are used in all presets and they are on the same places (I mean I don’t use script to hide and move them)- they restored just fine after I load a saved project. But I have several presets where I hide and change x and y positions of knobs - and they are not saved with project, they are in the places in which they are at init preset. I use presets to change articulations. And user don't see preset browser. P.S. and I don't know how to reproduce this issue in Hise. Every time I do some changes - I need to export plugin. Is there a way to try those things directly in HISE? Thank you all)
-
@nouslou I see! Did you try to achieve this with panels?
Never tried to change positions, so I cant't help with that.
But I guess saving visibility should work with panels.Or maybe duplicating and linking knobs - depending on how complex your plugin is.
Then you should be able to change their position by hiding/unhiding them. -
@nouslou said in Plugin always resets to initial preset:
@UD-AUDIO @Lindon @d-healey So after analyzing the issue: knobs and buttons which are used in all presets and they are on the same places (I mean I don’t use script to hide and move them)- they restored just fine after I load a saved project. But I have several presets where I hide and change x and y positions of knobs - and they are not saved with project, they are in the places in which they are at init preset. I use presets to change articulations. And user don't see preset browser. P.S. and I don't know how to reproduce this issue in Hise. Every time I do some changes - I need to export plugin. Is there a way to try those things directly in HISE? Thank you all)
OK so your problem might be that you are moving controls to new positions, and not saving these new positions in some other (hidden control).
HISE presets record the value of each widget that has SaveInPreset== true, its NOT saving the X/Y position of your widget (I think), so either:
Have some panel hidden in the interface that holds the position data for you, and when your program starts get this data and set the X/Y position of your visible widges.
or:
as @UD-AUDIO says try and rebuild your interface using widgets inside panels... -