summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/vu_meter.c33
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;
298int last_num_right_leds; 298int last_num_right_leds;
299 299
300int i; 300int i;
301#ifdef HAVE_LCD_COLOR
302int 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
512void draw_digital_minimeters(void) { 515void 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
538void analog_meter(void) { 551void 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 {