HISE Logo Forum
    • Categories
    • Register
    • Login

    Setting the alpha of a color individually?

    Scheduled Pinned Locked Moved General Questions
    16 Posts 2 Posters 145 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.
    • CatABCC
      CatABC @d.healey
      last edited by

      @d-healey I just want to set the Alpha value without adding the color value

      //I am a new student at HISE._
      //Windows11 & MacOS Ventura 13.6.7_

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

        @CatABC The alpha value of what?

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

        CatABCC 1 Reply Last reply Reply Quote 0
        • CatABCC
          CatABC @d.healey
          last edited by

          @d-healey The whole thing is this, I set different keyboard colors for different samplemaps, and after I used the button to change the keyboard key color, when I switched to another samplemap, the keyboard color of the previous samplemap was not overwritten, so I wanted to set the alpha value separately to avoid the problem of color not changing.

          inline function onbtnEnsC1Control(component, value)
          {	
          	if (value){
          		eventId = Synth.playNote(24, 100);
          		Engine.setKeyColour(24, 0x800000FF);
          	}		
          	else
          		Engine.setKeyColour(24, 0x500000FF);
          };
          Content.getComponent("btnEnsC1").setControlCallback(onbtnEnsC1Control);
          

          samplemap1
          73b05393-843c-4497-b812-7e4d218f4291-image.png
          samplemap2
          2bf101f6-f14a-48c5-9f49-9de18375b503-image.png

          In the above two pictures, C0 and G0 of samplemap2 should have no color, and C#3-G#3 should be blue, but they are not changed.

          	if (value == 1){
                  local Ens = [24, 25, 26, 27, 28, 29, 31, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 86];			   	
          		for (i = 0; i < Ens.length; i++)
          			{
          				Engine.setKeyColour(Ens[i], 0x500000FF);
          			};
          		local solo = [48, 50, 52, 55, 60, 61, 62, 63, 65, 66, 67, 68, 84];			   	
          		for (i = 0; i < solo.length; i++)
          			{
          				Engine.setKeyColour(solo[i], 0x5000FF00);
          			};
                  }
          	if (value == 2){
                  local Ens2 = [36, 38, 40, 43, 48, 50, 52, 55, 60, 62, 64, 67, 84];		   	
                  		for (i = 0; i < Ens2.length; i++)
                  			{
                  				Engine.setKeyColour(Ens2[i], Colours.withAlpha(Colours.blue, 0.3));
                  			};
                   }
          

          //I am a new student at HISE._
          //Windows11 & MacOS Ventura 13.6.7_

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

            @CatABC

            You need to "reset" your keyboard before assigning the new colours. You can do that like this

            for (i = 0; i < 128; i++)
                Engine.setKeyColour(i, 0x0);
            

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

            CatABCC 1 Reply Last reply Reply Quote 0
            • CatABCC
              CatABC @d.healey
              last edited by

              @d-healey
              This doesn't seem to work, am I doing something wrong?

              if (value == 2){
                  for (i = 0; i < 128; i++)
                        {
                  		Engine.setKeyColour(i, 0x0);
                  	   }
              
                   local Ens2 = [36, 38, 40, 43, 48, 50, 52, 55, 60, 62, 64, 67, 84];		   	
                         for (i = 0; i < Ens2.length; i++)
                      	{
                      		Engine.setKeyColour(Ens2[i], Colours.withAlpha(Colours.blue, 0.3));
                      	};
                       }
              

              5096f792-7d50-440a-b3d2-8897f2fb614a-image.png

              //I am a new student at HISE._
              //Windows11 & MacOS Ventura 13.6.7_

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

                @CatABC You don't need to put the reset within the if statement, it can go before all of your keyboard colouring code.

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

                CatABCC 1 Reply Last reply Reply Quote 0
                • CatABCC
                  CatABC @d.healey
                  last edited by CatABC

                  @d-healey Unfortunately, he still has the same result. My guess is that because I used a button to trigger the color change, when the button value does not change, it will continue to keep the button callback result.
                  What should I write in the else of the button to make it return to the color before it changed?

                  //I am a new student at HISE._
                  //Windows11 & MacOS Ventura 13.6.7_

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

                    @CatABC can you make a minimal snippet that shows the problem?

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

                    CatABCC 2 Replies Last reply Reply Quote 0
                    • CatABCC
                      CatABC @d.healey
                      last edited by

                      @d-healey ChangeColor.zip
                      The code snippet didn't seem to show the problem, so I uploaded a project, and along the way I found the source of the problem. When the button is in a Panel, it causes the problem.

                      //I am a new student at HISE._
                      //Windows11 & MacOS Ventura 13.6.7_

                      1 Reply Last reply Reply Quote 0
                      • CatABCC
                        CatABC @d.healey
                        last edited by

                        @d-healey There is no problem switching with Combobox, but there is a problem with switching with preset browsers

                        //I am a new student at HISE._
                        //Windows11 & MacOS Ventura 13.6.7_

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

                          @CatABC This is what I see in your project, looks like it's working?

                          Peek 2025-01-14 15-09.gif

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

                          CatABCC 1 Reply Last reply Reply Quote 0
                          • CatABCC
                            CatABC @d.healey
                            last edited by

                            @d-healey Oh, sorry, I forgot to save the latest data when I was testing the code snippet,
                            ChangeColor2.zip
                            1.gif

                            //I am a new student at HISE._
                            //Windows11 & MacOS Ventura 13.6.7_

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

                              @CatABC Turn off saveInPreset for your button.

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

                              CatABCC 1 Reply Last reply Reply Quote 0
                              • CatABCC
                                CatABC @d.healey
                                last edited by

                                @d-healey Ahaha,god,It's so simple
                                Feeling mine so stupid。,Thanks very much David, you solved my problem again.😙 😙 😙

                                //I am a new student at HISE._
                                //Windows11 & MacOS Ventura 13.6.7_

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

                                59

                                Online

                                1.7k

                                Users

                                11.7k

                                Topics

                                102.2k

                                Posts