Custom radio group buttons
-
I am trying to create my own radio group behaviour
Basically, it is an "only one" button style, to which I add a "no button at all" option
To each button is associated a panel show/hide, and when no button, a label should say so.
Until here, it's easy and works well...But it doesn't work with user presets, or when recompile.
I tried two different approaches:
- array with one callback
- 3 separated callbacks
Obviously, it appears that the last callback, or the last element in the array always takes over the rest when reloading the interface...
Here are the two approaches, the second with arrays would be prettier:
HiseSnippet 1374.3ocwX0saaaCElJILv1KdsEXO.B9JGfrTao1tgMLLW6XWDr7iQbZv.5EEzRz1bQhzPhxIdEAnOB6QX2MTrWhb+dI1ivtb6JORQIKYG+ShSxl7EI7b32Qe77C4gpoGyB66y7.ZYOcXeLPaKXqgTduZ8PDJX+8.ZOEZE3yYtmfrIrpbJn5v9HeerMPSa82HmkV1M.gO+02WE4fnV3DQ.vYLhE9.hKgmHsYkef33z.YiOk3lZ1unx9VLZMlCKPvn0gk.8QVmi5hOBIm1ZPf1l0sIblWKNhi8AZaTkYOrUO1ET07Oi3SZ6fkCJCZILjRbClisjwRofZ8HN1MiW49.gUZl3GVW4G9B3gDaxX4o8GRE5IHR6OzVaQzqbZ5U51SOsTzaCE8dFrkkGoOOQijaeFbeJG60AIBAookZtf03Yf0XhYP465hNG2vSLXLhhupToczeYoRa+s4yIllOyAuqkCF4UTJQ9SDb745CPd5UC3bFsr92oGavtXdMlaeFULnXgH8EjHmFkwRPYLSTlKAk4TnZhnXmx5yEkR+r.YrDPFyBj4R.MM8N.0dgzSouPrm+4OWuFxwosnbP+j56kOGg5PnX8NATKNgQ0YzHWtzbdLmhVw1ZGw6yI.uc9beHetrjN5EUikizEOQ+Q7FX7dXO81bpu9wMZDIOJlrqOlelDWwv7iPUQdKophEFnRsKridGjiOd7jhhNyEu4RvmPudDartizuDIS4itsv8EkgJeWxKu7Md4bufDv4xdkNVXMcouZJhrTKMGdDRikuJT7PPf74tRUOtnpLI5n.ebZRwoyHlUpT0Cda84mKYrp4RQu34FyK+eSNycH+XNoxKMa3VUBbuivFKNBarfH7aNod8ileH17+2P7pusxJFhMWwPr4CQHdwAYyEGjMmJHO8uTg1iXb7wzham6C4xl6pb5SqpSmYpK5E3f8loZYqZdKBXQZfaarWbBT7DE8rLYSQv42TT5d1rT9pTSjQ2mR3G2GSmWqRfHGrnoo0iXk3+3gsL84QsLobm.hnynrvnzXPHkEB1LtsUvc.tw8Ct4X3i6iF7182CwQxd+hVQhUYerGmHcfZ6gGHZpV0IXV3dX+y4r9.sLiyoDN4awh9xwuxqOoxvwC93qqP3X231vytYlLiJEsntC12Hk8+SmEY+Q+FXEruYJ6W5xEYevnr2v9YT1Oej8CqeCMeFnpVNk00cSY8qaUoiHjzh7ySbwEN9R4EbfhBrdDZWfOZ.deZSOrnjV1B9f3jbn1zTI6jTIb+lHpn1JMcfpaJpT4cUtfXy6kviepROLoaujqZc86lSrLQpQZw2CZZ7PRy3ThonYr3EPyLKgllOjzLNyZJZNqDts3Q2qTwqFNLDWjnbJQrLjz6IvzhRGy+3goStchYIT6eDK9XFB01Ra71epcFdBTk9U0icgO1CztaJhC.+8jDOz896+xnYrb9iqGEJNbKIseEJNbTWufbi4VhrbU0XguI7ztcFqJ7NsdyQo7XH+aHUdLgBvM00.Mf4I3k7CDLgxiBjTMvMDio3fVfrTLYM8oOoHO3lWhVbUdlcfChO486keTiHEhy2l3hzxKKS8I7go2r9Q4R+2V59LXSB2p2r46ZyfuhyTdr4azmPIOrdmNXKdBY2.13Ge7+dIfSXAx5nCQbOhnLBJRQZIxFrvBlPEaAH6AQaMY4oZbo38QZgo1gCFIdhTVVNVKRY4Xk.WjkG68VpS4kejlLgRDbhF9spxBOTNVebqEPXocKAbI1j2aYIcEeof6yFiwJfwbEv7hU.yKWALuZEv7Uq.ludgXje1tWGvYtpxDgfl0U6noUmhDYYgYjf+EP.kEK0
HiseSnippet 1398.3ocsX0raabCDlqs2.I0n1Ff9.PnSRHtNxxIoEMsnJV1J0nw1BQoAEvHHfZWJI1rhTXWtN10v.4QnOB8VQPeI789RzS8bO1dxcH49Ck0OwQMQ5h3Lb91uY1Y3vQcBEdznHQHxo3SOcLE4bS2tmxkCaMjv3n81A47otdwQRwnmP7Yhskbz1mNlDEQ8QNNq9H0tbJtFR+4u+1sIADtGMWDB8LAyi9X1HlLWZmleOKHnMwm9T1Hqce2l64I3sDAhXfQq5VGMl38Rx.5AD01VwE4bic8YRQXWIQRiPNqssv+ztCEuha1+yXQrdAT0hMQcAfLhaKB7ULVIE0ZHKvuSpmGg.T5jGGV0DG9L28Y9rL41wCkBbtE1wCmUVD81zld0u9zywhdqYn2sb65ExFKy0n31G4tGWRC6SfWA1zxrWzJ+kqaKArCtbiQjWRaGBKxrn58qWec78pWu1CJWB1VjHftgW.kDVUIobI3USjDeLIDOlvoAQ3uAeTJbCnxVhQiEbXQ0JcT52rRs0KWBOiOKvnFKiQaUo1yuBC6I4KfeaGKkB97H3hrowRXyLn2iI8f.DPvYamQcESXe5GV4R8Eg3p8vLt1QqclYW81HRACWFJBZQBB5AEOUEb0VRjpP7bXykKcm6faoqqw5Ba7iBEwiwoVUtDiGv3Tb+XtmjI33IfopWJWWGbmfXZsxkR3.qOtpQzY1jWSXF3v0e.lg+ZMs2HfxGHGBBt8sScgbWzdUR9F9H1yUtX0JGapiprNtOIHhV6ASGj.G76X9TL3QI1OIl5LDbFlOSw4pyEsLLUvoM8v1syA777el+qLVqcVF2mdxg8yCc0lxWjgwpGN7TTGYfGHD9FPxwLi0KBSiujfVFyejBtd5LR7gGLKBaR6t1Q3oB0AJ6uJvmigf.Ee17iPW63SFSRef1Qn2laLQ3XdtgNta4FS7d8bc4X9WqZiCDR5g7p0JcVohkNuD9pp52el5RJmBngyTsp4X3hLrJOdTOZXZQX5FgtDS1Fxc9sgr6R5YNLxZiB9dbl7vwT97ZNgRNACZSsZBqfeI0Mo93jlTliAQLnWTQ2jydQZJCTyQ24+cvzFKuoakap11eXucHRhpCahW.d1XZnjoBZN6POFt5hoeaQ2cnQuTJFibJjcPMfy0vQOI69MW7jlmls30OrISRGkdYmh2nPgKqm3PuC32vB++LXQ3e4ugVB72xB+5mrH7QWVbJ7KXvubB95JSM7EbMUoVniGYg9Eca1Gdkzk8ySb8PI8D00HcghpgL9.TD4X5d7NgTnXWcQmiSSryxMxnRwIoh9hCITwbcE6WTCrnRyiZ9JlubXNO9olCorACyuP6EGMm2k4RaXK9+AMa79jlooDWglohW.MK7Vn4VuOoYZl0Un4rR3toL416Fd0NPPjPhxSYfann2m3ZKx9c9q22N4NHkktN+K37oLz04lNYG4YNY3SbMoeaGJdUDMD0afEwQn+YRhqCu+9ub4Lbm+3hK0h0GI47qt5NlUTGF2ExxMUiU9Jcer0yTombHbNJUsdhlRpp0fwfo00lbrHD3kZLrITdPrhpwiz1rEzKDoJEy8o27FC4QSOpBLvjvONfHmbJJ0niIJfdZSLthZjDdDSdp8nkePFs55R2a41gI8FNa9txL3KzS4CMeSFTsr6t86S8j4jcM21+3G9oRQOQDqpi1mHCYPYjKjhzExF7n.S3p60oJWVQUdZVWO8bjtTtudwkvmDkal1SVobyTknQDuPwK7Lc3UiBWPKA3DW+OBTzce0Zb90IbquQczHXB8W34oBEeNv8YaSikvlsVBat6RXy8VBat+RXyWrD17kKzF0eNxCig4JMkIffN6ZNQyYWNAxxzYjn+CPnnX8U
-
@ustk Why don't you use radioGroup ID? You can set it on the Component Specific Properties section of the buttons.
When you set the radiogroup ID the same number for all 3 buttons, (for example 1) you can use it easier. -
@orange thanks
I know the radio group, but unfortunately it doesn't allow you to have "nothing", you always have at least one buton ON
I could use 4 buttons, 3 for my functionalities and 1 for "nothing", but...It would be cool if @Christoph-Hart could add the option to switch Off the On button of a radio group
-
-
I do this all the time, pretty simple. When one button is clicked just turn off all of them except the one that was pressed.
HiseSnippet 868.3ocsV0sSaCCE1osAslshFR6hcYDWkpxPs72lD6GFkxT0FP0JCMIDh4l31ZQhcUhCaUHdQ160dO1av1wwtj1R.QlzxMIme9N96b7wGmNgbWRTDODYT93wiHHimX1cLSLr4PLkgZuGxXQyCvQBRnsR0tiGgihHdHCihePpvnbITxyue2tXeLykjpBgNgScIehFPEoZ6ryGo996i8HGSClx6M1osKm0j6yiA9TzrNZD18B7.xgXoaELQFKzxiJ3gcEXAIB7YWt23tC4emo7+DZDsmOQJz.0EBjRMp4PpuWmI4ZDBYTpSZlWTk4Oy7.pG8F8oUfmlXvNEwz0.iByRoRyPoF2Ek1m66ICvcPOionWIE8VxrqaHcjH0hjaO1rMC1b5igx9zzR4KpvyKX1jCdvDqFfufreHHbCBmspWeE6MqWu51UrpXERFPS9.1EhD1WhCs6EKDff8arO8LvTednsCEjpusM0901qCupUqZEqqpXYCOZ2OkdF3yj0c.QzjGLhy.Amk2Mwkkq4Pq0npbcmE2pQRuYhPteSrueOnAvgyTfz5qts00RVRY9TFwteLyUP4L64bywU8dEHQ7iIojb9jPu3q5SXCDCmjQRO0.tMCOQFQGnrkX+Zka50K0tZcA1NEEOjKHGwbpZckUYqqsl2R+9YYRmQ9jvrrJODEdOvbXwA8HgSpCZ+f9pYabW3g035p1UmxQNqMiJNZDQKm1Z2HiVajts.ZxKpIH7kHoEeQcKtZeDQgfT1TIz.kv9om1fxA70tA9BSlLkG3qmA7uzdOr.KOqpyHHKGQBETYwzXOxkvfO0I2xl6QhtPvGkjx5SBP8+Ajz+.YXZ7VX0FK+3aJZmiHr1bQ3m4NBqOWD9UxD7aMcBlQx8h8whYGbJugPa.5ImYBkbJDKhJFO8dZNllVOyooY1x8.o6RlcnB2gYy2BYvWXy++Me02MUwrU+9DWQJYKYt+W+WuHJGT4y7XAkM3.rHjJaDNLNnKb8rKAXBiQ7ij8DEjMUJ45RYYkoKg4kH7G3QargT1ParwDin.raH+b83S4seOJQCvIVxE+kg+.AjsuYFfj2AvUxm65JKDu.Xd1HVK2HVO2H1H2H1L2H1J2HdYtQ7p6Ag7+ederfGnNV.J5zJY5mgQKFF5pR5.Q+Ewzdwi.
-
@orange In fact no, because
isMomentary
means no possibility to "unselect"/"have nothing"@d-healey my problem is not that simple, unfortunately. When you associate a behaviour to both
value
and!value
, you encounter problems when the callback is triggered at compile time or preset change, even if the buttons themselves a perfectly working... see my snippets above -
You could just disable
saveInPreset
for those buttons. If you want the last one selected to be remembered then I guess you could reenablesaveInPreset
in the button's callback (I haven't tried this). If you only want a particular one to be enabled by default then just enablesaveInPreset
for that one button or enable it manually in the on init callback.