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.kEK0HiseSnippet 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
isMomentarymeans no possibility to "unselect"/"have nothing"@d-healey my problem is not that simple, unfortunately. When you associate a behaviour to both
valueand!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
saveInPresetfor those buttons. If you want the last one selected to be remembered then I guess you could reenablesaveInPresetin the button's callback (I haven't tried this). If you only want a particular one to be enabled by default then just enablesaveInPresetfor that one button or enable it manually in the on init callback.