Lv_led color in off state how to change from black to transparent of white

I want to emulate a LED VU meter, 16 LEDs. 9 green, 4 orange, 3 red.
I tried a bar with gradients but can’t go behind 2 gradients (core paniced…) and i need hard limits not gradients.
I tried lv_led but i cant get them to be transparant or white when off, it’s allways black.
I tried setting bg to transparent but when on i have a hole in my led.
Any suggestions?
It needs to be fast in updates, it’s used in an amplifier.

static lv_style_t led_style1;
lv_style_set_radius(&led_style1, 0);
lv_style_set_bg_opa(&led_style1, LV_OPA_TRANSP);
lv_style_set_bg_color(&led_style1, lv_color_white());

led_effect1_l1 = lv_led_create(tabeffect1);
lv_obj_add_style(led_effect1_l1, &led_style1, LV_PART_MAIN);

lv_obj_set_size(led_effect1_l1, 16, 16);
lv_led_set_color(led_effect1_l1, lv_color_hex(0x00ff00));
lv_obj_align(led_effect1_l1, LV_ALIGN_TOP_LEFT, 100, 80);
lv_led_on(led_effect1_l1);

I gave up on the led object and used a standard lv_obj rectangular object and changed color but after going from 2x16 to 2x20 the refresh became very choppy, i ended up drawing the rectangles directly with native tft_espi commands

For other looking for a solution I have used this for my virtual led’s

  1. define the color in OFF state in EEZ studio or code (not so important because the off state color is used in the main file to turn the LED off)
  2. do NOT use lv_led_toggle(objects.led) or lv_led_on(objects.led) / lv_led_off(objects.led)
  3. use these commands:

OFF state: lv_led_set_color(objects.led_1, lv_palette_main(LV_PALETTE_GREY));
ON state: lv_led_set_color(objects.led_1, lv_palette_main(LV_PALETTE_RED));
(any color you want of course)

or use lv_color_hex(0xffe62c2c) to choose a color