hmp3 : an ncurses mp3 player written in Haskell
---------------------------------------------------
Dependencies:
The Glasgow Haskell Compiler >= 6.4.2 http://haskell.org/ghc
mpg321 http://mpg321.sourceforge.net/
A version of FPS >= 0.7 http://www.cse.unsw.edu.au/~dons/fps.html
A Cabal newer than 1.0 http://haskell.org/cabal
curses
Building:
$ chmod +x configure Setup.hs
$ ./Setup.hs configure --prefix=/home/dons
$ ./Setup.hs build
$ ./Setup.hs install
This assumes you have Cabal installed. Cabal is installed by default
with newer GHCs. If your Cabal version is too old (v1.0 that comes with
GHC 6.4.1 is too old), or if you see:
dist/build/hmp3-tmp/cbits/utils.o: No such file or directory
errors, then you need to download a newer Cabal version first.
Use:
To populate a playlist, and start:
$ hmp3 ~/mp3/dir/
or
$ hmp3 a.mp3 b.mp3
From then on this playlist is saved in ~/.hmp3db, and is reloaded
automatically, if you restart hmp3 with no arguments.
$ hmp3
Type 'h' to display the help page. The other commands are explained
on the help screen, which can be accessed by typing 'h'. Quit with
'q'.
Configuration:
Colours may be configured at runtime by editing the "~/.hmp3" file.
An example would be:
Config {
hmp3_window = ("brightwhite", "black")
, hmp3_helpscreen = ("black", "cyan")
, hmp3_titlebar = ("green", "blue")
, hmp3_selected = ("brightwhite", "black")
, hmp3_cursors = ("black", "cyan")
, hmp3_combined = ("black", "cyan")
, hmp3_warnings = ("brightwhite", "red")
, hmp3_blockcursor = ("black", "darkred")
, hmp3_progress = ("cyan", "white")
}
After editing this file, hit 'l' to have the changes used by hmp3.
The keymaps are configurable by adding your own bindings to
Config.hs (as are the colours). Edit this file before compilation.
Alternatively, you can switch between dark and light settings without
recompiling. If you have a light xterm, set HMP_HAS_LIGHT_BG=true in
your shell, and hmp3 will use the light color settings by default.
Limitations:
It only plays mp3 files (and variants supported by mpg{321,123}.
So no ogg files for now. This is on the todo list though.
It is possible to use mpg123, however it appears to be more error
prone, and less stable than mpg321.
Platforms and portability:
hmp3 has been confirmed to work on:
OpenBSD/x86
Linux/x86
FreeBSD/x86
Linux/ppc
MacOSX/ppc
Irix/mips64
* You need -threaded.
* On platforms without a native code generator, you should remove the
reference to -fasm in the hmp3.cabal file
License:
GPL
Author:
Don Stewart, Tue Jun 27 17:11:03 EST 2006
Contributors:
Samuel Bronson
Stefan Wehr
Tomasz Zielonka
David Himmelstrup