Syntax for Setting and Getting Array Data From a Panel
-
@Christoph-Hart that I'm using an object instead of an array? I guess it's just old habits
-
@ulrik Isn't accessing an object property slower?
-
@aaronventure I've never thought about that, maybe you're right.
-
@Christoph-Hart how to set an array, then? How to specify which element I'm setting? setValue only expects one parameter.
-
@aaronventure that parameter can be an array or an object (the only illegal type is string because that can cause weird number conversion issues).
-
@Christoph-Hart @aaronventure Would this be a better implementation?
I store the min, max and range properties at init (so no more looking at properties at runtime)HiseSnippet 1600.3ocsWstSabDEdWfsJ1sQpQp+p+Z59ip0EXw1gP.Sog6ozvEKbZZpPnngcGudJqm0Z2wFPI7rzGi9Z02f1yYlc8NDLHDp0Bg8LmKy2bNemYNS6zj.VVVRpkck2d0.lk8W4z4Jgr2V8nbg0daaY+0NGSEQLRmXdHKkzzZyqFPyxXgV11S+ZTK6JyXo972uZSZLUDvJmxx5cI7.1979bY4rsW+M733cogr2x6an8hquWPhXqj3jg.hl1ot0.Zv4zH1gTTsobrr+hcB4xjzNRpjkYYOylIgW0oWxEBs9uimwOKlgCZX0Abjd5cShCQDiyZsUOdbX6hcdlE3k1kwgo0wguw4.dHe77lwCT.ozBy3g8T2DdSeC30vDd0Mf2DfjsAjlQCom4zIHkOPVJAwyW5rmPxR6RgvtITz5ZM0e8DmsR.MDR+9zyY6lBCFag2R0qOGA9WsUqVcgEpb7FG95cHc1eus24XR6MNbm8qL+C6SUHwkIIJtR6iIqQ5NTDH4IBunZU+X0JinoDJLsrGOyOhI2OIfFuYxPQXlGt5Upn0YjgNuiFOj4gB0x5yEuGDSOo4oKLxOUQK+Ah2H+QnhmT+Tx7jQ9fVnIJCnWdeFzvzfpUh7yXRM4yq.BdtmEomxsF50H+t.y8XD2rviYARvmwLuSfnH7GtP3+e9oKrH7i5Zna5W8WY9Wvk81HdPOpwJwkr9Eq0b5fPHUR86kLBJ7dEogecRKRc+kuWjfAIEXvM+73nYadaLgQGoQn1yUxtT5VD3xF1sK+RTte1vyxjobQjmzmCq0kG00ysUK2Znak9wLQjrWgcp35FYuE7EX7.ZZFC3ZFYnZjYKb9rD24HtvW2RsFFpUhVsOKCK8SFlw1FJsfPi451BPUJaPLRuQfNq1QvZ4d67wM2+2LSGlRuXiXdjfEhN1C0.hjfiBfpoTV3lIRYRezqWC7GiBfC1ZSyJ.1HP+wUA2EC+yS3qQT1oGspo7xcdgN.TiTNg2knWN+fXdv4rPxm9jgN0pVAPQQpBLunpXgwP523gxdd0f5DsYXhRUinqQu8J.9T4TkDiZw0PuONghJXrEB5oV10Tv3GIFl8JhKrXtPZzEXvt3phKaEVbF6tbxATYOe5YYFK+7vOpAd9VhZjKZBqy0Uy2e2dIVSqsZaXtG09WEC8fYmSGplybmidt.7Fm7LISK7qxMzKyOVTui0HITQVtdLeAH5vESRubNXNIDyuJhX9k1qQJtBHBY98GjHfAdtF5fr3pFiwZj1nqgSXjbAyK+jcPsOSqCP13Vz33yf6p8J3+n6pVkKhAaGWIPRDFFiXJMI1Kn.PyoqiUUJpz.bsWRW8jjuCRAIm8GvAct4r3X7JD7RAX+M1G5hYUtZ0RcnWNAcfrtRmx4yJpH+nxCsHpboRyVnSfeqxW5QyqkpfGLyIpgv7md83bjNuifE1rYIwL+AoX5RYS4ghqduJn4P.4DyvOfDo93MUrcbZYRAdUJxH0bXhjcjvSE9qdcUxmKpa2IJK2awrzIJF6vK89LzSLr+YrTyjOpHz1yM6kx4t6kxrUu.c.xPwDwdBt7nALwc0.nUdTE66JGUfpRUWWOsnqKpfEawCwYLhkVJTaY+FmeoyQGVvap6WeLuoY855gETmwSLl4r7KTSrxRvWmdsk0ut21vgOEnA.F.1ArTIGiC1ayFAsTq6Irhy1rrykICT5lyGft3eXX+xxVu+80uxbvE3s.kSvWuGiG0ynE9eZ8x1UvlPWtwJMZ1b4UV1BnbIWTP7.79sNagWTjMG4mU2q88jsgahhfNJrJuyEe3whMWYwUV5kMW4EJAnWU8i1pU+LKHVNdwW+OWOiNBZYncJC35vVeJqa2tLzndR3vXp7lcuiOYIW.PCuQKyXawhLt7Jymz7eVK8OTH9Lm1bYPuIiwol.FAdx+GXL+gPO0YmtcgScKA3LN699+ed0ik9xlH3lwTNjucNbX+N.6HfAqt.3v3w.PxFMUMtNNFi.cXhP0f+A9jKrAN1NWXiBg.SJHM4CA5xb7oVOQMCfIg5UlUbN.GSZTTZ63.kkV8gW88gf.b6OObFxjso4ivlm+HrYwGgMu3QXyROBad4ivlkuWavGbuwPnUac4.LQ6cTGPZauifBLKEKz5eAieFzFA
-
@Christoph-Hart Alright, so what does it look like?
I feel like I'm miscommunicating this -- I can't figure out how to write these two lines of code.
What's the syntax for storing an array in a panel with .setValue(), and for getting it?
-
@ulrik Sure? I mean, the other one also only gets executed once perhaps, at the very first run while it's undefined.
This is what I was referring to:
https://youtu.be/fV9hOZrNO_g?t=1360 -
@aaronventure said in Syntax for Setting and Getting Array Data From a Panel:
I have a panel that I want to use to create a horizontal range slider.
Why not use the built in range slider?
-
@d-healey said in Syntax for Setting and Getting Array Data From a Panel:
@aaronventure said in Syntax for Setting and Getting Array Data From a Panel:
I have a panel that I want to use to create a horizontal range slider.
Why not use the built in range slider?
Is it not broken?
-
What's the syntax for storing an array in a panel with .setValue(), and for getting it?
setValue([0.5, 0.8]); min = getValue()[0]; // case that panel is not initialised needs to be handled too though...
-
@ulrik said in Syntax for Setting and Getting Array Data From a Panel:
Is it not broken?
I never used it. But I just tried it and seems to be broken. I suggest we nag Christoph to fix it instead of hacking a panel (unless you need the panel method for some particular reason). :)
-
@d-healey The default controls don't let me define custom modifier behavior (ctrl, alt, shift), don't have the useful .data functionality and don't have the mouse callback.
-
@aaronventure said in Syntax for Setting and Getting Array Data From a Panel:
define custom modifier behavior (ctrl, alt, shift), don't have the useful .data functionality and don't have the mouse callback.
Broadcaster would solve those issues I think (well not the data one).
-
@d-healey True, but I still can't disable built-in modifier behavior.
-
@Christoph-Hart Thanks.
Is there a way to set only one element, or do I have to be defining all elements every time I'm setting the value?
Is this done by setting these value somewhere else, like a local var which is an array
local tempVal = [];
and then passing the array itself every time I setValue
setValue(tempVal);
?
-
local v = this.getValue(); v[1] = "New Value"; // technically this is not required because the value is already == v this.setValue(v); // this will fire the notification that the value has changed. this.changed();
-
Got it working. Thanks.
-
@aaronventure FYI, I've added the ability to reassign modifier / mouse click types to different events.
Docs:
-
@Christoph-Hart thanks! I was just about to request this :)