A subsonic music player.
- fix random breakage of player sometimes. seems like onStart is not working after background player task crashes
- enqueue next track
- enqueue row in starred list
- enqueue row in playlist
- fix blinking in album when selecting different song
- fix intermediate render with blank coverart on artist page
- sort starred by most recently added
- fix package naming
- crash reporting
- search functionality
- pull-to-refresh on playlist view
- pull-to-refresh on starred list
- artists/albums? no, don't need that because they don't really mutate/update.
- find an app icon
- android
- ios
- Play Store
- app icon 512x512px
- graphics feature: 1024x500px image
- App Store
- ???
- Browsing content
- Audio playback
- Starred songs
- Media players support (lock screens)
- Android
- ios
- A nice, smooth interface
- Make play queue actually work in all contexts
- Play a song in album with queue
- Play a song from starred with queue
- Scrobble plays to Subsonic api
- Airplay
- Shuffle modes
- Loop modes
- Offline support
- Play music from cache
- Browse data without loading live from API only
- deliver artwork to system notification from cache
- Sync content for local access in database
- Store metadata persistently for offline mode
- Selective caching
- Store scrobbles offline and submit at a later time
Possible goals:
- Chromecast
- Support other servers than Subsonic compatible APIs
- Linux
- Transcoding when needed/wanted
Non-goals:
- Video support
- EQ/Gain
- Jukebox support/remote playing
- Playback support
- Media players support (lock screens) for Android
- Media players support (lock screens) for ios
- Queue support
- a play queue
- view queue
- edit queue?
- cache artwork
- download files
- [] cache files
- partial, should cache files now, but the user has no control over this
- cache artwork for system notification. have to deliver a file:/// to the system notification so it does not load the artwork over the network
- link from album back to artist
- playlists
- playlist api
- playlist listing
- new homescreen with
- recent albums
- recent playlists
- starred songs
- Album page: Star button in song list?
- Album page: summary in bottom of song list?
- Album page: play button?
- Album page: play on click
- Album page: Slide to enqueue
- Artist page: play button
- Search
- search page
- search button in bottom bar
- Song meta: add information about cache state (whether we have the file already downloaded)
- local cache:
- artist data
- album data
- song data
- starred data
- playlist data
- Setup sqlite database + migrations
- Store artist index in sqlite db for offline use
- persistent cache (offline mode):
- artist data
- album data
- song data
- starred data
- playlist data
- Make it work offline
- Download starred?
- store artwork persistent locally
- store files persistent locally
- store metadata persistent locally in database (as part of a full metadata sync?)
- slide animation in player when skipping next/prev song
- Album page: save button
- Artist page: save button