@@ -19693,7 +19693,7 @@ def test_update(self, track_object: TrackClass) -> None:
19693
19693
19694
19694
def render(self, x: int, y: int, w: int, h: int, p: int) -> None:
19695
19695
colour = self.colours.lyrics
19696
- bg = self.colours.playlist_panel_background
19696
+ bg = self.colours.lyrics_panel_background
19697
19697
19698
19698
#colour = self.colours.grey(40)
19699
19699
# if test_lumi(self.colours.lyrics_panel_background) < 0.5:
@@ -19853,7 +19853,7 @@ def render(self, index: int, x: int, y: int, side_panel: bool = False, w: int =
19853
19853
y_center = y + (h/2) - (spacing)
19854
19854
else:
19855
19855
scroll_to = 0
19856
- bg = self.colours.playlist_panel_background
19856
+ bg = self.colours.lyrics_panel_background
19857
19857
font_size = 20
19858
19858
spacing = round(10 * self.gui.scale)
19859
19859
y_center = self.window_size[1]/2
@@ -21604,9 +21604,7 @@ def display(self, track: TrackClass, location: list[int], box: tuple[int, int],
21604
21604
x_colours.append(ColourRGBA(colour[0], colour[1], colour[2], 255))
21605
21605
21606
21606
#logging.info(x_colours)
21607
- colours.playlist_panel_bg = colours.side_panel_background
21608
21607
colours.playlist_box_background = colours.side_panel_background
21609
- colours.lyrics_panel_background = colours.side_panel_background
21610
21608
21611
21609
colours.playlist_panel_background = x_colours[0]
21612
21610
if len(x_colours) > 1:
@@ -21622,6 +21620,7 @@ def display(self, track: TrackClass, location: list[int], box: tuple[int, int],
21622
21620
colours.playlist_box_background = x_colours[4]
21623
21621
21624
21622
colours.queue_background = colours.side_panel_background
21623
+ colours.lyrics_panel_background = colours.side_panel_background
21625
21624
# Check artist text colour
21626
21625
if contrast_ratio(colours.artist_text, colours.playlist_panel_background) < 1.9:
21627
21626
black = ColourRGBA(25, 25, 25, 255)
@@ -21652,6 +21651,36 @@ def display(self, track: TrackClass, location: list[int], box: tuple[int, int],
21652
21651
colours.title_text = choice
21653
21652
colours.title_playing = choice
21654
21653
21654
+ # Check lyrics text colour
21655
+ if contrast_ratio(colours.lyrics, colours.lyrics_panel_background) < 1.9:
21656
+ black = ColourRGBA(60, 60, 60, 255)
21657
+ white = ColourRGBA(180, 180, 180, 255)
21658
+
21659
+ con_b = contrast_ratio(black, colours.lyrics_panel_background)
21660
+ con_w = contrast_ratio(white, colours.lyrics_panel_background)
21661
+
21662
+ choice = black
21663
+ if con_w > con_b:
21664
+ choice = white
21665
+
21666
+ colours.lyrics = choice
21667
+
21668
+ # try to pick high-contrast active lyric color
21669
+ contrast = 0
21670
+ for i in x_colours:
21671
+ temp = contrast_ratio(i, colours.lyrics_panel_background)
21672
+ if temp > contrast:
21673
+ colours.active_lyric = i
21674
+ contrast = temp
21675
+ # if there isn't one, just do full black/white
21676
+ if contrast_ratio(colours.active_lyric, colours.lyrics_panel_background) < 2.9 or contrast_ratio(colours.active_lyric, colours.lyrics) < 1.9:
21677
+ lpb = colours.lyrics_panel_background
21678
+ lr = colours.lyrics
21679
+ tc = rgb_to_hls(lpb.r, lpb.g, lpb.b)
21680
+ lc = rgb_to_hls(lr.r, lr.g, lr.b)
21681
+
21682
+ colours.active_lyric = hls_to_rgb( tc[0]+0.3, lc[1], max(tc[2]*1.5, 0.5) )
21683
+
21655
21684
if test_lumi(colours.side_panel_background) < 0.50 and not self.prefs.transparent_mode:
21656
21685
colours.side_bar_line1 = ColourRGBA(25, 25, 25, 255)
21657
21686
colours.side_bar_line2 = ColourRGBA(35, 35, 35, 255)
@@ -35799,8 +35828,8 @@ def render(self) -> None:
35799
35828
elif self.window_size[1] / self.window_size[0] > 0.7:
35800
35829
x = int(self.window_size[0] * 0.07)
35801
35830
35802
- bbg = rgb_add_hls(self.colours.playlist_panel_background , 0, 0.05, 0) # [255, 255, 255, 18]
35803
- bfg = rgb_add_hls(self.colours.playlist_panel_background , 0, 0.09, 0) # [255, 255, 255, 30]
35831
+ bbg = rgb_add_hls(self.colours.lyrics_panel_background , 0, 0.05, 0) # [255, 255, 255, 18]
35832
+ bfg = rgb_add_hls(self.colours.lyrics_panel_background , 0, 0.09, 0) # [255, 255, 255, 30]
35804
35833
bft = self.colours.grey(235)
35805
35834
bbt = self.colours.grey(200)
35806
35835
@@ -35819,12 +35848,12 @@ def render(self) -> None:
35819
35848
bft = ColourRGBA(255, 255, 255, 250)
35820
35849
bbt = ColourRGBA(255, 255, 255, 200)
35821
35850
35822
- if test_lumi(self.colours.playlist_panel_background ) < 0.7:
35851
+ if test_lumi(self.colours.lyrics_panel_background ) < 0.7:
35823
35852
light_mode = True
35824
35853
t1 = self.colours.grey(30)
35825
35854
self.gui.vis_4_colour = ColourRGBA(40, 40, 40, 255)
35826
35855
35827
- self.ddt.rect((0, self.gui.panelY, self.window_size[0], self.window_size[1] - self.gui.panelY), self.colours.playlist_panel_background )
35856
+ self.ddt.rect((0, self.gui.panelY, self.window_size[0], self.window_size[1] - self.gui.panelY), self.colours.lyrics_panel_background )
35828
35857
35829
35858
if self.prefs.bg_showcase_only and self.prefs.art_bg:
35830
35859
self.tauon.style_overlay.display()
@@ -37838,7 +37867,7 @@ def synced_render(self, index: int, x: int, y: int, hide_art: bool = False, w: i
37838
37867
highlight = True
37839
37868
37840
37869
scroll_to = 0
37841
- bg = self.colours.playlist_panel_background
37870
+ bg = self.colours.lyrics_panel_background
37842
37871
spacing = round(10 * self.gui.scale)
37843
37872
y_center = self.window_size[1]/2
37844
37873
@@ -38205,7 +38234,7 @@ def is_int(number: str) -> bool:
38205
38234
38206
38235
def unsynced_render(self, x: int, y: float, box: float, hide_art: bool) -> None:
38207
38236
colour = self.colours.lyrics
38208
- bg = self.colours.playlist_panel_background
38237
+ bg = self.colours.lyrics_panel_background
38209
38238
38210
38239
38211
38240
x += box + int(self.window_size[0] * 0.15) + 10 * self.gui.scale
@@ -38382,8 +38411,8 @@ def render(self) -> None:
38382
38411
elif self.window_size[1] / self.window_size[0] > 0.7:
38383
38412
x = int(self.window_size[0] * 0.07)
38384
38413
38385
- bbg = rgb_add_hls(self.colours.playlist_panel_background , 0, 0.05, 0) # [255, 255, 255, 18]
38386
- bfg = rgb_add_hls(self.colours.playlist_panel_background , 0, 0.09, 0) # [255, 255, 255, 30]
38414
+ bbg = rgb_add_hls(self.colours.lyrics_panel_background , 0, 0.05, 0) # [255, 255, 255, 18]
38415
+ bfg = rgb_add_hls(self.colours.lyrics_panel_background , 0, 0.09, 0) # [255, 255, 255, 30]
38387
38416
bft = self.colours.grey(235)
38388
38417
bbt = self.colours.grey(200)
38389
38418
@@ -38402,12 +38431,12 @@ def render(self) -> None:
38402
38431
bft = ColourRGBA(255, 255, 255, 250)
38403
38432
bbt = ColourRGBA(255, 255, 255, 200)
38404
38433
38405
- if test_lumi(self.colours.playlist_panel_background ) < 0.7:
38434
+ if test_lumi(self.colours.lyrics_panel_background ) < 0.7:
38406
38435
light_mode = True
38407
38436
t1 = self.colours.grey(30)
38408
38437
self.gui.vis_4_colour = ColourRGBA(40, 40, 40, 255)
38409
38438
38410
- self.ddt.rect((0, self.gui.panelY, self.window_size[0], self.window_size[1] - self.gui.panelY), self.colours.playlist_panel_background )
38439
+ self.ddt.rect((0, self.gui.panelY, self.window_size[0], self.window_size[1] - self.gui.panelY), self.colours.lyrics_panel_background )
38411
38440
38412
38441
if self.prefs.bg_showcase_only and self.prefs.art_bg:
38413
38442
self.tauon.style_overlay.display()
0 commit comments