Setting the alpha of a color individually?
-
Not 100% sure what you mean, you can use
Colours.withAlpha()
.Or you can use a hex value like
0x55ffffff
-
@d-healey I just want to set the Alpha value without adding the color value
-
@CatABC The alpha value of what?
-
@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
samplemap2
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)); }; }
-
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);
-
@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)); }; }
-
@CatABC You don't need to put the reset within the if statement, it can go before all of your keyboard colouring code.
-
@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? -
@CatABC can you make a minimal snippet that shows the problem?
-
@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. -
@d-healey There is no problem switching with Combobox, but there is a problem with switching with preset browsers
-
@CatABC This is what I see in your project, looks like it's working?
-
@d-healey Oh, sorry, I forgot to save the latest data when I was testing the code snippet,
ChangeColor2.zip
-
@CatABC Turn off saveInPreset for your button.
-
@d-healey Ahaha,god,It's so simple
Feeling mine so stupid。,Thanks very much David, you solved my problem again.