How to make a button to lock a value even as a new preset is loaded?
-
Do I have this right?
You have a button on your UI and when that button is active you want the user to be able to change preset without affecting the value of a particular knob. And if the button isn't active, changing the preset will change the knob's value.
-
@d-healey yes exactly
its for basically having a wet level keeping the same value if desired...say for instance you know you like the wet blend but want to hear it with different reverbs and your wet level not needing to be readjusted evrytime you load a preset
-
@d-healey basically putting a lock button next to the wet level knob and if the lock is engaged the wet level doesnt change when a new preset is loaded
-
You could use a hidden knob that holds the value that is saved in the preset, and in that knob's callback you check the state of the lock button. If you are going to have more than one knob that will be affected by the lock button it would be better to use a sliderpack for this hidden control, rather than have two copies of every knob.
HiseSnippet 1384.3ocuW8zaaTDEeVmrQ0tPKUBw4kHgjiTH0toTPTghiiiAKRRshKIUpBUFu6ywCY2Yrlc1j3VEIDeB3ZuwWANxM9nfDm3F23X4M6Lq20oNgTqB6gDOueu++dyaeaWovGhiERhS4GOdDPbdG2di4pgaMjx3jNsHN2xcWZrBjdFRMGOhFGCADGmE9RMAmxKRRe9qMZRCobeHmDgbff4C6vhXpbpca70rvv1z.3wrnBbe+Fc7E7sDghDzeVvsFYD0+X5QvdTMakbINKsc.SIj8TTEDi7zTDLt2PwobC+GvhY8CA8g5jdnhLjIaMjEFzMKViIDmE6lG4KXh722cWV.aB87Lv6kB3kKQwbfSoqxkp+F3RNEboEMtzcb64KYiT4HZ+4ltc3XAY.ES0EcECujRMWvcKAxAWsVD8XnsDOLQhpOnVsU8v+rxCqTAS2wJuSnRudrnQgv9vIfrecuuvKsIXsi.01CF.9ppKaXvyxwxZou6c85q36H7O1pH6IT7L6iJXKQzHAGOTcYKdlvGy6eHnrxZNbohZf0RZ90ZwZXtRJB2hFF1GaTpJ3FLKcsUX7PFG7Fjv8ULA26BrT0OyBqhYgvDXkJunR4oxEZCsoRIY8STP0ogPEsC9yvLgeXkxF0+Urf.fqE8.MP0L3yKD2FdlJ5Mj9WxAFlxyD415xxGFNtFYkoXb14F1.upensNpcOS7sxJUJifkyqMSG2SP7GR4GAAU0zNux4E7f8DJ3Q7poFAySdWDZvfYhYc1PPNSX8.F4UIXUdRTePVLD0Lh2.m9Z8RWuq09lBWAFE7Nbl5Qi.641hv.80U8ue8g.DakWONv5gHqpzgA2xNLnWHK.jDVflTwBGIMFxmm96aP9lNsnJZl1PEiFaDHULcL4zBNAmNaF0T1sEDerRLBC8I8bH4K012vZaxY4VrSiwSN7COsgBNCUgqqlqHQ.pmOvcOgLhFxdNDzEj9nMv46j3jACXmoSJeDIBikPnqHloqTEilX5IPGdWIf8W54cjB94RS6mMSTJTXseV101tVzQ4EczCrN5RtorcUl4lJ6qJLlocnfpX7idLCaEzF61tEIUunIIjbS136aXqGlj+scMlqoTbZLle6eT1aAKuDx9eqkgofnbp+xq9oWMM06YYN8IspWpaI2WTwyaYc6XOLpLYkk+bOkLAVMCY6yFQ4wXtNdyXTUIQZNFPCiyYIsoUNaw02NieMchWdLrOETNY79LFuHV8ZSDZyffYah8ANtAvrwZAgf5RvZSOQHwLjdshhXVOqCF0APSgDisoB48RhLIBsyudJIy4CYApg6i0WAB7TjtmWs0V+BOq9FRGI+so1XGVrZSIPmjarVX0Y8uIRY7r8Em1kFDfMdWW45ATo+vlTYSQBOPGoO0.jk0LYoBnUNmbpNALoM929wFCA1QCy2s66NqA4ZM83BSttjYHjVusmgbR1ba7d8quuEtomHHIjpld8O8dtV.s5JtykduJrMRMt3dvuA6DV6J2I755h2wsKS4Ob19XoY3i3aD9uvGsaR+ttlsFycvEca+j4cs4ZW+0lseCC1uUXOMaQb5EXmxY1WHh5gsS17yO+xW9mazhFMBuMYI0X80+iMxV2qXotkb7EnQHGV3RRptZKA34vtocuYT+0MbV3szWNP1WjnekytTbMU7FfKN+pG9FAe.K.bNDhJ20ojd6By4Z5yZOsGvCRO7J7wBVWe1wBVOC7+EaDQ8khm4a16QWauQJELt4oeAXY7SQwyd0y1zw0s1Z0z21YOy2W2k8w3RUyVl6MGxr9bHy8mCY9j4PlGLGx7oygLe1UJi9Ci2LQIhLScPBc2Nc2CGms4Tr6M89E4e.MJilvB
-
@d-healey its just one parameter. ill pull up the snippet and figure out how to implement it. thanks for everything youre the man!
-
@d-healey this isnt working for me
im not using a simple reverb module im using a routing matrix split to simple gain for a send effect to an IR module
simple gain module controlling send level is called Wet
i altered all the code and added the elements and copied all the settings but it isnt sending the value to the hidden knob or recalling it when a new preset is loaded. it works in the snippet but not in my setup :/
heres my modified code
const var Wet = Synth.getEffect("Wet"); // btnLock const btnLock = Content.getComponent("btnLock"); // knbWet const knbWet = Content.getComponent("knbWet"); knbWet.setControlCallback(onknbWetControl); inline function onknbWetControl(component, value) { Wet.setAttribute(Wet.GainLevel, value); knbWetHidden.setValue(value); } // knbWetHidden const knbWetHidden = Content.getComponent("knbWetHidden"); knbWetHidden.setControlCallback(onknbWetHiddenControl); inline function onknbWetHiddenControl(component, value) { if (!btnLock.getValue()) { knbWet.setValue(value); knbWet.changed(); } }
-
im not using a simple reverb module im using a routing matrix split to simple gain for a send effect to an IR module
Why don't you use a send container + send effect?
-
@d-healey i never heard of that. ive been doing it the old way of splitting the signal then routing it so a simple gain and then to a effect and then bring the audio back
-
i never heard of that.
It was added a few months ago I think. Much easier than doing it the old way :)
-
@d-healey ok i see it. but how do you actually use it lol. is there a thread anywhere?
-
-
@d-healey alright i restructured everything and adjusted the code and all elements have the same identifiers as the code. but it is still recalling send level when preset is changed and lock is engaged.
const var SendEffect = Synth.getEffect("SendEffect"); // btnLock const btnLock = Content.getComponent("btnLock"); // knbWet const knbWet = Content.getComponent("knbWet"); knbWet.setControlCallback(onknbWetControl); inline function onknbWetControl(component, value) { SendEffect.setAttribute(SendEffect.Gain, value); knbWetHidden.setValue(value); } // knbWetHidden const knbWetHidden = Content.getComponent("knbWetHidden"); knbWetHidden.setControlCallback(onknbWetHiddenControl); inline function onknbWetHiddenControl(component, value) { if (!btnLock.getValue()) { knbWet.setValue(value); knbWet.changed(); } }
and i doing something wrong here? are there special settings adjustments that need to be made to each element in order for this tom function?
as of now the lock is doing nothing and the "hidden knobs values arent being affected or drawing from the main send knob at all it stays the same regardless
-
@mwplugs Post a snippet.
-
This post is deleted! -
@mwplugs a bit unrelated but can you embed all of the audio file within the plugin so it doesnt have to be in applications folder with convolution. i know before for whatever reason it didnt work
-
@mwplugs Yes if it's less than 50MB.
-
@d-healey i just tested just the function of it and put a sine and it made a terrible infinite feedback loop? what the...it workd perfect the old way lol
-
@mwplugs nvrmnd it was something dumb smh lol
-
@mwplugs still didnt figure out the lock button but got everything else situated
-
Your snippet contains external files. You need to post a minimal snippet that only contains what is needed to demonstrate the problem.