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.
    • ten7kurT
      ten7kur
      last edited by

      Hello,
      Im trying to colour the keys with a user chosen colour from a colour picker (created by @d-healey) but the colour does not want to appear on the keyboard.
      I can colour a key I want if I directly specify the colour, e.g.[Engine.setKeyColour(i, 0xFF1C00FF);] but, it does not work with the colour Picker value.
      Why could this be?
      Is there a way to REPAINT the key[s]?

      Thanks very much!

      const var samplers = []; 
      samplers[0] = Synth.getChildSynth("Sampler1");
      
      
      reg i;
      reg colour = [];
      reg colourString;
      
      const var alpha = Content.addKnob("Alpha", 0, 0);
          alpha.setRange(0, 255, 1);
          alpha.set("style", "Vertical");
          alpha.set("itemColour", 0xFFAAAAAA);
          alpha.set("bgColour", 0xFF000000);
      const var red = Content.addKnob("Red", 150, 0);
          red.setRange(0, 255, 1);
          red.set("style", "Vertical");
          red.set("itemColour", 0xFFFF0000);
          red.set("bgColour", 0xFF000000);
      const var green = Content.addKnob("Green", 300, 0);
          green.setRange(0, 255, 1);
          green.set("itemColour", 0xFF64FF4E);
          green.set("bgColour", 0xFF000000);
          green.set("style", "Vertical");
      const var blue = Content.addKnob("Blue", 450, 0);
          blue.setRange(0, 255, 1);
          blue.set("style", "Vertical");
          blue.set("itemColour", 0xFF1C00FF);
          blue.set("bgColour", 0xFF000000);
      
      const var code = Content.addLabel("code", 160, 70);
      code.set("bgColour", 0xFF000000);
      
      const var pnlColour = Content.addPanel("pnlColour", 0, 50);
      pnlColour.set("width", 150);
      pnlColour.set("height", 50);
      pnlColour.setPaintRoutine(function(g){g.fillAll(parseInt(colourString));});
      
      
      inline function convertToHex(v)
      {
      	reg hexTable = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
      	reg d1 = hexTable[Math.floor(v/16)];
      	reg d2 = hexTable[Math.floor(v % 16)];
      	
      	return d1 + d2;
      }
      
      reg cs;
      
      inline function updateCode()
      {
      	code.set("text", "0x" + colour[0] + colour[1] + colour[2] + colour[3]);
      	colourString = "0x" + colour[0] + colour[1] + colour[2] + colour[3];	
      }
          cs = code.get("text");
          //Engine.setKeyColour(27, cs);
          Console.print(cs);
      
      
      for (s in samplers)
      {
          for (i = 0; i < 127; i++)
          {   //Sampler1
              if (samplers[0].asSampler().isNoteNumberMapped(i)) 
                  Engine.setKeyColour(i, code.get("text"));
                  //Engine.setKeyColour(i, cs);
                  //Engine.setKeyColour(i, 0xFF1C00FF);
              }
      }
      
      
      1 Reply Last reply Reply Quote 1
      • d.healeyD
        d.healey
        last edited by

        It will be easier to assist if you post a HISE snippet

        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:

          It will be easier to assist if you post a HISE snippet

          Sure!

          HiseSnippet 3132.3oc6as0aabbEdojVYQlnbwH.sEHOrgosfBQQlj5lcTCBknDsUijsfnhcJBBbFs6PxAd4NK1cntTCCzG6uf7bdNO0eBF809X+CjeB4w9TUOmY1KyRRIQkH6X2PBi06blyLy24Lm4LeyPp8B31zvPdfQt7GbpO0H2aZ17TOQm5cHLOis2zH2zlaR6xM13TeRXH0wHWtIuKVWt7SYH+7ie1FDWhmMMUjgwC4La5NrtLQpzuo1mybcaPbnGv5po8R011l6Um6x6A3XRyxF9D6mPZSuOAUaBS.Da4vD7flBhfFZjapM3Nm1rC+XOk9OjExNzkhEpXzD5Hk3FbWGDwnTi5cXtN6EaugFF4twdoV+jJq+8L2k4vRjm5EdGYEVosP2ejahKBdUzgW4QGd4zf2TJ38tlMsCX9hzZPr81l6BvbaOAMnEAlFzglReiIt4aXVmCZ3IVHjJdDyQzozsWt7bqMaAM42ixZ2QTZ4xxJls.LsDJrNhDXER556RCBs9Tqu5qWypPb4up7WChjgLKzlJjVgrTohMUpTo3bqUnPg.ZaK1Zx+yVNSq5IMAMEALu1ftoiJw0uCATLFhDGmO2ieXohqiUTbdqxv+ft2B9H0EMh8IdsokfZpt7xyaUo+pKULTbpKEZbwGRCDLahawA0gIncUQj3nbRiFqK+LnhG1NiZkke.0RMh.pyvLg8oNPaprrlI.Zd9FPTkW.7SzX.vqvU+pc4Puc.k5MLveWrBncKVVC9RsOeCHo5g.vUVpQik1ZPEOOH1mZC0kjZFG51iNLqXCPNzpkzmCPcOeaHt1KXVHUkArxJ0KWtQiAz67LRMKvl6zmErC4PpaohXEXXzJ.RWUM44L5cquma83EiZ88dDOruSpUsPCyVTHQlZLNFSjnBiGrxNxrIEGVK2CRXI1m2Sv7nkZ0yyVv3dkZO2SauPKXOh0ccK4SBBoPRsR5YGlat0dFzWXtIlmKzXq3FCtHuifohC32idRoilqvSKjGyszgdxADH4KltoXYbBqB9nJ9XQ7wR3ikwGqfOVEeba7wcvGqiO1.eTGerI9XK7QihPxK4H3TA563g4q1k.YBa4x4AkN5VUVYtDspddZY8GrhzC0TzKvC6xOBZwZEdFXnxLjgP93AL4d9NvFN0gY7RR6MctWPOAc7EKeRQnmTdPLUcx6Uzdup16K90f6MutKGf8OktYs7yV3Y37DFqeqa42SnBhg4ctkG8XL9ig9BkF13NKR72NA+3dPpVukWavvQS6yomphhJUc04gVEqCD8FxcoK3CPFBYBU6eMagV7.qRgvnlrCF5ovVHqgAiZ40rXV+IqJUWEd4i9n4j09T43FuElTD9g0B5szs9VfDFoRo4VfEdetfd+dcOjFrKw2m5ThM2bPu.CenknCMFBVGRQ+pcGp8SnNyacL0BLZqPqVA7tREgEFfZP3gexHieFlafM+.tsXeR7mg6+X5tuKUU8zWoM4YpoXvMGGRx8PmvC7TAjP7qU+U0p0PqCS+DvcktxgTMxXL3hZXIOoiedHtBRrJUL7XlvtiUTMyUHOHKuMIjp1+9SfR4Sio+zrYPRR+n5ObUQ975K3jBRSpEP8wbZa2sK0gAJ4dZIzSkOO5mf+6v.J4IXahw.rMrNBp7hEACEBxcP0AQ0WbfH+vg.tKnNBV7EFBRGdbzgHWfUcVZ6ENeZ65mpvVsQolhbf7MS7.eZRY0hfXIkMRh80EkFxqKUFoOD0REM3YELh17FN0fYj5fpB4YFdqnyLzzk4PCLXvwBtgoj+rgzilbNruqcMiQnwll.y09Z5O3LRM8FlRdi82X9H03oMQ5Z82V5fsc1n1JYHE0TLEYbSeSyxmrwlquJvouggwWr8lDAAOtUjOD7q9HkNLhH2lzifywpN7Ud3fvgOQv8ACoNuqO2C834lN6nJ4NIG0YLkuWw3D8CFeZp+lUSReJQv+4uUSQYJQhePMDWIi0rhnSopFqFtbBvfp8ALHJEGx21TWTlQtRszQtFouQ9aFXjM9xZQ9CkwWvD1N3PNIvwHlWIn6zNNNmgZmR0Ekd1Ym86xJsZjXox3tToJ+udtRpbZXB2blOE2eoHLbxSoV7SrprzBkmWJbSVnuK4zGXKHGEsSKTeKhaHUovN7igFBxtip78Xphvl6JA06EJ3cua.wuCyNLai2j1hzyUrNr0MI.uPCnZQPunZ2vkX+Dn21G7ubnlxKrxcjet8sKu5cJuZEkZGva21ktKRKOSmiWeP8NDOHh.wiR3WDReH0FRAoAnzQDpsgKQzTdRirc1daEOcLPEP1r.Q5HUMohs7bz.vJ.8LCH2JLCqEfkDyZnIL+klHAhyLyEEcqdQd7HLrI93QfDpeS1ekpewQcImnmFHaTz2+8euLvPOdCJJkMZvSkpRBtu8ZFb.N9YBt3jgR3MetqW3c+yb9YBunzsRz8OulQ2YFu+HgtoujD5Rv8cwyrMNmdDS2zeV+QI+8aXlPpnu.7pvKwIPm9aiRrmj.c5pw45G7B7dGSHyPOXQc16VDuP0nJ.RsYt.O7Z87BYhS08tuPtvwQEtuq4dHu5gi2I9kAuQWe6rla0pEjPMErSY13KeIbWsSngkYRtHcFdbu6FCkYiDXIkb92mNrUHE1jSWviz1s969umM4yGxMtusjy7dbW3b0hLsN2jYM4IGMdtCwLmZjCQPSx50lP5aZJc4uNAXYHwqO.9cPhEuB.W0cN1dWhHfgI0ARjMgD71zHpQgX98IvsgTkKGm3uI0yQV.YwFUYErbtnJqDWotK4lw4k.xzGwc6IMcze7d5Rr1mBqcOLiOYyfS6Osvinhrh9KOeGv23YmY091c86A7A2g50VigO3Pif01d98D5xAZla.TaaGv644bPG3HxN582dATm9yGcOVcs93u+uqsIoqO3V00oQiChN2TpH3PIpuSuOv7o6s+C9yaU+fG23A6r4V6+rCnghHnuvwjiL5hFpx0K4RXlqbSCC7JwjDbiqCE.Daiq+ZKU2K6.k2W4qtoYSALA.Fe6nKVTFsTvL9lHe498vBy8v4IcxRt6401nGrKaPVo+iZxgZ8tPTTlwJB46SgSUIvyEkV4Or996eWHryu+VAAqHEiCBf3xLgU+3m8.OJLeJzsw5A7vvVf4H6qvLAu8BZSyDNKWpElUFL2pOqhSTvhBLFhYGG.jpsbTJKuGe4WNsrbk9JWsuxK1W4k5q7x8Udk9JuZZ4blYiwuwnEiuKwWxsUSyMXQQYPcJI5YOSbqxgV6aaeHDCl9U5uJ8WdDwmbzf6kvfLeLFUDF2BX14xAIJpUQWSQhTcPtK2i62g6wryFyCwvsaSCxxWbH1y5BArjKUx6UaepKkDpsn82WaGlGkDjco7UxUbIrLyMhSW+VSEbsvzXuZQEZl3aM6gvbjMN5p4tnjgIRuTjB4ghV4mJSwzOaJrMo1L3zwYmTfz+QCjrOj2vlLCx00T00xQFm7WkGYbTccuUTLikh1yq1r7eSS4lUVH2h+elgucbWA1Vz6pEWSR8vUZxaBwEXZ3puXLDnMgPBVAZn9pf6h66NUzuxNztaRNhpVCiVWeriPQ6xr2iCNRXMDtv0bMXjT8kQteC1QROTBO6ObPd1ALhWaW5i+3Ub1PxzdeNRmZJykVwPdc4nU9A.b2gKKLk4hUg2eHZKXmeOl7USyJUWMFgQyWvwY5FMcATMTubedPWhKPUzIpBLQPzTpD2Qz4SEHoyeCykVpR4L5.9EkZ6jdHf3hYZCJ3KkgfZ0GMsf3bG9woof0T7K78Gp7DLHhDrYOeWlsrHDIc0YwW85fEu+KQV79WDK9YpMlE+XV7iYw2O00KhE+M6mEe0eZz3Qxfiow+p2WCxvvqgwXNsi4z9qHNsyXpH+8KJq1UVJkU6eLkUqYtOTVXLs1qOZsKNlV6XZsio0NlVaJs1EGSqcLs1wzZGSqcLs1WbzZWQmV67io0dgzZeYDy0kXGvers5uKALxaFoD.NdxI5YLib9Q+EIXZVdgxFcAhGO11VAZHXM9uNDmG6SBf1Ij6Ph+xTG5OdHMkP2VRwGqFy2v7QTg0Nx.c4uslYL+Xv8iiq7mWiDBt7i0pnCqcm3ZXIemiH5veiPbO2SiVYm05tg5GS2EXb80f7l6hksV7p2jkt5MY4qdSV4p2jUu5M41WTSPVoq2Sv6p1SFDr2Vp7X4RVsjaRi+GvFyu1n
          
          1 Reply Last reply Reply Quote 0
          • ten7kurT
            ten7kur
            last edited by ten7kur

            Console.print(cs); prints the hex colour code correctly.
            I cant figure out why when calling: Engine.setKeyColour(i, code.get("text")); or Engine.setKeyColour(i, cs); the key does not colour.

            1 Reply Last reply Reply Quote 0
            • 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

                                            22

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.5k

                                            Posts