Silly Button Question
-
@trillbilly Didn't I do this in one of my mute/solo videos?
-
@d-healey Yes, maybe Im a bit foolish, but I couldnt get the example to work with just the Solo Buttons. I doubt it has anything to do with MIDIMuters vs Gain as all that is being controlled is the buttons but for some reason I couldnt get just the Solo button to work.
-
@d-healey Here is the code I tried to decipher from your video with your technique. Maybe Im just way off...
inline function onSoloButton1Control(component, value) { local index = SoloButton1.IndexOf(component); soloState[index] = value; if (value) SoloButton2[index].setValue(0); SoloButton3[index].setValue(0); SoloButton4[index].setValue(0); for (i = 0; i < SoloButton1.length; i++) { if (!soloState.contains(1) || SoloButton1[i].getvalue()); } }; Content.getComponent("SoloButton1").setControlCallback(onSoloButton1Control);
-
@trillbilly It's no good taking that code in isolation. It's part of a system, if you don't use the system as a whole you end up with Frankenstein code that will make you unhappy.
-
@d-healey I guess that is part of the issue. I dont need mute buttons, just the solo option.
I guess I could add a mute feature but Im fairly limited on UI space as it is.
-
@trillbilly You should write your own system that does what you want, taking guidance from other examples.
-
@d-healey Yes, that what I am attempting with the MIDIMuters. I thought I could possibly take some guidance from your video and implement it in my own project, but as I now know, this will not work.
I'll continue scouring the forum (dread). In the meantime, if anybody has an idea or direction they can point me in, its super appreciated!
-
@trillbilly Another option is to post a snippet of just your solo system for us to take a look at.
-
@d-healey Here is a snippet. The code is ugly (fair warning).
HiseSnippet 1898.3oc6b0saaaCEVJNpq1osqcncaWJDrKb1ZSsD451vPQSiSRWvhiChyZ2tpfQl1lHxjFRzoMXn2r2n8Fzmfg8.rK1k6x8FrQJIaI4JqnJmelyjuHv7muy4SmygjGRJm8bXVXWWlihZ4CNY.VQ8FZsNgx6UuGhPU1dCE0ao0.4xwN59Us9ICPtt31JppkdlrB0xKp384uex5HaD0BGVkhxyYDK7Nj9DdXs6s12Srs2B0Fe.oejdCWaaKFsNylMTvmRZ0TFfrNB0EuKR1sEzTTu1lsIblSKNhicUTWbcV6SZ0i8Jpe+eNwkbnMVVvPokPP9UuEytsjwxuqTuGwt8didtcUTTu9dgVgR9Vg6p0fzlLt9Pqws8ZPODQT6g5BwoWoXzyHJ8pEgdIPI0HTZQeJcGsVVNjA7vVj7YIssoBmSGjvrGkJ98UYgeaIs5LQOn7U6iNBukinvXDUeTsZ2WW7mU91JUd3Ca0bml50at6A62bmVxJpirs06vbz2rSGrE2shv83x0OF4nKsBMFJjig9i08hXVsKlGynUc4vNsrPCI.1LKfMmBXPV.ClBXXV.CW12vbDkcnqtnibBsqtPZbGlsMts9CzsIziz4r.Kj9wDTXrg91aDU0BIZJsVi7GB4Um0e.iJJHTpWySvVQcfzg.R.BLcHvDfXXlJDCyDHV5P.I.AlNDXBPL.oSLv6BwLcHlI.AlNDXBPLfoSLXBDKcHlI.AjNDvnHTqQiT66OWsLhUFV1YH0hSXzJDpHREOtrNiJm+Y8gbNiZT2Ohtp0HoeeAArGhWoxOWobjoA99oMN3Kzs5gncEe6wxpEiDjcPn+9r1CswUpT1O7dUWL+4RIWsARLzqOgVMnAgPqtbezqWdk.cq+45FqVaEwiW4wnCTR0vJASSjfrHRPRhDNMQByhHgwEY4JuQ3eR1AFwAr7JRcF3Fjl6CEK7UMIejzcmluz7BxWZXNEqjngS2JI5TB9xoIRPVDIHIQBmlHgYQjPyb3KMOceoYF8kfKJeIXZ9RPV7kfDL7lSSjlYQjlIIR3zDILKhDBxguDb59RPF8kvKJeIbZ9RXV7kvj7kSSjlYQjlIIRvzDIHKhD.yguDd59R3XeYDW3tLNtIspmapxapnOYSc5jXa0G43bRrY4FebRCXU5v9GhchFjH6nX2.w2hw0l9VLhtCHKeqSjNxnaSI7lCvAkC2ijQBaHQIv7J1ZxsCXnnqbuMlbqfMl3aDUHBgbSsHqbo38HDcSgJumhvb1EAX1EALeh35Z9YuLKnAyDZ3Lg1vblX9LgFNSnM.yjGalPCmIzFyVr1LgFjD5eX6MPbj7fIBlHPL4v.rCmHmCRcC7wDKr+wTTVaCr6Qb1.EUswSDKlmJiyU7ZAL0OVnwSjeop3Kuhzl2KjL+zZ8vjt8hbbReyZJu2JxzWQ+54th.9JZG0yaEA8UzeMCJ5C7UzMGcPSHJ1NPOx.Ce83J0SXjwIiK71WsVb881eYr9zT+CQEGOZsI0Rp2HhdKe5yclqvhAHGg7inn3OGCFs911skG6Y34MoH.h5iEeU1xszHcoLm.XJJuGDGLIw24bk3fyLhCmj3NmqDGdlQbibNvNmD23rKTYRhO2DpLIwmaBUx4TyW5gJlSR7clSlNDNIwmaBUx4hqW9gJSR74kPEvjD24xb5v28x3tsVC4otf3wuaP4EhFzfX27wtPN4ktQcI7ShdgoSdggKlsKL7T1qdFo6cz1ivs5kLeWHA9JR++7luAW+5M07uOsPxtn1V+Xp205YNUtmOUVR6EniwdWUnGQtmW4NLm95OCSwNRapQJ2J9um0aEePluU7lVbAENvAQcGvbwFQk7DsYFssMv7gz3c2upX8R93sk3wKR+t9ZipzLZkhMHDSXhxwjTCRjsJ7mOYSJR3PZgEOMsa5ZIdXk1tnCG1ansK9ExQ4FQAFVsYzp+NjSagewJV.Zo3QEZY63whOtMR+SObQ8ZmWu4.KlMdeJuXCpuK8VJbROOVEaYmXLpTleWFLR8cYHxQGtPFNDhIl6MWGjwGp0g75V7gVGIOhV2DDxE1L5mMuBHkGwwVj9CrwaROFayD0H43GosAtCZnMeTsw8iMXT1fdLJI13j8wbGR2t3XC+R7A5obNx5nvZt6Z6iswH2H1yOascHTLxQXmv4zVX7d+5vjn+5S07oqtbJT8qFqDW5+8qDm9HTwpLyOd5OQSrxmotm6V+x2euOan7VDafDyFHy2d2g8aIRyvBKXLkhskqfptfbRW+x0jkkzoEl11qv+H9DzngrrZPiFiZLmoTYVjRUQJUy8oTYVjR0UhTpLKRopHkphTpJRoZdNkJPQJUEoTM2mREnHkpqDoTAJRopHkphTpJRoZdNkJXQJUEoTM2mRErHkpqDoTAKRopHkphTpJRo5+FoTcQni9HKG1KC9UR58+xCuZDO2Tu+mgTVqgrr93eATZZ0VslRewReuzxRFS+.g8IYLl4.CHGXf4.yWlCLOJGX9pbf4qSEiLqimNjy56G+KpXuM89sEop5mmn2PAk+ELz2ziB
-
I Probably should have checked your snippet first, but here's my attempt at "solo" buttons. You can replace the Samplers with your MIDIMuters or whatever else you want in there :)
HiseSnippet 1446.3oc6Z8uSabDD9NLGA6lF0DkJ0+oRmP8OLJTj+AgToTTL1.QnF.KaJpRQQQqOu1dE2s6o81ifKh2k9HzGg7vzGf7FzN6d2Yemw0XeTfzVaI.O6Nybe6r6NeeFnNmYg87XbM8rG22Eqo+Pil8ohd05gHTs82QS+qM7X1LyV9BAiZhOG43Zi0p12E44gaqoqm40RW0ytnl50mdUUjMhZgGNjl1ILhE9MDGhX3n0q7SDa68PswGSbh48FU12hQqAOTe.VYLJn4hrNE0EeHR51BFZ5KsaahfwaJPBrG3SUV69M6w9.Mv+SHdjV.HAihZMgDELrVsdD610iVxdZZ5On9vBPlfBvSMNfzlLX7gEhuRMg4vHhWCzWXRPp3L.I8XPZw.H8XilVbhqX3LR77EF6SEXdGjUxsi.e0V3OxXTiAdPEq6fNEuGGLFDQ9MKTXMS3aq9xb4fxsmv7LDObW1ybKy2FEaWrnFywkQAi7qTU4PwUVcsbli60jhpTphp7Jq9tDXzScBjq.o5rpJLYcTYkeklANn.YV4KSyI4WoozuPfPn1DJ1riO0RPfaDAkr5bXiIuUD3WCPpsOd0bWjKKoiY9PqrY6v3l4asUgWZ15GCK1qaiocE8fQd1yjtbgDLxfBm+ssdm4VaYNH2qp.aTU.lccOrH5.P9hvFJLM11CK+oJYYGlIoumHAS9BAN92lnv4uLm5qf7cQzJvyjPGrQn.j2UQADVtKgJ10bRRFnzENytFx1tEbYOerhJjoq4P0MKAkmlDLX2lQOjIvGQyq1ZycYNyQmpSmwNWX9g50XmV1BjOo.yS8cZg4wOXIcD5QjrwyRSWiGqfJRLGYz8oDwQt3P68X1skMTju+psozBKoPCqLgHDdmP0t5QgsqBpuZDHIYMB2t0TvON0f1LDdoAguTZBu7XB+m2eGj.I66FthfUoKlKHxho9N3y.hqftvYM1A6cpf4pVxgmhf5+TrnOON6V+AFezth1LkoRxLYn+aPr2frTNHKqoOZVtJyCv4wZ6aiDIIBkL9gS.GRSv9HYXndDQ+3JBlA1wBSjcbZg3iMpSDV8FOFWXLXDN.bafwPMEeowtc5fsDCA3hF68KoU.wz+3+1fG+SLZJ3XjCg1MjKSggbFQLkIpNoTNm6TKmCZpZyPsaR90Xt8wJU8gZDO4n+dE0iZaGlOMwyJD4MvtXj.1liEyxUZz30blu6nQ8oWoNTbLG5uCkh3SbDEC0ZQ70XMNyyqCrbT4xK9T084ck0pgiz.eFPDlbrC8cf8aJEnNkW2zkMa7vx8Wh0AHAmbdbuUOkBGiT6wfFWkcwQrKMhc4Qr2XD6mOh8liX+hg1AEzCPtxSFRM1ivqr7zwq.InNBVxw7rJo6fjGLRx1Gwb8HnJdFA+g3bOC1GTXMlJ+wncdoaK47KNc2FuFNyO+6ul3SejMBiMIxsucomA2agQjX7I.YXGjusHZzD8Pxb.ixb6wnDqj2RfS8c6h4ww9XWPaKDvkzgi7zJMv1XjWrq4eWk2.5vQ7jW9moZwr+IwF6902XD.WSYiOyax91c5wrIxQlYp3H+GGuomu7Nsz8nPlSS3oyEeluO+PCUudSI078ETav7E.kaDsmAvM1DzCXgiyPtfj0MvtfzVBnlXZakweBuBmrXDcpbxhQSpYEkJXsE9dkzd8LXpj5PItwFHpsiej1CTcHgDP4kBkSklqbZtxoqQ4zCtuTNcWJP5V+Sz8uRQQklKJ5lKJ598WVPl+27KK31TvysN.uYhbRO79upvlxyE1LWXybgMyE1LdgMkmKrYtvl4BalKr4dVXycAJcPVb16sB9yLKw5xpQ.TRU+CIk03.os4f+11FFEVuflCvw7dKK4g7uGnrFeLkRQLkSQLajhXddJhYyTDyKRQL+vDiQRuusuf4DzzCFn9tAGrz2cvAqLZ+EfK5+0X
-
@iamlamprey Much easier than my jumble, much appreciated!
-
@iamlamprey Hit a snag with this solution.
If a Sampler1 is solo and then I disable solo mode, all other samplers turn back enable, even ones that were previously off.
I think I know which part of the code needs to be edited to do this...(not really but I have confidence). I'll be tinkering!
-
@trillbilly Yes that's a bit more complicated, you'll have to setup a sort of "memory" array that stores which buttons were on/off at the time of press.
some hints:
var memory = []; //save for (b=0; b<buttons.length; b++) memory[b] = buttons[b].getValue(); //recall for (b=0; b<buttons.length; b++) buttons[b].setValue(memory[b]);
-
@iamlamprey -or just use the solo mute code and treat the sample on/off as if it is your mute
-
@iamlamprey Awesome! Let me give this a go!