diff --git a/README.md b/README.md index 266e709..af91316 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,8 @@ The system features **background wishlist processing** that runs every 60 minute Once configured, SoulSync operates like a personal music librarian—monitoring your Spotify playlists, downloading missing tracks, organizing files, enhancing metadata, and keeping your Plex library perfectly synchronized, all while you sleep. -### 🔄 Powerful Playlist Synchronization -Keep your Plex library perfectly in sync with your Spotify playlists. SoulSync uses snapshot-based change detection to identify new or removed tracks without re-scanning entire playlists. You can download all missing tracks from a playlist with a single click, and the Multi-Sync feature allows you to select and queue multiple playlists for sequential, automated synchronization, making large library updates effortless. - -### 💾 Automated Playlist Backups -Sync with confidence. Before any modifications are made to a Plex playlist, SoulSync automatically creates a timestamped backup (e.g., "Playlist Name Backup"). This ensures that you can always revert to a previous version, protecting your curated playlists from accidental changes or data loss. +### 🔄 Smart Playlist Analysis & Change Detection +Keep your Plex library perfectly in sync with your Spotify playlists through intelligent change detection. SoulSync uses snapshot-based comparison to identify new or removed tracks without re-scanning entire playlists. The advanced playlist analysis engine provides confidence-scored track matching with color-coded indicators, helping you understand exactly which tracks are available, missing, or need attention. One-click bulk operations let you download all missing tracks from a playlist with detailed progress tracking. ### 🗄️ **Lightning-Fast Database Engine** SoulSync maintains a complete local SQLite database of your Plex library metadata, eliminating slow API calls and enabling instant matching operations. The database automatically synchronizes with your Plex server through intelligent background updates triggered by file changes, library scans, and download completions. Advanced features include thread-safe operations with WAL mode, connection pooling for concurrent access, smart Plex scan management with debounced library scanning, and a built-in database health monitoring widget showing sync status and performance metrics. @@ -29,7 +26,7 @@ SoulSync maintains a complete local SQLite database of your Plex library metadat Experience music before downloading with SoulSync's full-featured media player integrated directly into the sidebar. Stream tracks from Soulseek sources for instant preview, with native support for FLAC, MP3, OGG, AAC, WMA, and WAV formats. The player features play/pause/stop controls, volume adjustment, smart scrolling text for long track names, loading animations, and synchronized playback state across all application pages. Preview any search result with a single click to ensure it's the right track before committing to a download. ### 📋 **Advanced Wishlist & Failed Download Management** -Never lose track of music you couldn't find. SoulSync automatically captures failed downloads into a comprehensive wishlist system that preserves the source context (which playlist, album, or search originated the request) along with detailed failure reasons. The system features **automatic background processing** that runs every 60 minutes, attempting to download up to 25 wishlist tracks without user intervention. When tracks become available on the Soulseek network, they're automatically found and downloaded. The wishlist also offers manual one-click retry mechanisms with updated search queries, failure analytics to identify patterns, bulk operations for mass retry/removal, and intelligent retry counting to prevent endless attempts. This ensures that temporarily unavailable tracks are automatically acquired when sources become available, making your music collection truly self-maintaining. +Never lose track of music you couldn't find. SoulSync automatically captures failed downloads into a comprehensive wishlist system that preserves the source context (which playlist, album, or search originated the request) along with detailed failure reasons. The wishlist offers manual one-click retry mechanisms with updated search queries, failure analytics to identify patterns, bulk operations for mass retry/removal, and intelligent retry counting to prevent endless attempts. Advanced filtering and sorting help you manage large wishlists efficiently, while detailed failure logs help identify and resolve recurring issues. ### 🧠 **Sophisticated Matching & Search Engine** At the core of SoulSync is an advanced matching engine that goes far beyond simple text comparison. It features version-aware scoring that automatically prioritizes original versions over remixes, live recordings, or instrumentals. The system handles complex text normalization including Cyrillic characters (КоЯn → Korn), accents, and special symbols like A$AP Rocky. Smart album detection removes album names from track titles ("Track - Album" → "Track") for cleaner matching, while multi-query generation creates several optimized search variations per track to maximize success rates. Every match includes detailed confidence scoring to help you make informed decisions. @@ -51,7 +48,7 @@ Stay informed with SoulSync's comprehensive monitoring system featuring live ser **Dashboard Page**: Centralized control center with a service connection matrix showing real-time status for all connected services, performance overview displaying database health and system resource usage, live activity stream of downloads and system events, and quick action buttons for common operations without page navigation. ### 🚀 **Performance & Reliability Enhancements** -Built on a modern multi-threaded architecture, SoulSync processes searches, downloads, and database operations in parallel for maximum performance. Smart resource management automatically cleans up temporary files and maintains an optimized search history of the 200 most recent queries. Connection resilience features include automatic reconnection logic with exponential backoff for all services, while memory optimization ensures efficient object lifecycle management. All intensive operations run in background threads to maintain complete UI responsiveness, making SoulSync feel fast and fluid even during heavy operations. +Built on a modern multi-threaded architecture, SoulSync processes searches, downloads, and database operations in parallel for maximum performance. Smart resource management automatically cleans up temporary files and maintains an optimized search history of the 200 most recent queries. Memory optimization ensures efficient object lifecycle management, while all intensive operations run in background threads to maintain complete UI responsiveness, making SoulSync feel fast and fluid even during heavy operations. ## ⚙️ How It Works