UserPresetHandler.setPreCallback does not work properly
-
@Casey-Kolb Can you reproduce it with a minimal example?
It might be possible that a script error is not propagated to the console in this callback so if you do something wrong you won't get notified, but there is nothing special for this callback that would prevent doing dynamic things. If you use
Control.print(d.value)
before the assignment, what does it say? -
@Christoph-Hart Let me try to do a minimal snippet. If you print
Console.print(d.value)
before the assignment it will work, but not after. -
@Casey-Kolb Did you call this function
UserPresetHandler.setEnableUserPresetPreprocessing(bool processBeforeLoading, bool shouldUnpackComplexData)
? -
@d-healey Yup!
-
@Christoph-Hart Here's a really simple snippet where it will only ever print "Before Assignment" and not "After Assignment" if you try to modify the preset value:
HiseSnippet 1249.3ocsV0saaaCElxIJq1saccn6dAicgCfqgcSW2vJBR7ucFsI0KNsa.ECcLhT1bQhTfjJItEAXWz62dRFvdBFv.1CxdC1c6xrCkjsjSbSSLP4Ex97K+NjmygmARgKUoDRjUw8mDRQV2xd3Dtdb6wXFG0uCx5F1CjTEUiZMIDqTTBxxZkGajZUbUT75e2pE1GycoYrPnWHXtzmxBX5LtC19ILe+dXBceVPNsev18cE71BeQDfjUrqiBwtGhGQ2EaTqfMxZstDlVHGpwZpBzokfLY3Xww7D8eASwNvmZHZfFBNJgMp8XlOYvznTgPVqNHKlWIIluq8NLBaF+rX+SiE3jYQ9y.qBWFjZbMfjUNHsZBjti8PWIKTmIwfmaZ2mqoROLbTmGJI5hJ74EraK.M35ZA3Co8j.wLKp7v50q5.eV+QkJAG2JsyQXoSTnylNc4iXbZMWIEhkmqnxj67uEyI9TYEiEQg0.Nc4XHlxz.9Fl.QFeTEsLhV0w7MyBPi1Xe+CfKzJdQbWMSvqPvZ75NuoTQOgzoBwgwcLrpkhdiHmzEyCTnFi3r4lNkeBWbPixwVNUNXhR3SqEJYbckxsnfKoNMA.MhG.9pL.EmbKRsiv9QTHna3buoTyqx4bYSO3D7c3wSKk78z0ezzfyQv2UnoOiWY8R.NKApbdQddKTlI5kB+3S7EH1TyHuLCqviBNfJq5DGSyTDRplOScsqVlpaxkQNEE79bl9YgzT5dBehICz7+KlWiRuMMY3oHDTUGme+Io42C8YDpDw.m7Q1w2tnXvm1a3m90+5u2B879cfjiotA7HrKgTolYBFqNzifNMIkMEs6PUGpEgPSi1hfPA2r+V2TmVmmro87EXMjutOCBZyVea67rZfNIq0zWr8jYDa+yaeLinGirrs5T.gFSYiFqMTkslEsI.41ocMaIEGCEKnCFMs6Vw0.O8eF2wzzfLt+wY+1Yyy89oJGuhOAJ71B1lJixl6jg3inshzZAu72DWyUcpjtmDh4JH0P0TAtJJvngG1WkoR7MmbwlaRQUWvmPFTh5yIJiMjTCwKHqQ8YF0jPV7VrGkCc1WrrNTep9cHqG9HgDNgLOWjWVJx5CQMg1RHgXatPd2nfjCBC32HlUB82atO2Ct5EffWFWLWu1FmaU8ZxGX+iw6wSYJcSnm5rylzcn5h9YlUIHaOwwCvDBjSdUsaHEKcG2BKaIh3DSj9xDA6.cDSNgNujrbnyKY5I8EjV5TSp9rRqa8dqmyJl9kuKWwDPnzSLccVKVQT.i.O1LPnXltZ4lt3OUZZ3P1qiaJ7l696O9ed8a2JH+.HHT.9j7yinh77XmDO4fGyOPoAr0O.Fn.Y8Y1vqWNDpGNxW6nND7iOieHkruHVezEeLFFCPPh7w54mMvLDTp.Cfy+fr4QWHWTOIOntFCLT+RGX3pBw6XOfocGuXLVXAXDZw9g.ioiY8w1c87nt5L.tpcueXYmo58r86IhL8y2ACW8PhfMzAXHzS0kB6NmS8Ul11ELORkPW2PaNAFR4jXhyfUpvFFZqTgMlJDR5bkhW4l7zlYPtaDyAvDOdt0h16Xncl8llsc8Z0MI5rW45ZB+60.gVrM2eIrYikvlGrD17kKgMObIr4qVBa95K0Fy37MizhfjxAfwftwurZYkLYabVH5+Aejij8.
-
@Casey-Kolb
I wonder if it's becauseContent
is a keyword.Oh I know what the problem is. Do
Console.print(trace(data))
and see if you can spot the issue.If you give up and just want the answer:
HiseSnippet 1206.3ocsV0saaaCElxIpq1cacEXO.DF6Ba.WW6lttgEDD+Sr2LZSpWTZ2.5FJXjns4hDo.EURcKBvvPue6UYOR61c0taWlcnnrjbhSWmwptvI77cNjemCO+vwRgKMJRHQVkOZdHEY8g1Ny4pY8mQXbzn8PV2zdrjFQUndyCIQQTOjk0FesF0p7lnju+Z2dDeB2klKBgdlf4ReLKfoxkNtyiX99CIdziXAEz9AcF4J38E9hXfIaX2BERbOgLkd.QqVIaj0MF3wTBoihnnQHqM6I7l6LSbF2n+yXQri8o5EsQNvFYDOT36oYrVJp+Llu23EdbDB1kw49+FF++Ss2m4wxjmGG9jD.btEEiGVkVldarD8ZWjdsJPuUPIqBTZSCktisiqjEpxQz74V1i3JpbBAB6EohQWTo9kr6K.M3plAjSnCkvhLKp8vVsZfgepuckJPnORgOkHwwg3cvC3SYbZSWIE7kmFQkl6+ugv87oxZZKhCaBRFvIfOkqA7anghL9zZJYLsAV+atEfF8I99GCWt0lDycULAulGQQpieckxUJOQHw07vLNVKrYJ+qWo7qqfS+XS.MZx7v6rCt5i3hiaWsdFHrIK9Wv1HgOsYnjwU0p1iB6ME2E31Td.roUAVkorWySI9wTv4aiuKNjHinC8EDUsTf5aiu28xzhEgIXGErwSwame3q3T6NAh2W5PWn54UL+dd8sWDJvB9ABE8I7Z0qniGfJWFZxjUhoiTRgex8yJf0Uax2lg03wAGSkMvF2cghPJ3x401WedcwxNWyEWAEE7Qbl5IgT90ULhRus00.orBTUkTA7woU.N9LOpDwfD8OvN4xGkP3zNI3e3W+ycQOczdPxyhsA1Q3TBoRES6.V6QOE5KYJrJauGM5DkHDZwzWDDJ35y25VpzNAlCMIS.tqOhANp9nuscQQsQuLuQ1m0Yd1hN+TmyXdpYYBv+RmYT1zY4MDwxNobzPnam1qsmTbFTVgNd5hdhkuAn9eqsgonA4R+8K9sKVV58SUN4KIRT5Mkr0EPU02GNjSo8hUJAu5WkTc1XAxfWFR3QPZQT2HXqhCzZLg3GkqRR6T4pMWmdFck8DxdLpuDTtXHgF7W.qcqLi554s5i3PJGlGrZr8n9T00fMjbpPBQH8PlhXoLaD30dzdBI3aK4xGDGXBDZxuUhHy5uSeudHjBH.fmmTH2p4VW5qw+Q4f3eL4LdLKR0E59lEaROgFq5OYVYX1ghyFS77fby2U6bnDo6rdDYOQL2S6oO2.rOzvzDgtLRdNzkQVDouBZky0E3YkX1+q004EU+72VnnBVDongNrWsnnuye7p2rK5pSMg40BuXehZ4g35WtjB.o5KM4TOcDRETyK9xl+2lr+tRw6XOlobmsZNVZEbD5z89fiouG5irGLYB0UkSvMsG98ued7C5PQrts59DX3Jj.XCEfNPKMWJb5bN0WOAxpjdVgYcK8ZcDvgx8RVbA7kB1Vu1JEr8BPT.wUJdgqYBi9EW2LQBvIdxiMKauudMNazhscqlsPAvi+dgqq18uKL9Z01b+0vlsVCadvZXymuF17v0vluXMr4Keq1ne2c2XkHvTN.BFOHYvlkk4InIYgn+gx7122
-
@d-healey Oh yes I had tried
doubleToString
in the example above for that very reason, and that didn't work. I wasn't even aware ofparseFloat
in HISE haha. I knew the string must have something to do with it but couldn't find a way to convert it without the function aborting. Nice one! -
@Christoph-Hart Back in business! Working now with
parseFloat
-
Oh yes I had tried doubleToString
That does the opposite.
I wasn't even aware of parseFloat
Was only added a few weeks ago.
-
@d-healey said in UserPresetHandler.setPreCallback does not work properly:
Oh yes I had tried doubleToString
That does the opposite.
My brain is fried...how did I miss that?
Edit: I actually tried
Math.round
first and that didn't work. -
@Casey-Kolb I think these t-shirts are going to sell out fast!
-
@d-healey but it creates a special bound between us all, doesn't it?