Switching sample maps with radio buttons.
-
This is probably how I'd do it
HiseSnippet 3031.3oc6b0sbaabEFPRH1hINsIMclLcZmAiyMTQpp3mE+vwoSjDkjsZjr3H539iqGOvjqDQMH.GPPaq5wuF8t9NzK6kc5SPeD5iPdCZ2E+PrXEjB3oZscRptQb2EKv4a+NmydNmkD8hiFfmNMJVRd0Gb9Drj7Gnz+7vjQcG44GJcvtzNl9B+jAi7COyVZmym3McJdnjr7x2kdExqthT5eeyWtiWfW3.bYWRROLxe.9P+w9Ik81aquxOHXeug3G3Ol4pQacvfnvtQAQyHRyxJZRS7F7Luyv22idYKoHI+d6MzOIJtehWBdpj7J6DM779ihdQX10+P+o9OM.SanK0mbix5d+nfgTIl1qT2Q9AC6Uf5oRjaZux0fkyVC9Dki7G5Ou+x0heb5.pkyfc8PdoqR7zYEOslKdxLh2JYh2GozePr+jjxQnx16qbPXBN9TOBEvJVYWqzR8VRoaD4JBS1br2yv6GSZLeFss0z1P0RSas6bqV2pEgHlln9buX0miChF3mbt5uVMUuXyyvIUVbZe6hK417y8oyRRHMHS8QONcnSihUa6SZqcGUe0uPEQ925qu1sZ8pa0Rk7W9D1bxroiZWHrjGX2nwShBIMZe6rK41pqStQqqu1ZzmIyTej+i2bJcBgIwQAc8BBdJQIpc1nEMW6NsdMUb7CC7CwpmNKbPheTnZ0qp8fhm5FDzDLCWJmD75En5GND+RBXJj5z1GeZ47JjshEHpjscRRrOYF313WhGvt3sY18Y8zaSwijHoyEunv6GkfONr8ZsdUqUa85Vp7Cc5o0NV9pQ.Nt1golgwW0DaGNa7SwwExTwERzGqpvqb4J7r1iCxHVlKLJ7fP+jimfCuLy.obsAhAgRtTQtzjTygOL2bXmz0OIehV+pJYKl5RohLqWJoEX5FESWQNc1KvTMgOUzhO0eTktt.pI+80GrqWhG0eR9JIY0cBNNwmRbx6heNwQcl2kUU1EO8YIQSRWpyUkkjuQCVreI6i7b1FuveXxnxN98aMB6e1nD1dh8F5Gc23nYS3nq4hvpMfvXDg+vVWOhvjB8vCHOoVJEVrjsmhI6LQbfdPpDrStDrXRrIiD+u+SuMjXyEThQLRrVxaCIFUQheuFaUvnanxJ2+wsZfbKcw8gIQCDMbVfWR0PDnwEkO.wMZk8ho62FNkBLFrKj3FZp39QJ8nA2Uu7tTMxKwEhnk27nvtkxdmdJdPRovthx9+NwGxEqn7yyDkOVoeRL1aLIF39dimP1IMUdZoj2R+5Hv3IMNv3dwD6Cug88+yLW1+XqclQVuhq16eaqzG01iilEV4YkK4mfmf8RHzOybt4VmbRpEJ+r9luLUY4AwjviHKErCbbHlrtmvhwtwQSmdJANo2qorC0aV7Yz0pxdNA+bb7zp8c+YiIbeXHNfFbgLc2vudJlx09CNxiDGUk8aReJZOvKkuIYKj1VmqsAWaSt1Ht1Vbss4Z6T1VVopt3MZV1IG4MomGAhLZs63mqkQFKqmREVsxk0zGMyC3MYtMK2rP8pQjV5hhzOU4P7YD2R+V+jQmfI75Ymkaf8o4inRx.cj57wpXtsj7xWSxVYPlRMMoKlsppKmq1KoDiOScr2j93.hqLR9OzjeXSRhLVZFRjzuL1PEsgp8iu5znZXRTjLgHWSQRTdCGlsK37LnV2eCUcKsOm9OsuKjEU0EQ5x1iRu1GWeNRyeLGQXKuyvT.8vbtpMy8hd6I33csboZcckKUwJRQOZRyAHaWk3hs2T3TykU10Ulp1JKPVOZ+ukpVc47.ISOXS275JiqUXBrckFrl8xhrDOm9gVYh8BbGzytC+E32Air6vFxfuClY2g+Yk6varnsWtYgL9sTYtUKjw99zMt2Kjts.oGpL9wD58TuYAIE8VMZwihBilLJJzeP03gJ1GjQ1qEPamjP7yV1ymr0IDWadSK0F+6+0sNj3h1KtZXdWLRd36pK2P95SUxDWUpmE0uejkzx+fOKoqZo6CyyQRk7ziSdGmm+.kzn5UoIg81RTOIZVBI4phDbTHYA0mj42.LatPKQcxl0VqXKf93vgoM9Oj+xGTuHwI5f5ECJMn3VQvV9mS2rRdYbHMqhz3pCHojEvpROkjeIUjHI6HMMkTGmlfBckizGWRiT3cj+fdQjkMhEC08hxcjjuW1Lkje+Shn4KthBRW5vnuBed9mume4mOL5gTQftpcO+7OpW7fxSMxOH+DhLUdUuSN92rW2G7j8O9vc26jWuCg+5hCBh9UGFclWnJssZZGOYeiMeg2yk1c1j.+AD5iRxGFEMYuB7Su2zNxTakughtgiisT10Lj1gqskEpXkfAOVlk3g7443IseggGyEGO1ltUwSGSsZvCBwvOHF9AsX3AsH34teF.Bx0znJfPZ0RP1LDjMCAYKT.Afgr5XVEPtZt0wPLZbHFMNjH03tK.BxViyBRywpNBxhgfrXHHKQhGPVP5UwiiiYc3gwCmEiGNKA5gaWH5aWfebLqy.BwX.gXLfPhz.ZaHdDr04.DBYTGA4xPPtLDjqPAD.FRWupKNGMWm5XHFKHDiEDRjVPaCgfrs31SUqVKHGFBxggfbDIdf3w1h2iPm5vChAOHF7fDId1ARLOZcphGxe0wOcX3mNL7SGQhGH7iCWHBN50Y+XxvOlL7ioi.cHz8y.QPUAjUmN0skJhgfPLDDpiPAz0wdpV10EUpIydPlL6AYZKPMttP7vYx4gS2QuNBhYKHDyVPHWQhG.7iigSE7f5TqGaSFENSFENSQpvsKHKHcMNKH25rfLYHHSFBxTjDztf7H3vGjcsw7nw3xViwkslHwCnjf3S6FUaHOL3AwfGjHwydfhIkaKHMqZ4GCF9wfgeLDIdf3v1gygcGsZKi.CdPL3AYHPGB6CpLBFUcHXaZVaLoL0EwhotHVHgBHPtr4YHqZ2BpAEhynDPlWFfbtb.sc2tYXhsGXEiSiqzHcbcAVLNwfIPIOvo3Y4h.VPtlfI2EESfJJmsc0LHbz06.rnbBBTfRivkmofVXNgn8Aq3bb6K0w1.Xw4DClfr2jAe4ELsAVPKgn7AqnV7YH4Vq67lTTKAAJPLEWTdDSJfE1RHZefJtEewF5XnAr3VhASf1ihmmp8LVZRAtDBl1w35HB1Nt.KxkXvDDdBwkEnE3BcIDmDfJ1ksAOnrc.VrKAAJHLkMGnbqM.olTvKgn8AonWjjnpVSEaGDvhdIFLAJlOtLNbb6.rvWBQ4CTwurL3puuoiKvSvTPfBDSweLlZF.qnmPz9185nnDNVPqpmXvDjX9rLaR7QMoxdBASPptGxkyfBY6Br5dhASfh4Cwenl5.qvmPbR.pJe1ZVbmjdsmKSSpxmf.EDKJc9JHUejrMvKApDTVWFntykCpiiI.hCVo8AySga0LozcQc.5oPX3Bh2hKTGIMCKfdKDGttF9pEZnUe17MviQSv0W.AWf7ZXoWMUQcGSndMDHvfvXnp6aYnqC8LBDll39fBvkmvpuXYM3bBDGtfrmLWQ.MzpUQrImUfvTDgcdAc3HLacneIdEHv.cNo1bLltEvyLPXZhPN2.Kqp0uP2xvD34FHNbA56c.hiuzfd1ABSQD34GXyQXt1.O+.ABrEmwHwXTcOLMsZAVSNCAgoIB4bDr5vYgYifdNBhCWfh4PiyByE5WVVggKPmm.mdntskCvySPb3BzNXb7ktqFvyTPXNNf8knUupAlVGCWfmqf.AFju4O5Vb4MW62Evlb1BBSSDzWpVatJRYna.77EDGt.8CvgySuiMB3YLHLEQXeIaQ7A+ZA8WJk.AFDKLDeTh09iBsIm0f3p3FjXNrM49VQS+wgx76n9lY+Np+YJ2MH5odAk+ZpiBS77CyeC97KxGVc93pyufq5sl0+55+slE+6InUZ1a6fuk2Oqq7N8qO1l9Ce+mbAZZ5++Uxv24dkL7l3UGvahmwXuAwQOYP16eGpQ1MS6gf6vTmfqpbDss57W5OJJZapIMlXb8jACnK2+Rx5S8yw.vbLALGDf4XAXN1.liCf43dkyg5Wa6YIQiyLEIczaur2nDxy2jQdYo+KPMeIr.�
-
@d-healey said in Switching sample maps with radio buttons.:
Yep, that is much,.....much neater :)
Thanks !EDIT: is it safe to have a loop in the Oninit of the midi scriptprocessor ?
Also, what is the exec for in this.
velocity.setAttribute(exec("velocity").button+index, value);
-
is it safe to have a loop in the Oninit of the midi scriptprocessor ?
Yes, the
init
callback is not real time so we're safe there.Also, what is the exec for in this.
My secret sauce :D It executes strings as if they are code. I posted a video about this on Patreon a few weeks ago.
-
Actually the secret sauce isn't needed here, I was trying something else and left that in by mistake. :p
-
@d-healey This is turning out pretty smooth .
Btw I am using the Midi processor at the top of a synth group , works very nicely and switches all samplers in the group. -
@d-healey found a small problem with this , I am now velocity switching a synth group with the buttons and that works perfectly , but when I recall presets , it loads the correct button but does not do the switching ?
I can see it also switching the buttons in the Midi processor.I can also see that it always goes to the sound represented by the last button ?
BTW> same thing happens with my earlier version of the script ?
Any ideas ?
-
When the preset is changed you need to update the variable that tracks the velocity offset.
-
@d-healey How can I track when a preset has been changed ?
-
All control callbacks (for controls that have saveInPreset enabled) are triggered after a preset is loaded.
-
@d-healey This seems to have solved it.
reg mapSelector = 0; const var maps = [0, 2, 4, 6]; const var buttons = []; for (i = 0; i < 4; i++) { buttons[i] = Content.addButton("button"+i, 150*i, 10); buttons[i].setControlCallback(buttonCallback); } inline function buttonCallback(component, value) { **if (value == 1) { local index = buttons.indexOf(component); mapSelector = maps[index];** } }