Skip to content

A GUI player that downloads your last.fm mix and plays the tracks.

Notifications You must be signed in to change notification settings

ficok/lastfm-player

Repository files navigation

last.fm Player

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.

Shortcuts

  • 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

To-do

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

About

A GUI player that downloads your last.fm mix and plays the tracks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages