soulsync/CLAUDE.md
Broque Thomas 05718ac92d working
2025-07-11 20:14:04 -07:00

5.2 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is a new music management application project that aims to create a Spotify-like desktop application with Python. The project is in its initial planning phase with only a project requirements document (project.txt) currently present.

Project Requirements

The application will be a music management tool that:

  • Connects to Spotify API and Plex Media Server
  • Features an elegant, animated, vibrant theme similar to Spotify's desktop/web app
  • Synchronizes Spotify playlists to Plex using robust matching systems
  • Integrates with Soulseek for downloading FLAC/high-quality audio files
  • Updates music metadata on Plex based on Spotify metadata including album art
  • Provides core functionality that feels and looks like Spotify

Configuration

The application will use a central config.json file to store:

  • Spotify API credentials and login information
  • Plex Media Server connection details
  • Other connected service configurations

Development Status

Current State: Active development of a PyQt6-based desktop application with functional UI and core integrations.

Completed Features:

  • PyQt6 GUI framework with Spotify-inspired dark theme
  • Modular architecture with separate service clients (Spotify, Plex, Soulseek)
  • Modern sidebar navigation with animated buttons and status indicators
  • Media player sidebar with scrolling text animation for long titles
  • Search functionality with real-time filtering (Albums vs Singles)
  • Audio streaming and playback from Soulseek search results
  • Service status monitoring and connection indicators
  • Configuration management system
  • Download progress tracking for both singles and albums
  • Enhanced filename matching system preventing false positives
  • Complete download queue management system with functional buttons
  • Compact, practical download item UI design
  • Album track button state management and cancellation handling
  • Clear completed downloads functionality with backend integration

Recently Completed Work:

Download Manager Complete Redesign (COMPLETED)

  • COMPLETED: Fully functional Cancel and Open buttons in download queue
  • COMPLETED: Proper slskd API integration with correct endpoint formats
  • COMPLETED: Enhanced album track button state management with cancellation support
  • COMPLETED: Clear All Completed Downloads functionality using slskd backend API
  • COMPLETED: Compact download item UI redesign for optimal space utilization

Download Queue Button Functionality (RESOLVED)

  • FIXED: Cancel button now properly cancels downloads using correct slskd API format
  • FIXED: Open button successfully opens download folders with fallback logic
  • FIXED: Enhanced debugging and error handling for button operations
  • FIXED: Album track buttons properly reset after individual track cancellation

UI/UX Improvements (COMPLETED)

  • COMPLETED: Redesigned CompactDownloadItem with efficient 45px height
  • COMPLETED: Conditional layout system (active: filename/uploader/progress/cancel, finished: filename/uploader/open)
  • COMPLETED: Smart text ellipsis handling preventing horizontal overflow
  • COMPLETED: Optimized space allocation fitting perfectly in download queue container
  • COMPLETED: Clean, functional button design with immediate accessibility

Active Work:

  • Additional UI polish and user experience improvements
  • Matching engine development for cross-service track matching

Current System Status: All major download management functionality is working correctly.

Key Components Status

  1. Configuration Management: Complete - Secure handling of API keys and service credentials
  2. Spotify Integration: Complete - Playlist retrieval and metadata extraction
  3. Plex Integration: Complete - Media server synchronization and metadata updates
  4. Soulseek Integration: Complete - Full music discovery, download management, and queue functionality
  5. Download Management: Complete - Comprehensive download queue with cancel/open functionality
  6. User Interface: Complete - Spotify-inspired design with practical, efficient download management
  7. Matching Engine: In Development - Robust algorithms for matching tracks across services

Technical Architecture

Download Management System

  • CompactDownloadItem: Efficient 45px height design with conditional layouts
  • slskd API Integration: Proper DELETE endpoints with username/download_id parameters
  • Album Track Management: State synchronization between album buttons and download queue
  • Clear Completed: Backend integration for removing finished downloads from slskd
  • Progress Tracking: Real-time updates with percentage display and status monitoring

UI Design Philosophy

  • Function over Form: Practical, user-focused design prioritizing usability
  • Container Responsive: Optimized for small download queue areas without horizontal scrolling
  • Efficient Space Usage: Conditional layouts maximize available space
  • Immediate Accessibility: Buttons positioned for quick access without scrolling