diff options
Diffstat (limited to 'apps/plugins/vu_meter.c')
-rw-r--r-- | apps/plugins/vu_meter.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index 4c98e6df8f..405f6df01d 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c | |||
@@ -298,6 +298,9 @@ int last_num_left_leds; | |||
298 | int last_num_right_leds; | 298 | int last_num_right_leds; |
299 | 299 | ||
300 | int i; | 300 | int i; |
301 | #ifdef HAVE_LCD_COLOR | ||
302 | int screen_foreground; | ||
303 | #endif | ||
301 | 304 | ||
302 | #define MAX_PEAK 0x8000 | 305 | #define MAX_PEAK 0x8000 |
303 | 306 | ||
@@ -510,6 +513,9 @@ void draw_analog_minimeters(void) { | |||
510 | } | 513 | } |
511 | 514 | ||
512 | void draw_digital_minimeters(void) { | 515 | void draw_digital_minimeters(void) { |
516 | #ifdef HAVE_LCD_COLOR | ||
517 | rb->lcd_set_foreground(LCD_RGBPACK(255, 255 - 23 * num_left_leds, 0)); | ||
518 | #endif | ||
513 | rb->lcd_mono_bitmap(sound_speaker, 34, half_height-8, 4, 8); | 519 | rb->lcd_mono_bitmap(sound_speaker, 34, half_height-8, 4, 8); |
514 | rb->lcd_set_drawmode(DRMODE_FG); | 520 | rb->lcd_set_drawmode(DRMODE_FG); |
515 | if(1<num_left_leds) | 521 | if(1<num_left_leds) |
@@ -521,6 +527,9 @@ void draw_digital_minimeters(void) { | |||
521 | if(8<num_left_leds) | 527 | if(8<num_left_leds) |
522 | rb->lcd_mono_bitmap(sound_max_level, 46, half_height-8, 3, 8); | 528 | rb->lcd_mono_bitmap(sound_max_level, 46, half_height-8, 3, 8); |
523 | 529 | ||
530 | #ifdef HAVE_LCD_COLOR | ||
531 | rb->lcd_set_foreground(LCD_RGBPACK(255, 255 - 23 * num_right_leds, 0)); | ||
532 | #endif | ||
524 | rb->lcd_set_drawmode(DRMODE_SOLID); | 533 | rb->lcd_set_drawmode(DRMODE_SOLID); |
525 | rb->lcd_mono_bitmap(sound_speaker, 34, half_height+8, 4, 8); | 534 | rb->lcd_mono_bitmap(sound_speaker, 34, half_height+8, 4, 8); |
526 | rb->lcd_set_drawmode(DRMODE_FG); | 535 | rb->lcd_set_drawmode(DRMODE_FG); |
@@ -533,6 +542,10 @@ void draw_digital_minimeters(void) { | |||
533 | if(8<(num_right_leds)) | 542 | if(8<(num_right_leds)) |
534 | rb->lcd_mono_bitmap(sound_max_level, 46, half_height+8, 3, 8); | 543 | rb->lcd_mono_bitmap(sound_max_level, 46, half_height+8, 3, 8); |
535 | rb->lcd_set_drawmode(DRMODE_SOLID); | 544 | rb->lcd_set_drawmode(DRMODE_SOLID); |
545 | |||
546 | #ifdef HAVE_LCD_COLOR | ||
547 | rb->lcd_set_foreground(screen_foreground); | ||
548 | #endif | ||
536 | } | 549 | } |
537 | 550 | ||
538 | void analog_meter(void) { | 551 | void analog_meter(void) { |
@@ -621,15 +634,26 @@ void digital_meter(void) { | |||
621 | 634 | ||
622 | rb->lcd_set_drawmode(DRMODE_FG); | 635 | rb->lcd_set_drawmode(DRMODE_FG); |
623 | /* LEDS */ | 636 | /* LEDS */ |
624 | for(i=0; i<num_left_leds; i++) | 637 | for(i=0; i<num_left_leds; i++) { |
638 | #ifdef HAVE_LCD_COLOR | ||
639 | rb->lcd_set_foreground(LCD_RGBPACK(255, 255 - 23 * i, 0)); | ||
640 | #endif | ||
625 | rb->lcd_fillrect((digital_lead + (i*digital_block_width)), | 641 | rb->lcd_fillrect((digital_lead + (i*digital_block_width)), |
626 | 14, digital_block_width - digital_block_gap, digital_block_height); | 642 | 14, digital_block_width - digital_block_gap, digital_block_height); |
643 | } | ||
627 | 644 | ||
628 | for(i=0; i<num_right_leds; i++) | 645 | for(i=0; i<num_right_leds; i++) { |
646 | #ifdef HAVE_LCD_COLOR | ||
647 | rb->lcd_set_foreground(LCD_RGBPACK(255, 255 - 23 * i, 0)); | ||
648 | #endif | ||
629 | rb->lcd_fillrect((digital_lead + (i*digital_block_width)), | 649 | rb->lcd_fillrect((digital_lead + (i*digital_block_width)), |
630 | (half_height + 20), digital_block_width - digital_block_gap, | 650 | (half_height + 20), digital_block_width - digital_block_gap, |
631 | digital_block_height); | 651 | digital_block_height); |
632 | 652 | } | |
653 | |||
654 | #ifdef HAVE_LCD_COLOR | ||
655 | rb->lcd_set_foreground(screen_foreground); | ||
656 | #endif | ||
633 | rb->lcd_set_drawmode(DRMODE_SOLID); | 657 | rb->lcd_set_drawmode(DRMODE_SOLID); |
634 | 658 | ||
635 | if(vumeter_settings.digital_minimeters) | 659 | if(vumeter_settings.digital_minimeters) |
@@ -661,6 +685,9 @@ enum plugin_status plugin_start(const struct plugin_api* api, const void* parame | |||
661 | 685 | ||
662 | load_settings(); | 686 | load_settings(); |
663 | rb->lcd_setfont(FONT_SYSFIXED); | 687 | rb->lcd_setfont(FONT_SYSFIXED); |
688 | #ifdef HAVE_LCD_COLOR | ||
689 | screen_foreground = rb->lcd_get_foreground(); | ||
690 | #endif | ||
664 | 691 | ||
665 | while (1) | 692 | while (1) |
666 | { | 693 | { |