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 improved the “value to midi” feature to a fixed table with 128 colors.
Like this:

2 Likes

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!

2 Likes

Making it editable and making the colors “ordered” would be awesome!

I mapped the feedback from my fader to one of the pads and made the color velocity sensitive, and the results are… interesting. being able to make the color changes more gradual and specific would be cool though!

Hi @qbrd! It’s also on To do list!

For now they are set, if you wanted you could change the colors in the types.h file and recompile and upload to your controller, but this is coming relatively soon.

It’s even set for it in the controller, we just need to implement the interface in Kilowhat :slight_smile:

Ah cool! I might have a go at that… It’s been YEARS since I wrote any C seriously… :slight_smile:

I’m sure you guys are busy, so I’m trying to be patient! Just thought I’d vocalize my support for the feature! :smiley:

Thanks again, you guys have been great!

1 Like

Oh, and! IF I may be so bold… I’d like to define a color gradient for each LED… :smiley:

Okay so, I’ve whipped a color table that’s pretty much giving 2 bits to red, 2 bits to green, 3 bits to blue (I like blue) and counting up in order. what do I need to do to build the firmware again?

If anyone wants to try using it, I’ll upload it here, but I would like to figure out how to build my own.colors.h (2.3 KB)

1 Like

I’ve cloned the git repo and downloaded the Arduino IDE, but I’m not sure how to open and build the project.

make
make install

No, not that easy… lol but I think the link above should get you sorted?