HISE Logo Forum
    • Categories
    • Register
    • Login

    Dynamic keyboard colouring

    Scheduled Pinned Locked Moved Scripting
    20 Posts 2 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey
      last edited by

      There are a couple of things.

      Passing a string to Engine.setKeyColour() won't work. It needs to be a number or hex value. The simplest solution is to convert it to an integer. parseInt(cs); should work.

      You are setting the key colour in on init. This is only triggered once, when the instrument is first opened. You need this code to be triggered every time the colour is changed. That hex picker I wrote is an old script, I'd structure it quite differently now but in the current state I think your best option is to set the key colour inside your updateCode() function.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      ten7kurT 1 Reply Last reply Reply Quote 1
      • ten7kurT
        ten7kur @d.healey
        last edited by

        @d-healey said in Dynamic keyboard colouring:

        parseInt(cs); should work

        It does work! Thanks so much!

        1 Reply Last reply Reply Quote 1
        • ten7kurT
          ten7kur
          last edited by

          Coming back to this. Now that the basics are working..

          Im trying to create the ability to colour the background of a Specific panel/label.
          To have multiple Panels/Labels with different colours.

          I've created functions which update the required variables depending on which Panel/Label is selected (via buttons).

          In OnInit I tried calling the functions in an inline function onControl but it does not allow me to run a function... ??
          So I tried calling the functions in onControl using switch/case but although it compiles , it does not work.

          Cant manage to get my head round where I'm going wrong...
          Could someone help a poor guy out? 😕
          Thanks!

          HiseSnippet 2979.3oc4Z0sbaabEFTRvVjIJMIimo8hbABa6LTSRjIg9wwgMiIEonsZjr4HpX6LY7nBArhDiAwhAXo9odzL9x9Jz65M8hlq5ifeG5KPdDxSPcOmcWPr.jTjRQw0tk1Fl6YOmc+N+rGbN.rcH0lDEQC0xke+yBHZ4de8Nm4y50nmkqu11M0xcC8lj9TsMOKvJJh3nkK272GmKW9Ez3e9o6sokmkuMIgjl1iot1jcb66xRn9mp8MtddsrbH661Wg60pssM0uA0iN.vw75k0BrretUWxCsP1lSG.wVNtLZXGlEiDokagMoNm0oG8DeA+O1Mx8POBNnhVGXgDjaQ8bPDiT0Zzy0yocr9FookSuch1OuP6uk9ttNtComXE9P9DFIRnZOxM2EAuJpvq7rCubJvaAA79H8N1gtArjYPr8qz2Ef419LR3QVfaPEZB90ly4CzaPAN7YqDQXOw0g0qzWtd4kqtTAE5Of31sGqz5k4Sf+Ijz0vsp3+sipJoXy8UFesw2+rpJD5vBc86xkDbnQLiisBM5P7H1LhyAss7IdfLw6WWBqAse.0GFTpHe1JEWtZ0wJ7NVGdABymUJ7su8UauMu.wmgcWJdAEva4EzyRQJKGmuwmdXoh0wIJ94Fkg+tb0BFvGNunKXOK+tjRvLlqu9maTI6zkJFwNyi.BW7wjPlqskWwQ4wkQ5KNOg6xosZUm+YTFOraJ1Jy+.rknDgDmwoB6Qb.YVuRhF.LNY7Km7BP+PNFA6BXkksoi7tgDh+3v98wI.4pT1LA9btmrBLb5w.vMVqUq01ZTFmDDyv1XMIIpwgdCHiSK1DniJw5qlnDHuSVGhm8B7BIrLhVVoQ4xsZMBeSRIUz.apSFMfehoTQbBPNSy0PmwxX1EWeOWehwQC7sYtTePV+iALtO8AjSKc7xEdQg7X9ldjS22BRohofJVF0jJ3ES7xp3k0vKqiW1.ubG7xWhWtKdoNdYS7RC7RS7xV3kVEgDZ7cvoBr1way2uqEq2JG4QogkN91U1X4gbYNItL98FR9PNYCB8wk7y.IpV37zYHEFvJGbHyeh4XT3o3xoRQJx8M8TipxHR1N8bwiCmly.NMmDNMmdRzQvo4zyaKtW0nQOCBbf6HiBGR8hpTBheVhG+dYuoTFolw6FYrjvUewvx7pAKye1vBta0jPlCIAT3oTwYcF4TFdJo7oEgHYw87+9xOK46UT9tox2W8Yx7Fp0I..8prRRkVb812tCgYzt9C2ZGiCghF6FRG36DWexgVPUPFXVjdzHhuj7RExm1NiJWanBJ1dzALvbTJ1bTp6xun6JGAEsV2yqTfUXDApxpjpRr7xUOGrnb.AKr.O6TeyqHd39nQRrlZCqNz6k04EWCMOKgL5B.qL.3ygSTPV6kWpvK.zlWX+LDFwQNmviQTpM7BRFgnUJYCKOOTqKMNjjbJcxH2bZHWfZfiHpGYk.vffVJluozF8UFEMvMJ+zgu4zgu4DfuBteHkQdjeI9MlJbdAirSczQicN4h5QBG6zX+QgWjfk7Gz+PRXrkAYL5DWlcOC4LKWHOXrxKBLyK7xhOvv71Pfn5sc9JknA3yXCGhmL4aGFRrdd0BoIprzlScoMSuziw2ZZbFI5dwkmjrqo0sjkHV43039Uvn7IIW95zUSL77rvFBaAvsZBvph0Spl4yGu1PMnpqbkqvJOtkkWRn5BadEV37iGxX8ZpK8pWkkd3BmGigR9mvtedgyg9TS2HbgI2HrZe51hioJLRg1YcYOJfLbr3fVLkxZCOeoRJ4XkJU9oowvVBoQ69VSl5.5COujcfUFuK7OP1EdGOWGRnlKzn8M048zowMdCexF0ddMsYPXccnaprh1alD8l57lYxH7qrmIgugN1CQ1MlLprKIkke2IonXUAwh995kOsY8Fl2cq500l3Nu4.Fi5yEeIckjOwqhdNN.l9luntnTlXAmS+RsolpaZxCwZ12XS0M9a2toEyBebMxHFHJJ.6pBi+y0jbrqMQ7vaxq2jD8bFM.baCuajVt2apAUmFaaNK9K792fiW5w8uATHAcb+yozn9VmNb3ORqkzQGP8F+vO7CuFmHtLCjFLjS6D7wCkrRaWqG+4BoRQalz.QjMG+qdMie.p+xi+3iWbM3nqYM3gu14WdMPdFmq.+0qYE30Zex0kBbiojngi+eLF+Elvlh8mLZ1nIsI7Z+4axB5Mpncp5iu9rgCd4SqkVWp0OqtT6w0xM+n6yTy6kri09tZI6n1cqEZ43RuOz6Pfpy.tEMr9JaDG2pZX9olxTQKWUcOamQKe4t0DVSHGWVW250FORRbISzEjeRtfE0E8ZOQ.pMJ.yfqWtyTwEDyt0e+efLCk5SOItf+H7YnCs3YjPXViaLmTbiQur.dj3lWdoiaLyD2nkJt4ObIhaLuTwMozRSk87Usqk0quZctW+ma3TZ.t3ThalH.0t0UMtwLS7b86twZqsdqVvYkQduLen9tTmAdVrzuxH78jIm.5dK06kAeaM9QtryTcT+h7djlU39Q5swFHGOdm6+N3U9V4VReqiNhXyR.6B5sd5afWA2bJXYwgueT29Adj6GCkkjDL3Tl7qIUSqIwyRMil1SThL+a+6WO+qFyKRcadOZsodVgor9.5lOsJO+r0r0XTyEl4PDTkLdmIj9i04l72k.LOj3cG.+gX522Bfq3I21cWKVnKVq3CGzuCj41l.P0Gt+PDV13bX2khwkiKCtCw2gO30vG4jUvw4jSVIdRUSxGGmWB546Xp2.tpi1iaoRwXOBb18vT1jlgmkMsvSHrzj9tWsCXa7sScZe69AC7hH6P76pVX8OcOIr11OX.Sk92FQ1b3Sfd+dgDKG00qcHwIa9nG31PYM9K+qZMs5G.lUUdZ0ZeY6rIjb8j+TM9T8WzduG8G2pw9Gz5Q6zbq8NeeRDSB8UNw5Xs9nhJL87dKzyUtillGkF.ADgr34PBa46DO+0Vpt2zAJehvV8w5cXfC.T9tcrvaVH9gaLudm2r+tZ.mtG0xIcWdup1lCfauFll5+rFeqp2GBeRsWREXOR.whsK1b1vI+w56sGu5yrRAQoXsE6GBAjohm9o68HeB3HYp5XiPZTzQf5vWqnTQsCB6RREGyOiEklF3TUcmnGBNMfAOt1wd9Dt46RY9avkWeJebkLiMyLd0LiWKy30yLdiLiuSx3b5oCtu4rEbuqU.uzWEN2zUFdAyInnl1bnYku0J+5oFSEA23s5eZTu4p.e9YCtSozw7wXTTo3VPIcdTfhnlpljirF3wFRUEj6R8oA8n9t1oi4gX3tcIgoKTbL5ScFCNxo1MzdDOhUjxg1eWscb8IVgoOJeoLESo7xbyn652nKfqAlF6sqZfjE+iOsLOpMt6BemLY3PpSEoPdH4I+DZhR7SmBqIw1EZ7NsSAR+K2H9Zvevy7LHWWtpqkdEm++K6UbVMcefLlwPTuya2k2+957aVYf0V7+xk1aGuTftI+t3v07De7jF+Qf3AUZ3odXLBJaBgD9Zfh3N0938cWP9qlF06NVGSDmgQsKS0QHoccsaSACIbFBO3pWE1IwZok6WKpQrrRA1+1QKvNz0xuqG4fuXCmM4kXuGkxeBVqsATP+2P3Ow7OEf6NT9fEzW0D99iQcAW7G3x+ptdEy6DiPo+B5iouzcAkZH9xCog8s7fREcjSfIBjtTNtk0wmPfWG+M0WasJkSwCXWDrsSR0+wCSICR3o7PPk4ktEDm6POIIErBieaPvXoODCLIglCB7bs4CgHo2DAb8srCoGXK+YP.gcKxo.vwm6mWTWZ7ie2n5kWoLz7ji6A11BPCQpwusamCBrBA4X7JBvGK5X6CUgIzrMb3Ah878zeB9aWhGkyaSaQ8u.L+39x6TiCAO5IJSzysau3YbGdWLDcX6lTeuyjGqSqc2T7bYt.kKi.402EGar5kWj0t7hr9kWjMt7hbmKuHe4EIBVDd8ALZewMjABs2RjDK2vSK4lW6+fQI.ES
          
          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by

            Put the buttons and panels into arrays then in your updateCode function you can just assign the colour to the panel index that matches the button index.

            If you have no idea what I'm talking about you should watch this

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 1
            • ten7kurT
              ten7kur
              last edited by

              So i watched the video tutorial @d-healey suggested.
              It has helped A Lot!
              I've managed to associate/index buttons to Panels and Labels to change their colour, but....
              I can't manage to get the keyboard keys to colour correctly.

              Instead of colouring a single key(associated/indexed) to a button which is pointing to Sampler1, it colours all Samplers from the Sampler array(SMP).
              I can't figure out where its going wrong...
              Please help!

              Also the Panels and Labels don't save their colour. Is there any easy way to save their state? I'm guessing i have to code this manually?

              Thanks!

              HiseSnippet 3810.3oc6as0baabEFTRvVjIJW7jNsclzYPUZ6PEKSQRcw1Q1MjRhzV0TRbHkkcFOdTVArhDiAAv..JIFOdper8mPequzGZdp+D768kNS+CjeB4WPcOmcwkEfWDkhrqSiXRPvd1yt641d1ucwp5NVpTWWKGoTo2smMUJ06K2rmoW60aSzMk1bCoTSKu9N014gMjVqmMw0kpIkJ0j2CqMU5ojX+99ubMhAwTkFQRRZOKcUZM8N5dQT+5ROP2vnJQitqdGAtWpzlpVlqaYX0EjjIkyKYSTeFoEcaBx1DxRotREMcOKmldDOpqTpoVyRqWy1VGax4eOcW8CLnXgBRMgNhStpkgFJwHUo0aqanUOPickjRc05Q5+jb8+Sj2RWSOjdjc3iXUnD0BQ6QpIFk3UPT7xO9hWJAwaJt38wxMUczs8hpAksOTdKPL2zzi5bHAbChhFmeoI9Yer75V.Gld45PdFspCTHrEYu0x4mWY474ma0Lyjwg1RQeU++eQ+WTcCdg4lTtqxSd5pBDZ54na1Z0LY.OoqmxQDGEhgcaBvXv3Rzzdfo0AYmsLVwryq.iINhJvOFu4bodMHlsnYgZJt7xyqTHY0Ym00qmAEZ7r6Qc7zUIFy1OO5dzN7vIbTNoZ0xre8y3AshwVd1OfsHkvgpMHUnAUCZyxEhz.fwgK+9UNBoOji9jctXkjsSWxa4PolCR1uGVAztB4KFI9LtGtBDV8.DvUVpZ0kpzOiCSDSv1.MIQpwAFcoCRKVCniJwxKFoDHuCWGBpcDdgHV5SKKrd97Uq1GemteP0RKgBTib.0H6rXEPyJVbIzWvl5oaZnaRUNrqopmtkIzVyi.QbWq6SOI6Qyk44YRiS4ZSOYWBjPAmENadTQJfOJhOVDerD9XY7wJ3iahOtE9313ix3i0vGqiO1.eTAeTcVXNMaDzJ.8cvv7jsHdsycngkkS1iVnvJyExUwgwkxuUIjOutNlXGdcf+Uy7hY.8bgg+S4NMqrqBeQmeuxHXbgYDLxa+vs1u4V02m2t8W6g6t6Na2DjthhtBANNnqmGPmmGalAyiMwjZLZVLPW4fYgSDz.kx0pozjzw1f53lAp4I4eJTIag1bsndrL+rRq0aSSMvSOKvTAHlDZbYMMEWdaUJn3YoPbbH8X8RgwnWJ1euTblLYNzxQIqNz77qpnqbmgX9f5t90gftYXw78a7dh9SEBrQYvpiskIT.lW3YFvM1vYAueV8qWXt4VsudialGUmYaZLtcF2gLpNy3fSsy3Me.lVlMMVKFgsASPfhfikw5DCiC.LMYsLSXX7Y.l8+hAL+eXrmUMPelGB2fjQyMC5lRaXAIyTz0NAE+9job5XbwNGF0ZTCRy+2jgD84fxYPMa40lGTvUa+Hig4Oy4BPfBjXlPcWEc+Lnuf2zQLpbO4XOpgN9y2ndpiC1yCbZ1fGBkY3Y5R5Q6ZqAXDWGR8mMblEtP.e0DO5IdXh37mfAYbjUX1hv2KH7dQg2W7o9CuHZLPAOO8j+7fEVvtqWnro3x6RcSHGz1ziwrb5r0fPi4Cn8Nvh3nw5DGBpo9pFlaj0GsB0ufIZACyY+Gukmyfc9f1DTo5k2tRMe89TCGO+SBnd0A34dMr55AgBYCBEx1Ztm2J2gvNhJaXj0l33RA.4YEcfPFlWL2pCHBKMWApUdMAEH8ajISI.4DS7VcHA+bo6AU9pfcKDP9F23F9TdFsmqhWaBFgY5A1GEh+JTmwonoC41EBNQ9lKTidd3aQcYQ+9rHzoEJdS7MbQNQFedXvYvOPg3qdFip9gJY8yLPb8YH6b4zc21xitc2NGPc1hXaS0fQct4h2i3uJlsf.BzDCye3VXfy4UhhEbCWUJ32KhWLSB5BNjYD8H9Yi3+ivxKnjtiYVFxRXEHkjUc3gCrN+zqL8c.Uiau2YTMLqIy5Dr3Exn6w5dpsU7qYtLoC7s9+uE9b3kzpDWpRh0DK7EwsIQkNvgRd1pYhSbPcQwDcAHltVFzb1PXtGGHEH7+Zkf8ID049R2muPnzNpDW93ZUFZds.UjsG0u.JkNJ08ciucfvnDtMLYfh3BMnTl12XjNcvX.6kTbDJb5i.xcr9cPcKaqchcbwKnNF2zkX+t3Oj9E50Wj4ERolJ9I2jY3mbi3AKoxQVJvnk4ll5d6XSCKymZEPIuT3LJQRQSjDoxl+L.1hH0+wEI4i1URJ064yNvpG6Xi9.+iMpogtF0QRWSJ0UkYmBiDyREdTbemUIownwxxMnZIZpj4X0zqJyN9gjMlNVM9Jx3t9S1VecWrsy32V1Ns8aJhBInouuL6jUxW9V4yKMzQdMFRBVyulbxjNIkhu+KGCo3ZxI18QX2Lg7v0h5HVB+1mXqPEFCiw3nNEC5G4TioAsOUo3OPUo3.TkGt4FDOBdVn9Q2PDuMdlM3b0TaPORWkxOYzzxaPcelmksTpoC2rG3n87OVW9vW0vB.mZ1ZWcXNMJEenrHoBRmHN78BKTpWoi007ZGR3qeYo1T8VsENc6GWxWF4BTF4.PwRAvm.duhll1qQtiNeIj5qe8q+kwoVzmLiYD1bDy+yWwoxLMSXjRlggaVX3dDJiy9EJEVJW94YD2P201fzaGUOxQ9PRf5OjX3R4LTy5Xng.sayKeecdQ.ZDmv5cc8r5bOGhcacU23MdC5gjtFdkALNDG7K..U64z0u10Lfc7B8VCb+.PM4ysxsY+t0sxeyam+lE3rsqUqVFzsvCCKVmim295sIlP.CJObhOzktGUERXKHPQiHTaUChWS1w6EuypWIvczWEPteGunQpXXEUL0DDfU.LTXfcXr06cpIWOIX9TufWXm7HFbDbxi.EpcS8uIVljNjSDSIGOV4a+1uk49EipfhLZwCRk1rufzMKMdZ.OCOS9W7BV9AQ8Mu7GrLCSCN7BVC190Zu40.+05XJve4BVAdszmdQo.W4TVvkI+eWf7mYHCJlfq+UkG1fDsHRF4lk2pdsJMFZl6W93DYt+WeSRMpzdkRMovnM8YAEPzvV5qJEMrR2tjCQS25dNVcsE8K.DUXPDFMAUHtfpP5yze2Xl9zmATFBVmEEEy5IrNubqRbeArHdxQe4RiR3ibqC0Ml4L.qYXBrT+BbB47k0FS4DlGT4u82wlPLLrNN3LZcQTAkMLThH3BKdtoYcGJrUc.2wDmsXyhCK1To8axXyXCarXy6bliMKFDaJm5OCrFHjxo9UbvhCyEOR3hBhWQAw6U0KMjXoKlPU.mYvl5RM44K7bnxtzm7CK7rXhoQku8JKszxUq1WDnnJz+0D3ijA3TcAjPwuAC301vuBcHpQ7ZBfWE.SWcudhwCuQtVCiq39wx0wCDZvx6D+uQd8ujHyHW4vCATnQB6TxUe7agaDxDBxxzgWXGc7fGuWfnLiOAEFkgeqcf8OPgcFHR3QBgt+0+yqm7UC3d8rI63VpaYPbhY8Aoax3p7ji2QoL.0bpwNDAUIkezDReMYlI+GSBLKj3GOB7GICYseGPb4eqmVaQ7bzQDvvNuaBI0Uo96mzEW6bBboSd47Af6aRM0XEvs96WYArbJ+JKDTonI4ZA4kV2x7HKitLUGsGehHEkFTXt6AwrIa3zKYZgGQ8hS5qdUMv1XpFa19lcr6BahtF6SxHZP8EqMMs65IRG1a9Z.XpV.nCSsca6PIZh8GrzlVx7Q2Wecg93O8uKsAoiMXVE4oZ0c8O.nHR5FQ2bvNnlvssrsDwe0vxxlsseQBv18CJdgkK6scjvmxMFWStoGXgAkuk+2khENbEY7hk718pbBNVCKhV78m9pRq0EVB0IN0+QI1PUtCDhDar70gFTaJwCOonnJ+txMZv.xlrUPjHheXWGHnKVLy2+k6XRAeomnNttikq6gf5v5K2XQlccZQiEqxlG4FmF3WE8nnSBh3w3Gc0.meD2rQIO6ZSwhRYkKjnbwDkWLQ4kRTd4DkWIQ4aFUNkb736qNdw2aQrYnhE3bMc+HLnNNEwTiglU1PKbgcGvp9W4c5ai6aOT1SNdh6o.OLcfLxQCVAfsYXAT33l7O31PphB4VVlV1ssL0UiGyCwvsZQchCFb.5SYOOXJm3VhZPMnDWgIs+lR0zMoDm3SkOSlhSABYpwzc8Kj4hqBlF6cKbNSG7cD1C7Qp3ny8c9ICCodpRJjGxeleDMNL93ov1fppCaWOtSAR+6OPr9f8MGXYPtnbUWH6GbxeRtevw0z8A9wLJbHOuaCg+8kYKVofXK9+Y36pAcEna9uymbMI0DmowNlCC.ogg3jQW.1DJR32Xkeco5fq6NEGc2Fnd2jbDkOGF0tDniPRaoqV2BLjvbHbhq7pvHw6KHoSCKKFn36.CVMqGP6ETf8gAipYOTt3J8808K7GQSWC+iUjqyQXwIxKrGrQjNT2E1BV5AR2poSVXuhkw+SIqC8nh4NYtE.+fVWUpyMZRczAdWai4atw70qzXcFOKlK+bKrFnKfyZgCzJbCSqcI1zbGSNRZit1F5pPbPxSEaL.EW7h.Tr8aQPw1iBT7zktDT7kfhuDTbRjfiBT70RBJt34CULhs5RTwu68ICFj7JIcIDwKgH9SHHhSKuskSGhw4Bj3DAfD+4XWwrQgn69L4mWuwN+gJqu69U2o1FUZ7hcczIlsLn6eiUzVigOiCsbJ4UVJBL4uSDl4mEgrD68.bkxEJdyHbkLWFCHoOTJh+pmbMCvNo4WAlKv2qxDb+C7Mh.6.eup7RKUHeLd.CCmsZQGSbPwXsAI7XVTnP89dFTNqYcbzF0EX7g11CjdnL34SHNj19.oupn0aUQP5qd9.oq9lAj9w5dsuPfou3kvzuDl9kvzuDldDL8EuDl9kvzuDl9kvzuDldhyx8BDl9Jh.Mm+RX5iDl9aiXtNDUGq8U4+UVgQdSyn.hiIyQOsruwO3OqK474xK0A.drupJWngf0f+3C012l3.syisBIdkWG3EGRfIzrEVbe9X9dxOB+aRmEnyt1MSKeCv7iiK6l2vDACqiEpnsdq1A0nG9IIQoCuePVlF87mYGW6tJ+hzMBkKQCRKuEVVYwydSV5r2jkO6MYkydSt4YuI2ZTMAQkVtqmUG9Zx.g5U34wRENaAht+uvjIl1N
              
              1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey
                last edited by d.healey

                SMP[i].getChildSynthByIndex(idx == i);

                That doesn't do anything.

                local idx = SMP_COLOUR_buttons.indexOf(component);

                That doesn't do anything either (really it should return an error) since there is no component in that function. So what it will always give you is the value 0.

                or (i2 = 0; i2 < 127; i2++)
                Something just feels wrong about a variable called i2 call it j or k or x or something less weird :p

                What's this for?
                (idx == i);

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                ten7kurT 1 Reply Last reply Reply Quote 0
                • ten7kurT
                  ten7kur @d.healey
                  last edited by

                  @d-healey said in Dynamic keyboard colouring:

                  SMP[i].getChildSynthByIndex(idx == i);
                  That doesn't do anything.

                  I don't know what else to call...
                  Im trying to get the index for a sampler based on what button that was pressed so I could colour the correct key(inside the updateCode() block),

                  local idx = SMP_COLOUR_buttons.indexOf(component);
                  That doesn't do anything either (really it should return an error) since there is no component in that function. So what it will always give you is the value 0.

                  Appologies, I should have removed it from updateCode()
                  But, on line 60 (inside the onbtn_COLOUR_SMP_Control) its calling the index of the buttons.

                  What's this for?
                  (idx == i);

                  Index of a button. ??

                  Heres an updated snippet;

                  HiseSnippet 3797.3oc6a0sbaabEFTxvVjIJwwSlosyjNCpRaGpXYIRpercjcConHsUMkDGRYYmwiGkU.qHgMH.F.PIw3QSyksOB8tbSun4p9H366Mcl9BjGg7DT2yYW7yBveDkirqSiXaf4d1yt624mc2ucITcGKUpqqkiTpz6zylJk58ka1yzqc41DcSoMVWJ0Txk2t11OrgzZ8rIttTMoTol7dXsoReII1me3KViXPLUoQhjj10RWkVSuitWjzup3CzMLpRzn6n2QP6kJtgpkYYKCqt.RlTNmjMQ84jVzsHnZSHKk5xUzz8rbZ5Q7ntRotzZVZ8Z115HSt96p6puuAEKjWpIzQbwUsLzPDiRkJ2V2PqdfE6JIk5J0ir+I41+GKuotldn7H+vUYUnD0BQ+QpIFE7xKBubiO7RI.uKwg2GI2T0Q21KpFDaen7l.L2vzi5b.ABChPiquzDtWUtrEngo27cHOmV0AJD1hr2Z4byorbtbytZloy3PaonuJ+eel++p5F7EVTR4tJO4oqJHnomitYqUyjABjtdJGRbTHF1sIfhACKQS6AlV6mclRXEyLmBLj3.p.eX5NuK0qAwrEMKTSgkWdNk7IqN6Ltd8LnPimYWpimtJwXl90Q2i1gmMgixwUqVh8oeE2uUL0xw9.pEYDNTsAYBMnZPaVNejE.JNb76W4HPenF8gcNrRp1oi7VNTp4fv98vJf1kOWgH3yzd3FPX0C.fqrT0pKUoeEGFDSn1.cIQlw9FcoCxJVCjiFwxKFYDntC2FBpcDQgHU5yJyWNWtpU6SuSONnZokv.pQ1mZjcFrBnYEJrDFKXy7zMMzMoJGz0T0S2xDZq4g.D2w59ziyd3rYdQlz3Tt1zi2g.qmfyBmIGZH4wGEvGKhOVBerL9XE7wMwG2Beba7QI7wZ3ix3i0wGUvGUmAlSyFAs7PeGLLOYShW64OvvxxI6gKjekYC0pvvzR42oDpmWWGSrCuNn+pYNYZvNWX3eTtSyJ6nv2y4OnLBEWXZAm7VOby8ZtY883sau0d3N6r8VMAzUPLTHnw9c87.470wldv5XSLoFiVECLTNXU3BAKPoTsZJMIcrMnNtYfZdRtmBUx1mc9VTO1B+rRq0aCSMHROCnTdHmDZbIMMEWdaUxq3YoPbbH8X8R9wnWJzeuTX5LYNvxQIqNz7bqpnqbmg39f5t90gjtoY47867dh9SERrQLX0w1xDJ.yK7LCzFa3LPzOq90yO6rq1WuwcyipyrMMF2NiGPFUmYr+o1Y7lO.WKymFqEiv2fKPfPvwxnLwvXefRSVKyDNFeEfY+mLf4+CS8rpA1ybP5FrXzrSigozFVvhYJ5ZGivuOLMuNlWr8AQsFsfz7+exTh9BPyaPMa40lmTvMa+LigEOm2EX.EfXFntqht+Jnmva5HFUdjbrG0v.+q2ndpiC1yCbZ1fGBko4qzkLh10VCnHVFV5Oa3LKbi.9tIdzi8vEhycLljwYVgqVD987Beufv2W7o9CuHaLv.ec5I+4AKrfcWuPro3x6RcSXMnsnGgqxoy1CBclOf1aeKhiFqSbHnk5aZ3Zir9nUn8ELQKXXZB8d8RaUolODN0LiW+7QpWcfnrWCqtdPTIaPTIaqYeQq4O.NaRICir1DGWJPMNqnuDlreRTDNMG00Jsl.pS+FIYNAIiXXJVFGGROnxWFPQOP7MtwM7k7bZOWEu1DLrZ5AdBEh+1Bmw4EoC01ExHP8lMzLdQ32BU5Y7t7YPWluvMgufaqHp0KBSGB9.VCe+pXR0OPIq+bQhquBYmcdc2sr7na0sy9TmMI11TsrOa1Yi2g3mJlsfvN5SgDVtKM6ylSIJf6FtKPvmShWLSB4mDjJylry+eBqdivZayrLhavB7JIq5fCFXc9qdwLtATMd3YmQ0vrlLWQvdCnhtGo6o1VwulYyjNHJ5+OK7YvWRqRboJI1xI+mG2EDUZeGJ44qlItvA0EERzE.LcsLnyaCYwdbdJ.3+MJAzvi5bez8YKDh1QwHzm1nxPILFXhri.94PozQqLd23rsCSJ39vj4EhqiinLsuyHc5fw.Npl3Hj+zGAT6X86f5V1ImD63BmScLdlFw9cweL8Kzqmj4DoTWJ98hjY32Kh301nxItInnk4Fl5daaSCKymZEHImT3LJQQQSjDkxl+L.0hD0+kwH4SlTRJ064qNnpG6RY9.+KkoogtF0QRWSJ0UjYWxgDySEdQWeuUQownwxxMnZIZ529rwpoWQlc59DMVhNVM9xx3gpS1VeaWrsS62V1AY8aJtIePSeeY7rvquboakKmzPG40XrRYM+ZxIWzIIJ9guXLPw0jSPtOralPd3VQcjefe6SbRi7igyXbLmBA8ibpwzg1moT3GooTX.lxC2XchGAuoQ+raHi2FuRDbtZp0oGpqR426XZ40otO2yxVJ0TgmkBBzd9WZJe3qZXAb+LasiNLmFQwGJKJJuzwhCeuvBE6U7HcMu1gB9puoXapdq1B2c7iK5iQNfxHGv4TJfcDn6k0zzdEpcz02fRe0qd0uJtzB9hYJirRiT9e9RtTlqYBiTxLJZy.C2iPLNymqjeo4yMGS355t1Fjdaq5QNzm+AT+ADCWJWgZVGAMDjcad46qyKBzf3BJ200ypy8bH1s0Uci230oGP5Z3UBHzPbv6WGp1yoqesqY.GnD5sFHcanlbyuxsYet0sxcyam6l44psiUqVFzMw6ZJVmi2lc41DSHgAwCW3Cco6RUgErE.TzHB0V0f30jc6Yw6r5UBBG8UAr1uiWzHUHrhJlZB.XEfCElXGla8dm5hqGGLepWvWXWrGlbDbwdfDpcS8uN1JIcHGKtjb7bku669NV3WLqBJxjEOIUZi9RR2n33YA7U3Y3ewyY7CP8MO9C1lgYAGbNaAa8Js27Vf+dcLC3udNa.uR5SNuLfKeJa3xv+2Gf+LCYPwE35eW4gMHQahjQtYoMqWqRigtx8273Dqb+u95jVTwcKlZRgQapyBKfngs3WVLZXktcQGhlt08br5ZKFW.JpvfHLZBlPbfpP5y0e2Xt9zmAVFBdmEEgY8DdmuYyh7XArIdxQe4hiB7Qg0gFFybFn0LL.K0OfSfyuo1XhSXdPk+1eGaBwvv5nfq.0EYETxvPIRfKr44Fl0cnvAyAdGSb1xMKLrbSk1uIyMiMrwxMuyYN2rPPtobp+BnZ.HkS8q4jEGVHdjzEEfWAA38x5EGRtz4SpJvyL3Pcol70K8bnXW5i+wkdVHwznR2dkkVZ4pU6KCTzD5+Gg+px.cpt.Sn3ue.3KEgeE5PVi3OBO9Csa5p60SLe3MxKMv3B2ORtNdgPCFuS7+F75+JXLsbkCN.XgFA1KIW8wuEdeKlP.KSE95vni2x38Bfxz9BTXRF96DCb9AJbx.QAORH08a+OuZxWNf2ZlMXW2RcKChSLuOftIiaxSNdWkx.LyKM1oHnIo7SlT5qIyb4+TBvrThe5.3qJCqZ+N.b4+9Ms1j34niLfgSd2DVTWk5edRWbuyIvsN4kyEPtuI0TiU.O5uek4wxo7qLePkhtjqErtTYKyCsL5xLcze7whRTZPg4t6GymrtSujKK7HpWbQe4KqA9FS0Xy12nicW3Pz0X+3KhNTeXsgocWOQ4vYyWCHS0BHcXpsSaGJQSr+fs1zRtdz80KKzG+4+cw0IcrA2pnNUqti+E.EIR2H58xqCZIbeK6HQ7uZXYYyN1un.339AEO2VK6sclvmvcFWStoG3gAiuk+OBEKc3xx36swa2WTRHvZXQzhe9zWVbstvVnNwk9OJxFpRcfTjXikuMzfZSId3MEEU42WpQCFQ1jsBxDQ9C63.IcwxY9guXaSJDK8DswxNVttG.lCqubikY10oEMVtJadjabYPbULhhAIHiGyezUCB9QZyFkbr2JIVVJqb9DkKjn7hIJuThxKmn7JIJeynxojimeekwK+dShMiUrflqo6mgA0wkHtzXnakMzBuNrCXW+K+N8655aOV1SNdv8TnGlN.ib1fU.ZaFVfDNuI+KtMTpHH2zxzxtskotZ7bdHGtUKpSbxfCvdJ44AS4DORTCpAk3JLo82VrltIk3Dep7YxUbJTHSMlgqeoLGtJ3xXuawyYpfeGgcgXjJN57Xm+hggROUjBqC4OyORFmFe7kvVmppCGWOdPAV92efX8A62bfsBx4Un5b47fS9yxyCNtttOvOmQgS44caJ7uuLayJEjaw+OSeWMnq.ay+67IWSRMwYZrq4v.XZXHNYzEnMgPB+MV4uXTcv8cuDmc25nc2jbHkOGFstDriPQapqV2BbjvbHbhq7pvHw6KXQmFVVLRw2AFrZVOf1Kn.6GFLplcQbwM56q6W3OgttF9WqH2li3hSjWXW3fHcntKrIr0CrbqlNYgcKTB+OkrNzCKL+wyt.DGz5pRctQSpiNn6ZqOWy0mqdkFkY5r374lcg0.aABVKruV9aXZsCwlN+QjCkVuqsgtJjGj7VwFCRwENOHEa+VjTr8nHEOUwKHEeAo3KHEmjI3nHEesjjhK75wJF4VcAq3289ICFDdkjtfh3ETD+YDEwoj2xxoCw30hj3DAjD+EXWw7Qgr69T4WTuw1+wJk2YupaWa8JMNYGGchYKC5d2XEs0X7y3TKuj7JKEQl72KRy7SiXVh8d.uR47EtYDuRVHiQjzmJEwe2StkAbmz7q.WKvOpx.t+E9FIfcguWQdokxmKlNfigqVsnqINnXr1fBdLKKTnd+HChyZVGEcPcAEens8.kGhAOeAwoz1GI8UE8dqJRRe0WOR5puYHoejtW6yEZ5KdAM8KnoeAM8KnoGQSewKnoeAM8KnoeAM8Knom3tbOGoouhHQy4tfl9Hoo+1HmqCQ0wZOU9ekUXl2TLI.bLYA5oj8c9A+YcIma9bRc.hG6opxAMjrF7Gen1d1DGncdrcHwW40A9hCInD51BKtGeLeO4Gg+ImyRzYu1MSIeCv8iiK6MugAACqiDpnsdq1A0nG9SRhnCe+frLM54OyNt0cE9KR2HLtDMHs7lXYkEO6MYoydSV9r2jUN6M4lm8lbqQ0DjUZotdVc36ICBpWguNVpvYKP18+EfgRBUO
                  

                  but I'm still puzzled on how to correct this.😕

                  d.healeyD 1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @ten7kur
                    last edited by

                    @ten7kur

                    SMP[i].getChildSynthByIndex(idx == i);

                    This line isn't doing anything for a couple of reasons. Firstly you are not storing the return value anywhere. It should be variable = function();.
                    But this won't work anyway because SMP is already an array of child synths, you have this on line 53
                    SMP[i] = Synth.getChildSynth("SMP" + (i+1));

                    Im trying to get the index for a sampler based on what button that was pressed so I could colour the correct key

                    Why do you need the index of the sampler when you have the index of the button?

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    ten7kurT 1 Reply Last reply Reply Quote 0
                    • ten7kurT
                      ten7kur @d.healey
                      last edited by

                      You're right, I don't need the index of the sampler.

                      In the SMP loop from @Line 71 SMP[i].getChildSynthByIndex(idx == i); I can't use .showControlfor the keyboard. What else can I do?

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @ten7kur
                        last edited by

                        @ten7kur Just get rid of that line because it's not needed.

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        ten7kurT 1 Reply Last reply Reply Quote 0
                        • ten7kurT
                          ten7kur @d.healey
                          last edited by

                          @d-healey
                          Even if I remove the SMP for loop, I still have the problem of both sampler1 and sampler2 keys being coloured on the keyboard.

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @ten7kur
                            last edited by

                            @ten7kur I know but removing any code that is not doing anything will make it easier to work out what needs to be fixed.

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            ten7kurT 1 Reply Last reply Reply Quote 0
                            • ten7kurT
                              ten7kur @d.healey
                              last edited by

                              @d-healey
                              Yes. That is true.😂 😂
                              I actually had the code like this before. :exclamation_question_mark: I don't understand why its colouring both sampler keys...

                              1 Reply Last reply Reply Quote 0
                              • ten7kurT
                                ten7kur
                                last edited by

                                Any thoughts?

                                1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey
                                  last edited by

                                  I don't have time at the moment to look through the code again, so for now you're on your own. I'll have another look when I get chance.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  ten7kurT 1 Reply Last reply Reply Quote 0
                                  • ten7kurT
                                    ten7kur @d.healey
                                    last edited by

                                    @d-healey
                                    Ok. Thanks. Appreciate it!
                                    Ill keep trying..

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    21

                                    Online

                                    1.7k

                                    Users

                                    11.8k

                                    Topics

                                    102.5k

                                    Posts