I’ve been playing around with illuminated encoders and the results are nice (promise a video soon!). For the most part, the NG events work well to change the hsv colour, or brightness using dimmed=1.
I’m wondering about bipolar controls though – e.g. where you might represent CC* values of 0-63 as negative and 64-127 as positive. I find it’s okay to use range=MAP* as a hack to assign red to “negative” and green to “positive” values, and also to use a dimming function e.g.:
#hue map (red 0-49, yellow 50, green 51-100) MAP1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ 0 0 0 0 0 0 0 0 0 0 0 0 60 120 120 120 120 120 120 120 120 120 120 120 120 120 \ 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 \ 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 #value (i.e. brightness) map (value 100-0-100) MAP2 100 98 96 94 92 90 88 86 84 82 80 78 76 74 72 70 68 66 64 62 60 58 56 54 52 \ 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 2 4 6 8 \ 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 \ 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
but it would be nice to combine the two. Thus you might have the LED off in the centre position, and fade up to full red or green depending on the direction. I can also think of other usecases e.g. a unipolar level control increasing in brightness from zero to green to yellow to red.
All of my efforts so far have failed, including trying to put conditional statements in the .NGC, running simple SET_HSV commands in .NGR, various arrangements of EVENTs etc. I assume (as well as being naive) that the RGBLED events are conflicting, and only the most recent one takes priority.
So, any ideas for controlling both the “h” and “v” parts of EVENT_RGBLED separately?