Parameter restore in Pluginval (compressor using scriptnode)
-
Hi everyone,
I’m building a compressor plugin using scriptnode in HISE, inspired by the Distressor. When I run it through Pluginval, it fails the Plugin state restoration test.
The problem is that when pluginval saves the plugin state and then restores it, the Attack parameter value isn't being correctly restored.!!! Test 1 failed: Attack not restored on setStateInformation -- Expected value within 0.1 of: 0.728435, Actual value: 0.131516
I've investigated, but I can't figure out the error. I'm sure it's a problem with the Attack parameter and some inconsistency I can't find.
HiseSnippet 5668.3oc27rzbabjdCjz30jxNVdW4c2ZqbXBK6p.snfvKRBZEai2jPBDDDC3SWNZGLSCfgXdwYF.BHGU1UpbJWhOjK6s8uvdL2zOfbX+IrmxYeKmRo7087pG7f.fhwQaXUhTS28W2eu5uWcOScScQjkktISjUaNx.wD4CX4GoY2sPWAYMlJEYh7gr1cksrMcFV9QFBVVHIlHQt6t3gDYk6wP94m957BJBZhnflXXNVWVDUUVU1Nn05YetrhRYAITSYUpQmNaEQcsB5J58Az4trwYLDD6IzAUS.Or6vxrmfUWlHeN6NatYBAo1a2NQpD6zRpsHJ01w2J81IE1LS61aGOQ5TRa2NMfjuWIIYacSdaAajESj6kWWZDeW8qzbVfiksjaofvOjfgGVYmlKqqHgIQbqLE5JqHU2iOYwvDgsd.W6tNbsGxturjre6AbuGP5fK.BZFXj6DF8taHzKAM5EmB8lBJEgBktmCJ8wr7hlxF1A8fwm6yVQyFY1V.jSznhyXYty+8CYKnCiPyNlpPOTYS3AeHhtU73avkZm3q+zU4Q11xZcrhYgrOWWWsJZ.RIZhX39Jo0QVCESQWPpL.eNqnq8c0abvyJUn4KJeP0hkZ7Jb6VOoul7isDzrh0EILXziEELrhoa2dsMV6HMYbG4pVsPt57qELovxsqhdKAE7LDcJia0m7DtcyUoFWiRR8Esk00VETqrr4FHXxYpx8kbtyTGuYpgdeLorufFnrYFEli..v53UQssAvLUwfTP.jHQWyq80lXzMj6zcpCuQEnCBFF.fglxtMpBi1ioiAQW0PWCgoNmtCuFj1Zb8fzXrkQo00tLNcGdYHs035AwYYZ2Wivl4L06qIkH5v0W86VkC9wDY22TiaeA6twH8EcH2mykH95bOA98SW8UXQ0QFRfxOgyw0.4Jw3NVPoOxZUOtbLSTGvFDxrffhRKvpPT+EM5.7PWmyYIcXXXkDxL314So6yDY.ypcT2VI+BSvcLK1Byhv5vbOlycZ+btsh+TmA4vkvycz0rQCsWaCt0d7ZbOxitISv5vyqwIkeM2oGnPfAZoqfhYXhW10nznv.6gguZCtbVizDqoaK2VVT.SbXtquJ0BwCVwiRZLKJYEGI20SFMnIi.lWiqgw1flwNKhA3F0wigyYKGhqrKIDnDg2eiIYOUAx3cGdTCAMjhurF+.FiBMj.lRGuAh+oSr1fSmbJJQiOrb43kyjKU40eJV7jGXkcHzN0fsvJ6XGQNCOcpxIx6L7cMQHswUW2GAxkU8gGKDHLHPHPz9EZYEE6EEuIxg+st6rgrcz043EZiTFEZJTwy5dHW6Idv6zPTr.krFOMXcgIrnovUNnCWaScUt7511ver04ZpaLF2nARzN52.VzmXpeL8ZGz+IxR1cit9Fz89stJAuZc2Mz4LLTFMlXFVdf0CMBRLqUudQLYWJLYyeTMbUoJbv94OH+AmVhmx9EXqpkdd8gIloIL+QrlirfW.LWI3HO0kPSYtRN24JoybUD3Oi65YOASIQXdk1W.uKt7oXLiDqEdtJ0tMVZr1jihrETVSAyG8UtwwI4thXDxTWIpnG1rg6NdvJ7JSNcXU6b11lxs5aihNk9cvccS2og6wIvRV.GlKk6rqgfM91nlDQudxIwsN4.1L0MwqBVnNNQMWMiqmlRPQSXUeaaneJY9y0zaMaEPRuyP7R561lW3feaD3yYVL.WLa5DOMpgQdLkWMW4ufvT3ZoO7K7B8PTs0KTDZSw.DMQf29p5hBJU006kSSpLBBaDG4gyX88x44YH5ZRfIMOFN3rxiIEsyFb5st.3ENNww7aAXof1hI.KCk68PV44DAC6lbQsfrJ3Dr3.lkMvxa4Of0cgYbu.kKWJ8Vautaz.tlPw.fjvVREz5.Q5IrA2lqGdoOnuMQ55ttRBl8.qyVcgDf3ZCsHhYkfLZ8UuNeOtchYFScQ2fKgmuZXMaBN18VvtBZRJdKOwofCIaM4Bh4c3XBbdzeQgAL0nsg0LSHLKmhbGMjDd08mqM39FguI92BATj.b0H7MI9V7uS9sfSljjFR8sPKqo3DLMmOITzT2PBREhSvzT+Jtn8sfXz4vLcNr30gdV2O7stfnGOWDS4tNM0aCttvTtqhIdRPRDltyjZI+RzBw1wKaSSYG1sG83REcgvYSA+0i7fdHMsQn+.zHITf5Uva7VmXO00HBdomXKg69g0ep+3RNmwg2GVovA03CmrPcHycjMN05qKmgfQENMfV1ZNcMSf8GwX4bXMnyTWZGS.7Guaz01J9NwzZt0yyTHwn7u7xhwNs7y15n7aO3ppwjprmLeU9Boz1Ke7bMSOrvEGe51Mab9Qwz2qh0iNnE+lGTX6g6d.ZP5b0EicQ4Xmeb5sunVgSz61QQ94mWoZOypkO+j5mwuYomkV6.4NiTR8xcrsskpH2oiV6sO94c50d3wm13k1GLnPt7wFxeN+l8FVo19Za2qdE9h4Z9bit4K7L97sd1yezKs6e4kEx+7XBBxaFue45wx2quYupGVLSN9ZwxKWWOV9Lmr6gcJUsd2c2rRMqxc103zFE2s1os2smUNzg6d4g0D3uDcVJCypZ6wexoGVtPgNWToapL6cTb9DWlqxo8Ktsjoow.ssFbR+c0ub+gmwedwbhXiiw1LexCRkQp24sN5rizA0YcYwsyzrhP8cs6dIhu04CNsZMzKsM0ZpiFdxNR1CO57yNslw95F16bTtmWtWe08MzeV0iN3J8L6EaO6jYN5jZHCDRXT83GsovVaJbhFp546T6jmkbXiVWsy9RMyHp0PcyMS1+py1obxz5RY5Icw1hmu8VaUU7xz7p7pcSK2n+NUsyHr8oMyX0TcTZ0Z0NJi09CKodfzYZaKcw4F6um4t6egN7uKa0L9QGUSNYgxMKtiwvmUX2bkhE6BPBjBDHmleGsNwPhloZNT8py1rFJ9UCSelQSXgDLdYI09Gq2by1k0qkLyYcGURAkH0wI5aWEs4vLVUktHiZCC9CQacgb59CqD25jM60CvVqV6bYyFWs8UWdBRnfLudgz781AF7i14v96zre5dGteBc9KONgY98ZeVLYQkbmmBYd9wGdXsAGJpTbqxBc5ra6RsGDKYtNurm5nD10OQJ1yKeZtNkTNu3o00xKVp8IGcRUoBVGMTemp4Kl9kubPiSZjLW8Aw0yeQilOJ1Y8RKumcF0l1GN3R015wNI0yezkmVTXSiAcsqYdQesQMRE+7lwH6vBsYclo+.Y+r52sxpqPaWy4OVwtpqrM18+JNFswaECsYMHfeh0l7X2MVQiutiKlWMVoEDZ2zD7IX.Fk0rWHW8gAYFd7ap2Ar0lm3oZpd8CSaXuMs5342B68ckY3g1K9fM3RSJVEld7sgMUSrgwWu7XIieZlZmuY1YDymOVbsw8I21Meetu7KAABzxJ9SrSV8CbJaHv0rMww4ApAuB92XfF+5AssfhEQIwE3YFqHk8+oGu33j05OkhlqoaiNPKJgxf7G4Fuq1smZetSkBtbcSoabgkMuN.ip0WsExjluhGHSj6EthrrythrzELVzgyPMPcsJZx1GXfzlUYjYbYmLLQdfKVAC0lT61+F2Z2xqHKgLYjkXh7KXIwcyPP3fhlykkYgAN4X.+CsWBfSM9J+vk.3ziCb7WOSfc1xS.dEVmGlfp+oudY.eb5lwk4uffmZIV8In7MGG3ZKAaaqk.wm.3sCA7uuc6+yk.sy71rx6DB3+3e3O7uuPq766ngG+sB5ITU929pIf9AtP6EXMA96y5GO9BHumyTLgF26mk4nJEErEvmUi6FevXfAxzVFamIRQz.YQjyI2rBaQjUOacClHelugVfBcV5OzcoqnJzA4R5j+eBlgzxqQAO7UYuBW4N+Fd8+T1tjLjBZwLK3rz8j1VichSqwDmr7laxEM05wLz5vnnK1ibvQ2ggBCe3bsdQggEyNhdWQXLjox3XHzhEXdEmZIleGIxcwORpcZcci9F30HWK8AHFvzNuMr9VAT2KvTmpEtUG1Vje2DzXO.AIzlstthsLLg+8r6A4HdYeYwdJivYQZfODTreDjVGXVr3DZiKzpcWn8t5JRbxVbhl5jyTSUWBVl2ikbFmpBTD9YYgncL3gTOo0ws52tsLLJVVNUKFUYIHm855VxX+VzLAU+ybk.lDpsPeEmhJGLrOMqrUck9cj0pKfEc.VhkUFgaxQZ+9rNkEhgVR9qmqqj.B5G9l24kjkmojTR1xSXdUWjFmkbGMAENIXuoEWKjB.lu3c1xzr+qiKSIlMVHYZ1umRlRjcSWllNqgWzCUjvm37jE3iwvSzVg3+pARAIXAFIVXkg.Xn0F9UyM1.J0as240FxisS6qAHnBYHXiqiCfWH2CtwBBhWU2DwA43QF3.DsZCiZ3a9Pn82eUVJ49WjfYZ61WRQ4ufsA9fIVBAoGDzhwOYtQoEPE+dq24EiEYI24.79VyPRGNKaASaKPjBaeCjndivQv5rQ2cKM1iqnLrcOrfs1qCIXYXligao7yzvcxWujh76y1z2tyhK1oghVz+gKPL1ATJmIkvOKZBY83wS.tzvU5Ee4gpMRw87yXFWlNYXEN0g9EZXXBKa+R1bRRVbCj0rAX8Ec5lbWIXpZ2kSPC71pgqwfEHZIGaGmkBFMUFwrzrZBVSP5kgUG.0xwpocdB7xaFq9CYy0GRT00Z8375+tYwqE.fByp+B1xD1Bm6bwI02DWocE89Rb3KHD143F.ykrWxsSvUJxdY4yNnrmCloxTCOjoJLVNdMsqoW24FxquOadSY6oqUOSNcK.jvb5ulMuttksm5ZqQboh+YbWIiUmCbyfWJYqt3iEBesQ3D6BTuHl3WR18pDrlfzSkWS0+bYz+54lla.a9Ge46rtNHRy6vFHRxwtGfKOFqliOZI71.bPgdGeOmnroXePzaqCaOj5KhvtTdLBL9XzW0.1I35.49rkMQW1GoINJrKjzYCEm32Ou3D26kyxEBmR1kNpA9B6UuLyLLewW3EkIj77E++p4Vnh.Z7u78uyG4PVuMh3P93Z6J4fDwAWJTBeCAXmI9vBkPOFu4Dr6gHWSiv4yEcp4yMq.A9s9QGdOVHdgkTj9Ar6UtjpQWAKYqkvW0pr9.sL4qu8LCHT6cQw5WxlWA1ZZwAwJ7XIm68ABGlfQeaGyrdwQfjdRP+58sgAvL8rtB1bdW1O6ZRKeo2ZRP0kJfdGHt9RI3UsJeQ7GO2B8MjtdvuqKhKwVQsky0LGxN29J7cwyfHNFfdhFpifMISsQhJHb7+NmAkEGjmfFG3GUUWSVzJLO7uLysp+4kMMsGvVTF5Nm0HUnMyQKUzjAPQK+9kysVqypPLuSJ+JDjehadaRXNFmnhrA1cJHTAdSPpaeImkNoFaV9WNOlwp.V3TzxNKg4OsrByO1QXFbq.WBo4GvRA1hIN8q98rJQp16l4fWgXcsC99v1B0V2WhFHvv6CcJetEmj+swCLKaiz.oznvaGe3Lkfu+309bo8cRDnEMASDLyvFqSmyMdn2Kbo3I2qUWony8WcVgC+5ViKE+zwkh+fP1kYoZPsTO3UuUK0mL+CWYVg4sPJm9ZMoXKKiqxpimWNERYbv9lAEBGUFmBqSWwskof1G33Q+ZqsS5v01Ic1adscXX9YZa2Rqv6vHHumVzB5UBqSUUnkuNE4+mXVEn.7vDVN+CGNgbNcVjjrs.4TxibWmTt7Oig1fg.GozCXCeYBWJDLTETN6V.ACp68sDFFptCl2BXHck8tkvQ5589ZkaAbzqny2R3GcQEx982B3GUZP2RnHchu+wQWGJxzbAEy7E3bSK+VBG2dVaV3LuYrwPQ2bKgjYlkImaJR54K+VB+niyNK5V.+nC3+sEGWw0rc7YYz4lyDcR571BASLqcz2TDz2W+Bhg2218000ACKqnKfe0OaJq3bUJ9HV5ll8MpfgYd2nBPI18ddzzMpplNg+3DAm2cUDF+6kISl2fgP1FoFz5adyaREt0j3l8V+fqou6f+ObujN9z5pK3scYHsMp.Z7G66T5R1H2aBxk4eXJjqe3c3Lm7Cy2o9x.M.A872xVnZob0V8jbM1e0b6taiR77UNtzp6kqQwwn9u9e4idy3DzJK3cugJH0KlJAc2Eifbw5Gx1Xe9UqWJ2yWE+llUoVohqFjADjyueACm3rfVcdaHBEHCs+iexdb+GxSIh5I2P7grM2qBeSLm8fFjcEgpNzOjM6auAQmWD1Y44ahsxPZrStU1KrqGGOVbbr0SfoLQCQcKCpQmRD2+3aMpQiFSCMYl8czJHasOhMz81lITpGTmJU+4igEyRa7.14Oc6ALyX6yTNrr6y5eGce6PLKgAnJdyDvtlJh5sy42whuurOYOHKS2aSMWdS8qrfHetFoc.K89Arz2B6z+Q6rgs7.s8loa2kz7.ua.LaD7i3ay23GG4B5cI40f0NW0bZGWTDaH+JeDqSqdrNZVNLQ+WS5X4O8le7MWiiExsT7N+y2gE+xSuFVDwCRU2Kh+WPtR4a30SogFf4CvzmUNKXp5qhGA4li6ODx2RCyoCN9FdaMwbBa2bFdntBZ9f1sw217u.+BW4ATNIoouDMPZfsto2WQHkO6YzWYgA5l.Gh7FQQ0mKlUAnZITdcSf1BQx05q5vHvHeRRSNOSd2oIoGAc7MjWqr3wRM1OarjsCM+sj0nJ3vMmIRvm23tBaLs+3CkCl0P+p5BRRfV4hBGORvTradASmWMDLXNcrutoK+b7dBzgFuGON8D8t5qVjMu3WLwo4JaxOHJOfE7O2WQvN72mEb0Qb6.mOC8GEkJ9knjpLx2ZezVVTT7iYqKaK1c533clBNBVk9eCbz8ScyGx57tpGff2is7o+L7cs4gNq+mDT2KNmBewAKOFOlZEwnwqZH6qzM6gGYyfuoQds5VhJpWsBuZBQc.YNE3fpZ0AUkg5kaf9RrPIV7uuETpSdut8zmgwXmhD0LPUAapxTN9AUDpK5W+c5oh5fjoZM3NMQ+gchjDH0KR.UcEotn8N21.pi9OxcWX8fDWuZn+mnGaSR8XAyr7fiKQDnEpg+nRf8GeGb7NNOG2y+LOf4jGfvOdiamIvOGwsyDdcRqp+abT0tO6IfYKx2nAhB1mPdtstoJ2tHMjIdeZhq4Sh0edQ+jXYrveRrNPzFPAmWGMcKHCUpYlGoJ2DhWvJTqiAQxoBQnVAUx9ZgmZmlBMJLqnLvJRPqo30XR5isABYKzjAOGZl1WNTfPkzvQayi.JW5.KQfwHDZ+wO8006CtaINTSPeNtAMmjtYrQAPFJFx.4cutOLXItgeXvdu249vf8WAtACYieEObjWV0PAURa.RQGZAii+RHSaxUzvq0va81WWS2nK9.9oEzM.Knxc5fBo+LUBZby+ObBy+LeZ1pxZPrOiaebI3EIV5uiaSUd8acOPENr8Bt+5M7k69+qCeYw28Al.e2VJ9aXASwI4HhRt+uQV9yQL.+brFpBhl5uv6JQ.bn2mzBP2ZtuCN6ielKwjuClpfKiWHJFdpl.vj2T.ScSAL8MEvMuo.t0MEvsuo.lY9.h8niC8W08h+vre8RjxoDIhSPMjsIL+O.Oth7oC
-
@Mighty23 It might not be this, but the first thing I notice is that none of your parameters have the same range as their targets in the hardcoded FX... Start fixing this
Also and not related to your problem:
- Why having the Attack using the callback to set the parameter and all other knobs connected through the property editor?
- you declare
const var Knob1 = Content.getComponent("Knob1");
then useContent.getComponent("Knob1").setControlCallback(onKnob1Control);
. If your knob is declared, you can just use it asKnob1.setControlCallback(onKnob1Control);
, or don't declare it and usegetComponent()
. This is not an issue, but it's just that you have a reference that you don't use...
-
@ustk said in Parameter restore in Pluginval (compressor using scriptnode):
Why having the Attack using the callback to set the parameter and all other knobs connected through the property editor?
Initially they were all connected to HardcodedFX via the Property editor, I moved the Attack callback (knob1) to scripting for testing purposes; the error occurs in both cases.
@ustk said in Parameter restore in Pluginval (compressor using scriptnode):
@Mighty23 It might not be this, but the first thing I notice is that none of your parameters have the same range as their targets in the hardcoded FX... Start fixing this
I don't understand this one. It seems to me that the Min, Max, and stepSize values are the same for the knobs and the HardcodedFX parameters... that's definitely it, but I don't get it.
-
@Mighty23 When you turn the attack directly in the HC FX, it goes from 0 to 60, while the UI knob min/max are 0.1-100.
You should set this in your network parameters to be the same -
@ustk said in Parameter restore in Pluginval (compressor using scriptnode):
When you turn the attack directly in the HC FX, it goes from 0 to 60,
ok thanks, that's definitely the problem but I don't see it that way, I see correct ranges - very strange indeed.
-
@Mighty23 Oh of course... that's probably because your snippet does not include the dll so the ranges are messed up on my side...