Changing Selected Sample Maps With Buttons
-
Hey Music Lovers, And HELLO @d-healey Lol
An Idea Crossed On My Mind, and I Need A Little Help Here.
Let Says, I Have 4 Samplers.
Each One Has Viewport On GUI That Let The End User Select And Layer The Maps.Wondering Is This Possible To Have A Set Of Buttons, That Let the End User Choose What Sampler Play What SampleMaps.
For Example:
Piano | Pad | Strings | Base ButtonsI Think I Need 4 Arrays That Keeps The Sample maps Names.
And A Set Of If Else To Change The Viewport Showing Names, Correct?And Is This Idea Work At All?
Thanks
-
@Natan said in Changing Selected Sample Maps With Buttons:
I Think I Need 4 Arrays That Keeps The Sample maps Names.
If all the arrays are going to have the same sample map names then you only need 1.
And Is This Idea Work At All?
I don't see why not.
-
Thank You Sir
@d-healey said in Changing Selected Sample Maps With Buttons:If all the arrays are going to have the same sample map names then you only need 1.
Exactly, But What About Having 4 Categories?
Like: PianoNames | PadNames | BassNames | PadNames
So End User Can Even Go Crazy But Adding 4 Bass, 4 Piano, Or 2X2 Of Maps. -
@Natan said in Changing Selected Sample Maps With Buttons:
Exactly, But About Having 4 Categories
So you will have 4 lists of sample maps?
-
-
Okey First Problem @d-healey
Can't Change The Viewport Items:
Viewport.set("items",SampleMapsNames[value]);
-
@Natan said in Changing Selected Sample Maps With Buttons:
Okey First Problem @d-healey
Can't Change The Viewport Items:
Viewport.set("items",SampleMapsNames[value]);
@Natan Fixed :)
Viewport.set("items",SampleMapsNames.join("\n"));
-
@Natan go look at the view port (Ctrl-J) and you will see the format that "items" needs to be in....
[
{
"type": "ScriptedViewport",
"id": "Viewport1",
"x": 340.0,
"y": 16.0,
"parentComponent": "HeadderPanel",
"items": "item 1\nitem 2\nitem 3"
}
] -
@Lindon Thanks Lindon
I'm Going To Change The Items Using ButtonsViewport.set("items",SampleMapsNames.join("\n"));
-
@d-healey
Sir, Do You Have A Shorten Way Script This?HiseSnippet 1782.3oc4X01aSbDD9tjbAhgf.DeneAoSV8CNRgH6j.TITDN1IAEQBXEGhpTAQWtas81b2tmtau.onTwOo9Sn+j3eP6r6dumyNWdihZMBk8sYtm8Ylclc1d9LKbP.yWSet8O1Cqoeai9GS4i5NBQnZaugl9cL1EEvw9lpg5brGJH.aqoqO8KDCnO2LZxee84cPNHpENcHMsCXDK7NDWBOczdseIwwYKjMdehalUuZ6ssXztLGVHfmoMZp4grNDMD+JjXYSYnoO6l1DNyuOGwwAZ5yzgYeb+QrORUq+.R.4CNXQmVZ8AEoFdKlis.whQ05Nh3X2KdeGnooazKkElVwBOvXWhMIY7T13txILSkHKenO0jfWqrvqY0gmdF3MiBd2ynukOwimNi.a2xXaJXnFf.SPVXoVq1T+wsL5xfUP4K4hNDukOzIQhFOoYyEMebylK7r4qMeMvPDvMOB4ad.A+QOlOecy0LiEeHl2k45wnPmF0SVQcgroR1G454.NNqYJcoDREMTi5QMJHQOBhxBF6GRMcAY5NhQ7GuLpoK9cP1S3q.SVX8cvNNiW.4r0U7VdtSBX0VcWjWfvOVnleY9Z06QMejYq5KpZrbbiUharZ8EeWAKgbqTt15NJRaxFKG2Xk3FknMw1bLPyNFZ1wPyNFZ1kqLIETt153DoMYikiarRbiDsI9Gg5PnXyAgTKNgQMcXHakZAuU2DGsFVwr+hvm2IDuv709770LMMICZn7RD1nCDS0XAy0Vyr0Bxok+9bZyH2vkR+N.7aTlY6Wjem2IrxwBCdCALG7Rd9DvMXhBYZlH0IoJP1B6DfEvV4ndYfcY9GIHXLndhxTATK7htTT8o8BOKHOIQxi3bHU5hdYfZY93mEVmnLYAaDyBfNwIeo.QTFJ2m4zE437AHWXiwbdHN1SwiOLp5vPjZtxN1jeSphKa1G6fs3VX65hsV5hysgZTmvwtA0WrriKK8aLBsQ82RquPFF8jxTk0HDcH1tgXmeB7+ImvnLpr.2jF9tLZTc3rJz344XbAZTJ54jFK676UNMFmCsbZLG2rvyFOIJN3VIOwJGSonenHs94zM7zASt58BkWnXL9fobxjnNYbjpvcminbEHO0cbNerWYg2txounqWUN+kkXTDXFV6ULN90zFKT6y0lq1I0LKN0fAkNWj5D2SsroEEs3OIAaPCc+.1O15DuP3164KOvX7kGjs5EKEqjYgL51TB+0dX53JZPKhJEU2DgJXobYwC2Op3ArcrkPiXKpdHwvnIAdZgY2ssVQkbmHkzIjyYToBtogJfZQo+5yqlzp3HwRanKEtBRNqg3Pz4WtaXHcdJH3a1dCDGIJ6JhBAZ0C6yIBKl9F3if5YUEgMmwF3fC4LOIGG4tBEPWYV9SYKT93rc33OIpWFJLECd8AZejXyGkrfuLn8HLY3nLkTSZ64DNj.gS7gyfPIcpRlS0PX.TEd.WrME6S44WM8GZnJColpHD0eVQ8mU0PNjgTW4lZVCG7.t1.fR5S98LF2lBWij89MNamiLa5CamaSioHv6WTd8NXjOUT4pOxlvdgOKzKq6Td1P6WqLDh7vFCD9xNsutgPjq53.vau1APrO+3P.9xffS+NE20XWlcnChm+ITDuaTzDPfybuUg38HnAD9wY+TWKuqRUg68.OWt0nxw6TkfWH1w0Mdidkp4M1bv.HccJXmwXqe95+IoxBkGteb3NtOF4RnCipdRhm4Lh6cE7tgdU9cCgndxJkxEp5uZ2IDnK+7i9mskep0cYgzbeqHfuG1Ci3f0OiL2r8d6IOOTTpu9boux99vkS.lH6DulhAZmmcO10mEDL.1NRcEjcpdg9CEbU5H6gOB6GjerWE5BldJEJwMNv9aBvBSMwZWD2mjKCi7qzbejzbOkgpeqB8WtP+UJze0B8ebg9OoP+ml1O4dhBGi4M.itCx17k3iCN0MitQ0tYDnqdHX2mYkcHCS9NpQx5Jmv3RTk4giK4YWm865WE9aWv1oqFbOiGtdtXL1mHrNaROBNgBiHv38gKRM.E5viGsUNTtKix7FwnDq7mG.+6gCw9Ywdoan04b33X5HOn8dPQNnfLGn+w16.Ebg7yeL+bwEspNWLI60OXnfqoHDm4+MRRN8+6SRNIp6NQoHMguNTjv2214aaHipaJRB+uET2iExgjqwI3Lfrf8gL+V3r4BmRjeU0uYbsc8wTaYm+F9EMYq3DmhIaEOolUrpf8VTaYYg5Sqter7teNPJYmrtzAv8KDPBR18MAktHKe16sTk5Jv5Mki.njFU92th9lsRpw0n4RM0bgbUu2xRbP3Q.CWtLKeAjYkKfLqdAj4wW.YdxEPlmdAj4mlnLhqIrdHm4pBRBCzaSkik9lINVSq8O.Eq6oB
-
@Natan I took away about 100 lines of code
HiseSnippet 1742.3oc4X8tSabDD+NfKDbCQMQoR8KU5jU+fsf5XmPRpJMBiMPDpPvBSPUhfRWtas8VNu6o81iDZTjxiTeD5iTdCZmcu67s2kyNNtkznV9.v9mY1eyuY1Yl85vYN3f.F2vboitzGaXdCqtWRECZO.QnF6tkg4Ms1GEHvb6noZcoOJH.6ZXZN+SjSXtzBFped2FsPdHpCNcJCiiYDG7djgDQ5rcZ9SDOucPt3iHC018ZM20gQay7Xg.dl2ptgOx4bTe7SQxsMmkg4011kHX7tBj.GXXtPKl6kcGvdIMZ+GSBHm4gkCZXzETTzz6v7bkHVNqQ6ADO2NI1cfggoUmTVX9HV3NV6SbIilOkM9R0B1oRnyGlyMI30PGd0md3YpAuEhf2sr55vI9hzUjX6Kr1kBNpdHvEnCqn8ZL2IKZ0lA6fJpMDcNdGNLXjDUdX85qZ+f50qt9xkVtD3HBD1Wf31GSvuzmwEaZ+X6Dw6iEsYC8YTXPkxi1QYoroR1EMz2CBbdrsJjRJU7TUJG+O4jnMva8Y7KaInAfXmT740gfnrfxUWc4R1i8mhEs8.FgOah1A4NaB1B64ARdphW0sVkcDQD6i7CjQ4Jq9z0kJ6t201tCMC6HA+D2e6AYzOf3wt8H86pueEPmn9a4EYC8Xb6JDXs5qaSr+Q60f+rxJUWtzqinmhrrZ9gAC.ZjZWdEaeDO.CwdUHqznV8pxn.EAVfEFKW6A1ksGqfEXpImm6jjqHSNVvVdEKXo2j0KBxoDaSNGcojtJx3WsPSSKXp.CX0BQ2oqmJj9+QndDJ1tWH0QPXTaHQp1kIYjIm4UwIIrbU.6dg3TWFomckjojiecpx8XNHOaB0E+JYN.M0VSM4A8R0a0Bg2nLD0BvvMBh.OLn7pYotST55zZ+JiPqT94zxU00UpFbFfn8wtU.Ogbg2D4OTQjmIn.LyfvTCDVTd5wLQajm2YP0kJExSId42mV8XH2HOBj9b3HTMAhMh8Pf3W.wQfI9dLjB6NHQAXOmm.1jL4xwxSnRU6MzU6XcMHQU6evtb4X9J+oGmItVpkAtkJYcMZGyomnruSGckEtHv7v074D3RxTIlhZyDRj2oLFVt55Zg2OkIvGPqTszqKsTo2TxN+R85U3ZwGkrHTQKK6HgOIAqPCGdFlm3lS1HTZNaseqwW6Wu0DmnRFZajQ2kRDG3ioiqi.i35LxVWhQErUgpyfaG2Y.1Mg0LHtxVCFQhFJfq2ilQdkbyXkzJTHXTkBttUTU27R+tMlNoiJ7lHsk4zdtWyRlY7iWtEsTIOyI3y1cKj.I6oJlBAZ0GyEDoGybK7EPypQcXsj0V3fyELeEGGe2F5NdpY4WoyvWpOPfekrYXnqSLD5GX7RhqXvnM71dMGfI8Gn0uLoouWXeBsChC2sf90h5GNUCgAPK1ABoYJsSU5UCyuxBp01nD7q6I+08k+ZMCjGoOcnxXtlkGtmvnGPEcI+llSsdSCMadwObPglwddyLFKlhfndYOy6gQbprcTNxkvdBmE5qGFkkEL9koFBwQViABuculW0PHNDcb.34W4.HIVebH.+2AAu+iOfm.wbC8PhruKR9Xv3EfDlYd.h7QFz.h3R8i5J4wRSKbuED4JbFTLdmq.7B4Ltpwa7SOW1Z6d8vNhTvtf0N+7U+6L0gx2bTRZNAGiFRn8i6RPgmkrRF8OvGCvep+X.P1NUeAYRU8GMaEBzEO6r+dS0Qs4PVHMyYEC7Cw9Xj.79Zxb8lGdn59Pdod2FpXki3PmI.SnuvATLP6BcarMmEDzCLGktBzWpSHuujqRm4P7EXdP14dZ3Pv0SoXufjD5OK.Kc0Dm8QBNISkE0oT+HjxcOmUz3F4Feubiuetwqka7CxM9g4F+nzwi5XTFXH+BM4ZCZwoqMHPAcPfIqsyVj9iTdzL5wuinYETz9DPE7ATt1m0eemOcYXme5f6G3SPsTBF6RjdmsoW.WKgYjX71PWS8PgdhjYajAk6ynL+ALJwI6k.HnteeLWG6EZPaJDvcvzYtSyCwdXTf1s3us4dv60P7r2s+n3hFSOWLI+0WaEAWaYdM6+aTYb9+2WYbRT2MiqKZCmN7hfOu8y2vRkJ2VV48eKndHKT.UTSppYAk95Bk6cv5E.mSVTMZb8jGx0EScUC9S3m3EajTsTtXijEMbRTEXaw+u5MflyG0TrpgOOnNrmdHc.zTgDRPEsOInbHxgydgSz6ZkX85pY.TRieq29xw1MF8fVq50paLDpU8BGG4EguCX3hk4dyfL2eFjYsYPlGLCx7vYPlGMCx78STFYaBaFJXCiRRBSzY6n.KysGEXMuweADmpd8L
-
@ulrik That's Why Your A Legend ️️️️️
-
@Natan I think it is important that you understand what is changed in the code, and why, so you can benefit from the understanding in your next project :)
-
@ulrik said in Changing Selected Sample Maps With Buttons:
you understand what is changed in the code, and why, so you can benefit from the understanding in your next proj
Sure, I Always Do My Changes By Reading And Learning From Expert Codes.
A Ton -
@ulrik
Can We Have A Prev Next Button For It -
@Natan absolutely, you know how to do that right?
-
@ulrik Yeah :) I Have Time & Examples Thank You So Much
-
@ulrik
Is This Good?/// Perv Next Buttons const var PrevSample = Content.getComponent("PrevSample"); const var NextSample = Content.getComponent("NextSample"); /// Pervius Sample inline function onPrevSampleControl(component, value) { if(value) { ViewportA.setValue(ViewportA.getValue() == 0 ? MapNamesArray.length-1 : ViewportA.getValue() - 1); } }; Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl); /// Next Sample inline function onNextSampleControl(component, value) { if(value) { ViewportA.setValue((ViewportA.getValue() + 1) % MapNamesArray.length); } }; Content.getComponent("NextSample").setControlCallback(onNextSampleControl);
HiseSnippet 1967.3oc4X8uaabiDdW6rNw5hCZKZA5+T.Bgd.RvNJRINoGN2zHKEmBiKNQvxM3vkZzxrKkDaVQtfKWm3FDf9nbOB2iPeTtGg9Fb2Pxc0xc8JEEg51h6jAjE+wL7a9lgbFxABtOINlKbb27jyiHNtW2a34L4j9SvTlygOzw8FdGgikDAxzUuyivwwj.GW20+ZUGtadEG8me4A8vgXlOIuKGmmwo9jGSmRk48Nn6eiFF9Hb.4D5TqYua2C84r97PdBfm08Z6Dg8eIdL4IX0zVyywciCBnRtXnDKIwNtWoGO37gS3uhYl+ynwzWDRTM53LDTjo6GwCCTHV0qS+IzvfAY1criiq2fbVXcCK7wdGQCny5OmM9.8.nbIr4C20VD75XCu1KO7bsf2ULv6C8F5KnQx7QTX6O4cHCbTivfKvFVl45r1mWyqOGlAS1ZJ9kjGIfFyjnw8Z2dGzca2t4daUaqZfiHVhNCKPOiRdUDWH2GceTl3iIx97oQbFznQ8YyntR1bIGhmFEBAN2GoCoTRk1Ui5o+njD8AdaLWbdOIKFD64UudCnXFOtdyc1pFZtepVz9S3TwpI5.bvpIXORXHH4oZd01Z01ggHNBGEqhx0V8o6oT1stEBMfUfcTfegyu+jB5GP7bmtQ+A1yWCzEp+dgFaXDWfZPgwZuGhh9Rztv+1d6laU6MF5oJKqUTR7DfFYn5aihvhXBD60ftcmVsaphBzDXEVXpb8mfpilqfUXpYqWvhjqJSNUvdgUKXs2VzKBxoEaeg.ethtpx32oRSyJXpBCXmJQ2o6kKj8unrPJifFkv7kTNCAGjZsYREYJ3gM7yBK2AvdXBI2kQGgZj0kp8axUdH2GGhnr.xqUmAXo1V5Ne5nb81rR3M6DhVwDXGAURlFWemhT2y055zV+.mxZT+aY0aZqqbM3OAyFSBZ.dB0.u03OzQjuPx.XV.g4FHLnZ0SYh93vvW.YWZTIOk4kuHsFxwAFOBb74zYnZADqg8vf3mAwQfIdAFRicerrBrWxS.SRc3xyTqPilnGXq145Zvxln+Jpd8T9p7pmdRbqbKCbKMJ5ZrVlSet19Nc1VVXi.OjzJRPgMIKkXZpsPHQYmxbX4loGgp96Vv4QCHhyPOg7ZIpWhTB.ovoeBxYFcL2DW4SoTdHkNeGxlOk5FXkAHZRbJmV0lx7kbwaI2jNZdaGKvblPg7trhNtOb7LDhTvkzJjvFKmbyNPDQkBcSTmlyBTdq1vd2bW06qtfol49TLk1qMeZJmceuoI3GUvPUSQaCVK5OWIEsbrfcTP0rvErDCKXaqbI4orFMq8lZaV6s0PkGZznJGKUcppopZXUo0hEIXCVxzWPDYzY1DgZLKVDq27Kh0tFaeC+XMQN6PFU9zHBadk15jRppZvSQELUotD2OJsDWRPlmygFnpwclizQCb35CajcYCmxJ4FoJwb7fVAWyyT9XlzdtKujlpGe+kbCOU58Y3c18kVFYupmtJfRK52b3CwRr5xAoTHPqQDgjp7XtOjbFbqKyUE1z6gj3WJ4QfplE3BWyaoY4WaectysaHgPa0B.azgP+XmWQCjSlMgeZT2ID53IVW7i1MJLYLkM.KfsavEOLWrKWCIwvcEikJyTYm55Dbb+DOnHtN0futs5q6n9ZWGbHcLap1X1vKjLR5LBnhgzezhha20wxlu56NnvxXeY2BFKgggnd0k+dLAKXp6UIvAT9WK3IQ1N0hrfy2uzPHM5ZNP3mdb2KaHjFlNO.7sW5.HKVedHf7qDB1btH35d4YsrgwdVv3e+CcowGwUgdXAzs6ZUfpXrpvGSbspsYux5deYocINGT.Y0V.xxyjXgre9eXgr+4pfrxaR61MCqeUEX8huEwG3cDOHIDKK9LIp2FJc.HsSg2iP8lCrXp7baG1kxamrrv8Cg8+R+IUi20p.uvIuW13M8kn1x6fQiH9xbvdEuG82u7e1Ian7YmjkrPJH3oT13zKMnwyldYs9U3sAiV52FDhf0WSnvA9+b2dI.cIJ16+pqdo1eJOgUXsRA9wjHBVBdeKYtV2iOVepRYo9kGniUNQ.02ALg8.OkQ.ZWZai8E733Qf4n0Ur8PCRDiUbUdOGSNiHhK12SRlBtdFiDFmkV7ahIJWM0+HrTPKjeVuJsOAqc2q4YZ2oT6aWp8cJ0d2Rsuao12qT6uHu8rKPpBLTOXaohIu5xULInfAXvjslYO53YJ2zSd7a6bZVCEqWDth2Sci+P+bu+1cB65KGbeGuH8lYXbHU4cNfcFrsD5QgwOBp8bDNITl0amBn7HNiGMgyn9E2D.A0iGSD1XuRCZeoD1Cl2yG28XRHAGasK9y69X3lkXQw81uWbQmkmKVj+5S8LvEoNWC8+FYFW++6yLtHp6Fo4EQvpC2q5O194q6oOJGox796ETOlmHgLpYY07fTeCgz89D6DfqoRpZZ2N65vCIr.ci+C7IcvNYYKUC1IaPG+LUA1V5u02j1ccSox5B9Bg7vg1gzwPQEJHAYz9MAkSw9B924adc.EVultG.krzaLejpMpyrmEvqcq1NSgbUemuuZivMAFtZYt8JHycVAY1cEj4tqfL2aEj4KVAY9KKTFUYB6mH4SMGRBcL3.Sfk6AyBrV24+ZunVRI
-
@Natan No It's Not
-
Prev Fixed, But Next Has Issues :) LOL Both Wont Load SampleMaps : )
/// Perv Next Buttons const var PrevSample = Content.getComponent("PrevSample"); const var NextSample = Content.getComponent("NextSample"); /// Pervius Sample inline function onPrevSampleControl(component, value) { if(value) { ViewportA.setValue(ViewportA.getValue() == 0 ? MapNamesArray[value]-1 : ViewportA.getValue() - 1); } }; Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl); /// Next Sample inline function onNextSampleControl(component, value) { if(value) { ViewportA.setValue((ViewportA.getValue() + 1) % MapNamesArray[value]); // This Not Works } }; Content.getComponent("NextSample").setControlCallback(onNextSampleControl);