diff --git a/README.md b/README.md index 0917450..363939a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ + +![A screenshot of my awesome app in action.](./assets/trans.png) + # 🎵 SoulSync - Automated Music Discovery and Collection Manager SoulSync is a powerful desktop application designed to bridge the gap between your music streaming habits on Spotify and your personal, high-quality music library in Plex. It automates the process of discovering new music, finding missing tracks from your favorite playlists, and sourcing them from the Soulseek network via slskd. The core philosophy of SoulSync is to let you enjoy music discovery on Spotify while it handles the tedious work of building and maintaining a pristine, locally-hosted music collection for you in Plex. + +![A screenshot of my awesome app in action.](./assets/dashboard.png) + ## ⚠️ Regarding Apple Music, YouTube Music, and Docker Support This won't be possible for the time being. Youtube doesn't offer API access to their Youtube music playlists and Apple requires a $99 fee to access their API. Docker is unlikely since this is a fully GUI based app. The unique setup would be difficult for most users and my knowledge of docker is pathetic, sadly. diff --git a/assets/dashboard.png b/assets/dashboard.png new file mode 100644 index 0000000..18a66d9 Binary files /dev/null and b/assets/dashboard.png differ diff --git a/assets/trans.png b/assets/trans.png new file mode 100644 index 0000000..8efe2e5 Binary files /dev/null and b/assets/trans.png differ diff --git a/core/soulseek_client.py b/core/soulseek_client.py index 016a7b8..9183a14 100644 --- a/core/soulseek_client.py +++ b/core/soulseek_client.py @@ -207,7 +207,7 @@ class SoulseekClient: # Rate limiting for searches self.search_timestamps: List[float] = [] # Track search timestamps - self.max_searches_per_window = 45 # Conservative limit (vs 34 mentioned online) + self.max_searches_per_window = 35 # Conservative limit to prevent Soulseek bans self.rate_limit_window = 220 # seconds (3 minutes 40 seconds) self._setup_client()