Minstrel

[Introduction] [Building from source] [Screenshots] [TODO]

Introduction

Minstrel is a frontend to the GStreamer library written in Haskell. The interface is designed to fit in with what I want from my music player, so may not agree with you, but I'm sure there's an alternative out there that does! It is currently unreleased, and both it and its libraries are not robust, so you'll need to treat them gently for the time being.

The frontend takes two arguments, a playpool (filename) and a root (directory). The playpool contains a list of lines like

The Foo Band/Bar Album/The First Track.ogg
The Foo Band/Bar Album/The Second Track.ogg

(where ogg is any filetype supported by alsaplayer) such that for each line x, there is a file root/x. Currently the only supported format is artist/album/track. Ony way to creat a playpool is cd root && find . -print | sed "s/..//".

By default, random tracks from the playpool will be played. Yet to be implemented are modes for playing all tracks in random albums and a passive mode where the status display is updated but no tracks are set to be played (but other programs may be playing tracks in the same alsaplayer session). You can also select an artist, album or track and press space to add it, or all tracks contained within it if it is not a track, to a playlist. Tracks in the playlist will be played through in order in preference to teh random selections normally made. Pressing enter is similar, but adds the appropriate tracks to the beginning of the queue and interrupts the currently playing track to start playing them.

Building from source

You will need at least GHC 6.3 to build it, as well as the curses and gstreamer development libraries. To get the source you will also need darcs. Then:

darcs get http://urchin.earth.li/darcs/ian/minstrel
cd minstrel
darcs get http://urchin.earth.li/darcs/ian/cstring
darcs get http://urchin.earth.li/darcs/ian/hcurses
darcs get http://urchin.earth.li/darcs/ian/hgobject
darcs get http://urchin.earth.li/darcs/ian/hgstreamer

Then just run make to build.

Screenshots

TODO


Valid XHTML 1.1!

Ian Lynagh <igloo@earth.li>