README na srpskom.
A university project for the Programming paradigms course at the Faculty of Mathematics, University of Belgrade.
A GUI music player written in Go that uses the last.fm API to download a user's mix.json
file, parses it and downloads and plays the tracks.
A work in progress.
- modifier key: control
- q quit
- space toggle play/pause
- ; previous song
- ' next song
- - lower volume
- = raise volume
- m mute
- , seek back 5 seconds
- . seek forward 5 seconds
- p show/hide playlist
In relative order of implementation:
- download thread
- player thread
- polish dld and player threads
- polish double list
- download in advance
- download and parse the
mix.json
for a specific user - play next track automatically after the current one has ended
- seeking
- fix streamer struct to support both Len/Position and Resampling
- currently playing song info: track title, artist name, elapsed/duration, album art
- keyboard media control
- move list to left and have song info on the right, buttons on the bottom
- add volume control
- add volume display (slider)
- settings panel
- upon login/start, immediately download the first track
- show download progress/downloaded indicator
- change playlist panel size/just track info screen
- refresh playlist (and delete old tracks`)
- download new mix in advance, append to the current
Maybe
- keyboard control overhaul (use without mod key)
- scrobble to LastFM