Exit Full View

Featureful / about / components / MusicPlayer.md

Music Player

I love this music player, and it's only about 100 lines of code.

Features :

  • Supports lots of music formats, including mp3, flac, ogg, wav.
  • Browse my music collection
  • Play a single song
  • Play an entire album
  • Play all albums by an artist
  • Play every song I own
  • Random play versions of the above
  • Pause, Stop, Skip
  • Displays the currently playing song in the title bar
  • Search for songs/albums/artists
  • Logs the songs played to the Output Dock. What was the name of that song?
  • Instantly available, without setting up a database.
  • New songs that are added to your collection are available and searchable immediately.
  • No "wait" times. Everything is instantaneous.

I'm cheating slightly, because Browse isn't part of the music player itself. It just a FolderTab (see above).

Actually playing the songs uses the play command (part of the sox project).

Random play is simple - it pipes the playlist through the shell command sort -R (-R == random).

Pause, resume and skip use the kill command with signals "STOP", "CONT" and "KILL".

Searching for songs/albums/artists uses the Find component. (See below).

IMHO, this is an excellent example of the power of Featureful. You can do a LOT with little effort when all the pieces work together.


Back to Components index.