MIDI feedback and RGB values

Hello! I’m very excited about creating a customer controller and have been playing with the factory. it looks great!

I have some questions about how MIDI feedback works. I have a sequencer I’ve developed that uses a Launchpad Pro as the controller, and I use color a lot to indicate what’s going on. The Launchpad has a table of 128 colors, which you can select for each button by sending a MIDI note or CC message with the appropriate velocity or CC value. So for example, a particular button might indicate that a sequence step is off, on, accented, or currently playing by using black (off), gray, white, or yellow. The colors are set by sending a MIDI message with the right value.

From looking at the Kilowhat manual, it seems like the only way you can set feedback is to specify a color range, with a choice of 16 available colors for the values. Is that correct?

1 Like

I also happen to use a Launchpad Pro with custom software! You can also set the Launchpad Pro’s pad LEDs with a SysEx that lets you pick the exact RGB. This is really useful…

Do Yaeltex controllers support something like this?

2 Likes

Hi @mike !
For now, we have a set of 8 different ranges to set a “value/velocity to color” mode in the encoder switches and buttons.

For each of these ranges you can choose one of the 16 colors available.

This is per component, that means that you can set different colors for different buttons if you’d like.

If you don’t enable the color range feature, you can choose “Any colour you like” (yeah, floyd fan haha) for NOTE ON state for each component. You can set the HEX color on kilowhat for each component as well. With this mode, NOTE OFF state will be black (off) LED.

Your idea though sounds very nice to implement on a general manner, that is, a fixed table of colors and use value/velocity to select one, and it could be a new mode for the color range feature.

I will set this post as a feature request :slight_smile:

Hope what we currently offer is enough for you and if not, we’ll try to release an update soon to include this one and let you know on this post when we do.

1 Like

Hello @mark !

For now we use SysEx only to configure the controller with Kilowhat. Like I told @mike you can set whatever colour you want for each component, in HEX format #RRGGBB

“Live” SysEx communication isn’t a feature yet, but we know it’d add powerful capabilities to the controller so we’re working to come up with a great way to use it.

Thanks!

Thanks for the explanation! if you’re thinking about feature requests, my suggestion would be to allow us to set (in Kilowhat) the slots in your color map to whatever RGB values we’d like, with the map applying to the whole program/bank. More than 16 slots in the map would also be handy.

As an example, my app tends to use about 4-6 colors at a time, to keep things from being too confusing, but I like to be able to switch the palette (e.g. blues vs greens) for different functions to give an immediate way to tell where you are. So overall I sometimes need 20-25 different colors.

@mike, well this is actually possible right now.

With Kilowhat you can set up to 8 different configuration banks, and you can set color and MIDI channel to a whole bank.

After you set this for a whole bank, you can then individually modify the color per component, setting either hex values in #RRGGBB format for any component with feedback, or setting the color for each velocity/value range for encoder switches and rubber buttons.

The color range feature is intended for a button or an encoder switch to change colour inside the same bank, depending on the range of the velocity/value of the NOTE or CC message received.

Please let me know if you still have doubts about this :smile:

I think you misunderstood me. Only a few buttons have only off/on states; most of them need to take on multiple colors at different times, so they’d need to use value ranges and would be limited to your set of 16 colors.

so if I really want my own colors, I guess I can modify this piece of code and rebuild the firmware? :slight_smile:

1 Like

yep, changing the color table to your specific needs would give you customized colors.

We could think about a Kilowhat feature that lets you customize and configure this.

1 Like

A little update on this one:

We have refactor the “value to midi” feature to a fixed table with 128 colors.
Like this:

1 Like

Brilliant! thank you!

Out of curiosity, how did you calculate the colors? can you link to the code? or is it entirely hard-coded numbers?

Hi Mike!

I divided the 360° of the HUE wheel into 42, and took that value as Hue HSV, and then for each of those I took a 1/3, 2/3 and full saturation points. This gave 42x3 = 126 colors, and we added black for 0 and a greyish white for 127.
Then converted to RGB values and got the table.

For now it’ll be a hardcoded table, but we want to make it editable in Kilowhat soon.

I used this code to generate the table: https://codeshare.io/5DdEgl

This is a nice compiler to test it: https://repl.it/languages/c

Cheers!

1 Like