mirror of
https://github.com/meowarex/TidaLuna-Plugins.git
synced 2026-06-18 03:43:10 +10:00
4.2 KiB
4.2 KiB
Radiant Lyrics Luna Plugin
A plugin for Luna (Tidal Desktop) that adds enhanced lyrics styling, cover art backgrounds, and UI management features.
Features
✨ Lyrics Glow Effect
- Beautiful glowing effect for lyrics with custom font styling
- Can be toggled on/off in settings
🎨 Cover Everywhere (Performance Optimized)
- Apply spinning cover art background to the entire app
- NEW: Ultra-performance mode with significant optimizations:
- Reduced blur effects (max 20px in performance mode)
- Smaller image sizes (640x640 vs 1280x1280)
- Static backgrounds (no animations)
- Optimized GPU usage with hardware acceleration
- DOM element reuse to prevent memory leaks
- Throttled updates (max once per 500ms)
- Adaptive polling for track changes
🔧 Performance Mode Features
When enabled, Performance Mode provides:
- Blur Reduction: Caps blur at 20px instead of up to 200px
- Image Optimization: Uses 640x640 resolution instead of 1280x1280
- Animation Disable: Removes all CSS animations for static backgrounds
- Memory Optimization: Better DOM element management and cleanup
- GPU Optimization: Reduces
will-changeproperties and backdrop-filter effects - Size Reduction: Smaller background image dimensions (120vw vs 150vw for global, 80vw vs 90vw for Now Playing)
🎛️ UI Management
- Hide/unhide UI functionality with smooth transitions
- Player bar visibility control when UI is hidden
- Customizable background effects (blur, brightness, contrast, spin speed)
Technical Improvements
Performance Optimizations (Latest Update)
- DOM Element Reuse: Background elements are created once and reused instead of being recreated on every track change
- Update Throttling: Cover art updates are throttled to prevent excessive DOM manipulation
- Adaptive Polling: Track change detection starts fast and slows down when no changes occur
- Hardware Acceleration: Added GPU acceleration hints for smoother animations
- Memory Management: Proper cleanup of cached DOM elements
- CSS Optimizations: Better use of
transform3dandbackface-visibilityfor GPU rendering
Normal Mode Performance Enhancements
Even without Performance Mode enabled, the plugin now includes significant optimizations:
- Optimized Filter Order: Reordered CSS filters for better GPU performance (
contrast→brightness→blur) - CSS Custom Properties: Dynamic filter updates use CSS variables to avoid style recalculation
- Transform3D: All transforms use
translate3d()for better GPU acceleration - Image Caching: LRU cache for cover art images (max 10 images) for instant loading
- Preloading: Smart image preloading with cache checking for smoother transitions
- Enhanced GPU Layers: Better use of
transform-style: preserve-3dandisolation: isolate - Optimized Animations: Improved keyframe animations with
cubic-beziertiming - Backdrop-Filter Optimization: More efficient backdrop-filter usage with hardware acceleration
- Compositing Hints: Added
contain: layout style paintfor better rendering isolation
Browser Compatibility
- Respects
prefers-reduced-motionfor accessibility - Optimized for modern browsers with hardware acceleration support
Settings
- Lyrics Glow Effect: Toggle the enhanced lyrics styling
- Hide UI Feature: Enable hide/show UI functionality
- Player Bar Visibility: Keep player bar visible when UI is hidden
- Cover Everywhere: Apply cover art background to entire app
- Performance Mode: Enable ultra-light performance optimizations
- Background Controls: Adjust contrast (0-200), blur (0-200), brightness (0-100)
- Spin Speed: Control rotation speed (10-120 seconds per rotation)
- Settings Affect Now Playing: Apply background settings to Now Playing view
Performance Recommendations
- Enable Performance Mode if you experience lag or high GPU usage
- Reduce Background Blur setting for better performance
- Use lower Background Contrast values on slower systems
- Consider disabling Cover Everywhere on very low-end systems
Credits
- Heavily inspired by Cover-Theme by @Inrixia
- Thanks to the Luna development team for the plugin framework