Shuttle2 icon indicating copy to clipboard operation
Shuttle2 copied to clipboard

iTunes/Apple Music sync

Open timusus opened this issue 3 months ago • 0 comments

…nc (Phase 1)

Implements Phase 1 of iTunes/Apple Music sync functionality as requested in issue #107.

Database Changes:

  • Add rating column (0-5 stars) to songs table
  • Create database migration MIGRATION_40_41
  • Update MediaDatabase version to 41

Rating Support:

  • Add rating field to Song model and SongData entity
  • Implement SongRepository.setRating() for updating ratings
  • Add updateRating() method to SongDataDao
  • Display ratings in Song Info dialog with star visualization

MediaStore Integration:

  • Import existing ratings from Android MediaStore
  • Convert MediaStore ratings (0-100) to 0-5 star scale
  • Automatic import during media scanning

Playlist Export:

  • Create PlaylistExporter utility class
  • Support M3U/M3U8 format export
  • Generate iTunes-compatible playlist files
  • Support absolute and relative file paths

Documentation:

  • Add ITUNES_SYNC_IMPLEMENTATION.md with complete implementation details
  • Document future phases for full iTunes sync support
  • Include API reference and testing recommendations

This implementation provides the foundation for iTunes/Apple Music synchronization. Future phases will add rating edit UI, playlist export UI, and desktop sync application.

Addresses: #107

timusus avatar Nov 16 '25 07:11 timusus