ScriptProcessors onTimer callback
-
@ulrik Try making a minimal snippet and see if that works. If it doesn't, share it here.
-
@d-healey I will
-
@d-healey btw the processors are inside four different "Synthesizer Group", if that has some impact on the result?
-
@ulrik said in ScriptProcessors onTimer callback:
@d-healey btw the processors are inside four different "Synthesizer Group", if that has some impact on the result?
That could be it, I've never tried those
-
@d-healey confirmed, synthTimer is not working at least not inside a "Synthesizer Group"
HiseSnippet 1469.3oc4YEzaaaCEVJNJnxsccEsCaGEJ1AWztD6r1tADrMkXmTXrlFu51fsScLRz1rQlTfhJsYEEn+yV94riEXW1ssGonrnRTbcMZZav7g.vGeOxO9wGe7iJ83r.bRBiaY693CiwV1Wxo+gTwn1iPDpU2NV1eoyN68Lbfv6fDOUWdOlLFys13vXTRBNzx1t18kNa6tnk52a9oMPQHZ.tvjk0tLR.9AjwDQg0d9+LIJZKTHVNjE1uie2.FsMKhkB.qlSSqXTv9ng3Ghjtsfik8RaFRDLdeARfSrrWbCV3g8GwdNMy+cIIj8hvxFsr5CCTl4sXQgRDKsZ0dDIJrWNAjXYY6zqfNpkQGW2YaRHYh8BZ4yUc3UDgIeXuPY3UqD7ZYBulFvqBHYa.oEyfzUc5GvIwhhdj34hNcoBLe.BncSnj4qk8QNsYfCTwxiQ6i2hCMlDPi60r4s8f+by0FjRCDDF0iQeHSf2g13l0eYc25upt2w6ZvfJ6SNMbVTDlWY2pjmoEXCZ538v7a6c.JJEOwQX4WlScNcN0bKOHaUa3Hi1kRD6DiomVhfklp.9eQMp.WEJ1+yzre+HRHbJf.j7k0mPxNWnfcQt7x9VyvPnO0U4Hb2SeD1HUHXT0HTWChcnGOd854sDuaFBpL7mzsCRfjYiZhAHqXLWPj6C1cvG.GsyxMcc5fS1WvhUL23XFURi1tyH28hho8q8OzrwyIghQSL3+69ivjgiLpkz0eLpH7m8O9IBbbexefMqKMlDFFg6wRHxbtBu+KIEOCnsz1Twrczde7.6ElkLBCdsiATe8ubLnZ8am.pc7iyOYzEFzqommhBesfhybntLTKoqZVgZCTj7j3rAyhDuBT5iOyQYxDTdxJrPscVXZDRTtfu7VNcGxMDyprxRoTXi5PyMv2a2BLqP7pN8HhfQUiwEp.ivQ5yBLpu67xNaNX.j.V.vEc15WOatnzb5uRIkL2myRiUy90TFvIv4Ltmxbq2GpXhmYULapx31ZayQrMhyIPRIMDabJ8M+4js2SzySnjDFkofx5iYoTgIn081AKRokftti9wbLJzLBI56iAnFpFxjRov0llNqVyoNqkNGqyppRKUn2Zg+tlCPoIfrYD2ioJDKjWa38Cd4BwFhESpP13FF9biatV8hfSjYwSO1BWjgZDads3SeV0Nbro7sEVhQX043gdAx7PLuEDQy0LsrZlkbPIflaRGRn3kCfDQg5LCO6hpFxASrbBNSMPaTTzdft+F4ZDyTMZvSRW2UpVoQ9zCiPIGBFgnCwgxQ1M2macq0p+J4TsxJZe8xX2rkTcBMBfmgxTQ68fIPu1M0kRF30P2x0E.t.wyfdiVRsz0cwQI35tuT2KKVK9E5wsLg49JPia87MC45RKYaBIHQgFzpc6oi4jYCypBjkv8JsNFvycoJvupI3SlB3SzfW96C4KLJNWbhTkUkKDi9qHSYUUlx432nTRL3DYYy9yCJoS23X0jgXoq7N7BCCMWyEDtjSw1UAB9h2aORYoYg7dgIpmhneqGeBMp+XIc6WbFo5hI7065WR51Y8qLJon17yKTRIc4GvYMi7YxI4yih7Oa3yR4MF6ehOEoyRuv7bvSSJIbxMGi8IiiivaRO.GAmA0uMoCd.JMRLwpIH2FTlFOhQIAlaIOBK3jgCwbSnW45Ycg.tmovx08eDNBiRvlYTO.thDwAZBOmTQq2YMjUtc8UNYvU8gT8N+9hxZ+u4EkSihtjS1asjajus2a+QXGDJnndw2GZ38HVpfPGtMBNBCUMcdX539vCgCv.znTPeIXydA4M+YsaJaKAQeLMT03ege5NaIaaq6rUdmePliwn.N6oAYxSjmxufxBrtop+YDtNaKa60JWRhiSykaZA2CPdZPfLA8a.4aUGypyQLe6bDycliXt6bDy8liX9t4HluepwH+dAqmJXiyJXAF5soRZnsc1GfQUmv5+.vsWJ8B
-
@ulrik And outside of the synth group?
-
@d-healey said in ScriptProcessors onTimer callback:
@ulrik And outside of the synth group?
Well you said it was working for you, I guess it's not inside a Synthesizer group" right?
-
@ulrik Yeah it works in one of my projects, but it was made with an older version of HISE, I haven't tested recently, so it's possible it's a new bug.
-
@d-healey I see, I can try and see if this snippet works outside the Synthesizer Group, I'll be back :)
-
@ulrik I placed the ScriptProcessor in the main container just under the Interface Processor and the SynthTimer is not working here.
There is no Extra Definitions set in the project -
@ulrik I just took a look at your snippet. The problem appears to be visual. I've never seen connecting a secondary script to the interface script through processor ID, usually it's the other way around.
Anyway here is a test that doesn't require a visual. Hold down a note and you'll hear the pitch rise gradually.
HiseSnippet 1200.3oc2XEzaaaCElx1Zn1csncqXqG0gdvEMKvdqKa.AEUIwNEFqIwKJsc6TGiDsMajH0nnbm2v.1Osg8KX+L1wdb21djR1hNUwSvXoXY9P.3i783G+368oGyPA2mjjvEHqlmLKlfrdeauYL4j8lfoLzfdHqO19nSeEwW5LMwQOkyIzHh.s6rXbRBI.YYU+IpEa0rAR+6MOdWbHl4SJLgPOmS8IOkFQkEVG59Uzvv8wADUHKr+P2A9b1d7PdJ.r51cPwX+yviIGhUKqlMx585GPkbgmDKIIHqF6xCl4Mg+ZV15eNMgdZHQMnKxCBTl484gAJDqrh1aBMLX3bBHAgrrGVPG0yni6Xe.MftvdAsbK8DNEdXxGV0VFd0WBdcMgWGC3UBjpY.oFYP511d9BZrrXFEdtt8.ljHFgAZ2DJYqEY8a16wgEvjaFgOiru.Frvg1a0oyFNvet+1sZMJk4KoblCmcHWRNh099s9oVMa8ysbN+TiFU5bpMRvCCIhRmVm9rJGayRiNkH1vYJNLkrXg.ArLqZewrp4kte141Xgb1.FUdTLgcQoBnbxBtAZjiJXoRM+eyb92KjF.0ATfluQdMRVkgF1EYy2wEUgPjW2UZDt6EGgcSkRNSGgV4f3H148O+77O3eyLDTp6OaPOrDCrgUNw.jULQHop6AqdjoPwcV1YS6djjyj7XMyEEyYJZzpYE4tenXaum6LyAulFHmrvf624NgPGOwPMYfaDtv8W8mtIRRrG8GIlJSQzffPxPdBUkyUr5+PQwKPaqpcMUra+5ouaAaD1WvWbm1z9.0XGUlbwg3ZUISwfu6YbD9ku9bGAz29VGgdtwyqXF.A8Cy2mBIwtfrs.TrAUlA5cEzLXXUEZ0fYQBYAJcIW5nLYAJqp1aYAsDM3ZOxxVPF6PlBG7AAa2RMHlJ8m37HmtaeABu4qFVxAPngOBt4Xhrelw1ffcSMIsYhDKxpgZ2ErtB054qmGmqDCwXNJ5r8ZqkmEVbPvPUrTeTucNz2voK74E8VrgSmEa2Cdv1WAz+WKouRxbf9E3AogX4xMQn5bJeBUItYVi5yyLnzelojv+ZcVTUHdaa88Y4XrVIXT0zxk.Fy6G6F18GMBjtJ.XC68+lKmluL29als8W21ixH5Tc8l+Q5wNu.Ok37DBiHTjW2Uza7uW0diiqbuwG4Kgs+DAlkDySVJvdjH5IfNahowmk.s+Q99iU2ll12iiEkN0ad79vgrTe7vxTgNsXmHdJStTZP8U0i9EVttbEgw5Ko63F+mqg8q.U9VVCeqW8cKHONJNjzmMkDBxaZL9Afd1HbZnbt0kSrOfy3wS3Lpu4s9wDofNdLQXh8ROP6Hkvq5L6S9XRHAalAeO2mBYdXAvSj0jK5VctXU2W20NCt5G+5b0Uwt9+uUrOlmJorwGfgjPnoQ6CSi7.gReBr6LFIT00fUMkXW13NpwYJkr.8f+B9kOYW0Xq7I6Nex2I6gt+9W5m0OjJO8ZZKv4lo+WfTzwe9a0rs2ZyNH3ACzW56qn3OADLK2mOsvmNU0mOaM74gqgOe9Z3yVqgOewZ3yWtReTebYmTIOJqjCLLrutwQKq95mSnyzQ+MaxvB4
-
Aha, here's a visual method that works. The secondary script needs to go before the interface script, then you can use setAttribute to update the knob on the UI.
HiseSnippet 1257.3oc0X0zabSDFd7l3PsoEQEHwENXEwAW0P5tgR.oH.2raBZEjjE1PDbpLq8r6NMdmwxdbaWphT+o0eNbjibCdG+wNi23DLaIE0bJy6Gy6y779w3YGDy8III7Xjg0oyiHHiaaNbNSLs6TLkg52CY7QlmL5IDegySSbxT4bJcFIFs+7HbRBI.YXr12JM1vZcT1e+w2rONDy7IJQHzYbpO46oynBkzAdeGML7Pb.QtkJ4OzquOm0kGxSAfslYaTD1+b7DxwXoYsLQFabP.UviGJvBRBxX884AyGNk+LVt8mQSniBIxEcPCgMJW7g7v.IhkRQcmRCCFTR.IHXWFnni0xoiOz7HZ.cgbEs79YJbTdnyGFspBu0p.uN5vqsF7pARszfz54P5tlC8ioQBkFId9fBoJD0oBjx0hZMccSfaSfzIN1oOSPhGi8INeUdtc6IDQkCr6lKrYy6smssxWdVUgPVK.d2kClwDR+6xmEwYvB2M0rQ5sx4DYvtdeUlrbfAiw.6c0QsvfkB4+jaIZtYGSl33ySkm8NfGs2SWxN4RJAk.Vd.aBkQ11Ol.Y7rFj7tFW4lI1NgHxD1EGFNBpkcGmx7ETNy8d1uv1RimjldFNLk3VFdXGpXf+TLaBIPtyVk1b+6um8ExP8fGTXqSN6lejrorP.dNkQE3vtif.Tb12BHHHhYPgN1wsXkkE.bANNG5tcZ2VFRRXBw15EEZ4Q4JkZrpRXVWXegscYxPdtj7dLObAIHQQAnyx1WOlSZFlyqi0w8C5rDvKMoNvuiN3StFvmT.d4eJdkcLbfOoHsBagyxpFOtVcE6dnDM0nt.mRMp9hKUpri7fnoWuRYQarzqGIDwzQoBhqRbFojEmsbz2ux+OqDqNL6xRmMR5kJgHMDlWUcHn4UODTeFsedyolgbVeFUbRDgcUStQEczxY3EnBLUjMt78JFLtepPvYHJLMz1rrpDkgY86oPWk+CCoAv0dR+uioV+3xawNdnFAgjWKHbaSUddwNrw6TtC+T+dXAFnCiBlAXqHRrfJSDF8HOEtLN+1DKydjjygVgLpqn4BtesIj2y0Q8b0hOw6Yz.wTkfS8lRnSlpc0+WKYoEQypgTsJfu7Lu45QuZ.890KEv9dyvJ2exe5A7ezP5uQz+tkYzffPx.dBUVhqr92qf1MZRVUEqWE5cyvMUpAzxEh2vTSS+Dk20bwzl59zDiWYVdw7L74jCigEKbvc21s2xYW4UPuIG19V8DuJsQ4eNxo0MwZaulMwQcCwx6vG2vYd4f3D1+hYdZ9akifZc+0dfmUC4tmq2JeM802rifrZVZRaHzn++.6sZREgFu1SCpu7GVdd4ubIn1yKpryneP8uDJBGCOcDlkzu5MXMClpBOEJ8H23nbwcI0LgEd9IOHMDKp9lT4CwKTHSH5SYkiRYPhZtdB7+rGp1THdWyATg+z5wXqZvn7Mv2.Xr3482w7fwigBPE.W27ve9l4s7nejmJnrIGggO9FJjLONc1PdZrOAhNiAOOAjYzRNKLeca4ZICLjvBxV7WveEJ6HWaTnrSoRzLreL+w94CSk+.B2JSBfIV1uchk4Qx0NcJmgZZ1d61HnQl9Xee4w+Sgqap2mcVAe9rUvmGtB974qfO6tB97EqfOe405i7ma4QoB9r71APvfCxtKyv3fr1+rpPzeiF8s0t
Definitely seems you've stumbled on some weird edge case bug.
-
@d-healey said in ScriptProcessors onTimer callback:
@ulrik I just took a look at your snippet. The problem appears to be visual. I've never seen connecting a secondary script to the interface script through processor ID, usually it's the other way around.
Anyway here is a test that doesn't require a visual. Hold down a note and you'll hear the pitch rise gradually.
This script doesn't work inside a Synthesizer Group
-
@ulrik that could be unrelated to the timer, I'm not sure how events are handled in the synth group