Merge pull request #140 from meowarex/dev

Hotfix + Re add the bug immediatley <3
This commit is contained in:
meoware.exe
2026-08-13 05:01:44 +10:00
committed by GitHub
4 changed files with 55 additions and 34 deletions
@@ -49,6 +49,7 @@ export const settings = await ReactiveStore.getPluginStorage("RadiantLyrics", {
playerBarTintCustomColors: [] as string[], playerBarTintCustomColors: [] as string[],
// Master switch // Master switch
backdropEnabled: true, backdropEnabled: true,
backdropStyle: 0,
backdropPlaybackReactive: true, backdropPlaybackReactive: true,
CoverEverywhere: true, CoverEverywhere: true,
performanceMode: false, performanceMode: false,
@@ -82,6 +83,9 @@ export const Settings = () => {
const [backdropEnabled, setBackdropEnabled] = React.useState( const [backdropEnabled, setBackdropEnabled] = React.useState(
settings.backdropEnabled, settings.backdropEnabled,
); );
const [backdropStyle, setBackdropStyle] = React.useState(
settings.backdropStyle,
);
const [backdropPlaybackReactive, setBackdropPlaybackReactive] = const [backdropPlaybackReactive, setBackdropPlaybackReactive] =
React.useState(settings.backdropPlaybackReactive); React.useState(settings.backdropPlaybackReactive);
const [performanceMode, setPerformanceMode] = React.useState( const [performanceMode, setPerformanceMode] = React.useState(
@@ -922,6 +926,19 @@ export const Settings = () => {
refreshBackdrop(); refreshBackdrop();
}} }}
/> />
<LunaNumberSetting
title="Backdrop Style" // This feature is the result of a bug caused by my ADHD <3
desc="0 = Fluid, 1 = Aurora"
min={0}
max={1}
step={1}
value={backdropStyle}
onNumber={(value: number) => {
settings.backdropStyle = value;
setBackdropStyle(value);
refreshBackdrop();
}}
/>
<AnySwitch <AnySwitch
title="Playback Reactive" title="Playback Reactive"
desc="Cover shader reacts to playback state by freezing/resuming" desc="Cover shader reacts to playback state by freezing/resuming"
@@ -14,6 +14,39 @@
transition: filter 800ms ease; transition: filter 800ms ease;
} }
/* Hide Tidal now-playing background color */
[data-test="new-now-playing"] > [class*="_background_"] {
/* biome-ignore lint: Must override native album-art-derived background */
display: none !important;
}
/* Ensure now-playing container is transparent */
[class*="_nowPlayingContainer"] {
/* biome-ignore lint: Must override any inline background styles */
background: transparent !important;
}
.now-playing-background-container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 0;
pointer-events: none;
overflow: hidden;
background: #000;
transform: translateZ(0);
backface-visibility: hidden;
}
/* now-playing renders above the backdrop */
[data-test="new-now-playing"] > header,
[data-test="new-now-playing"] > [class*="_content_"] {
position: relative;
z-index: 1;
}
/* engine animates on RAF loop*/ /* engine animates on RAF loop*/
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.rl-kawarp-canvas { .rl-kawarp-canvas {
+5 -1
View File
@@ -164,7 +164,11 @@ export class KawarpLayer {
const dpr = getDpr(); const dpr = getDpr();
const rect = this.host.getBoundingClientRect(); const rect = this.host.getBoundingClientRect();
const width = Math.max(1, Math.round(rect.width * dpr)); const width = Math.max(1, Math.round(rect.width * dpr));
const height = Math.max(1, Math.round(rect.height * dpr)); // Aurora: render a single row of pixels and let CSS stretch it down the whole canvas (makes bands of color)
const height =
settings.backdropStyle === 1
? 1
: Math.max(1, Math.round(rect.height * dpr));
if (this.canvas.width === width && this.canvas.height === height) return; if (this.canvas.width === width && this.canvas.height === height) return;
this.canvas.width = width; this.canvas.width = width;
this.canvas.height = height; this.canvas.height = height;
@@ -16,39 +16,6 @@
backface-visibility: hidden; backface-visibility: hidden;
} }
/* Hide Tidal's native now-playing background color overlay */
[data-test="new-now-playing"] > [class*="_background_"] {
/* biome-ignore lint: Must override native album-art-derived background */
display: none !important;
}
/* Ensure the now-playing container itself is transparent */
[class*="_nowPlayingContainer"] {
/* biome-ignore lint: Must override any inline background styles */
background: transparent !important;
}
.now-playing-background-container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 0;
pointer-events: none;
overflow: hidden;
background: #000;
transform: translateZ(0);
backface-visibility: hidden;
}
/* now-playing renders above the backdrop */
[data-test="new-now-playing"] > header,
[data-test="new-now-playing"] > [class*="_content_"] {
position: relative;
z-index: 1;
}
/* Make app chrome transparent for cover-everywhere background */ /* Make app chrome transparent for cover-everywhere background */
body, body,
#wimp, #wimp,