hmp3: An ncurses mp3 player written in Haskell

[ program, sound ] [ Propose Tags ]

An mp3 player with a curses frontend. Playlists are populated by passing directory names on the commandline, and saved to the ~/.hmp3db database. Type h to display the help page. Colours may be configured at runtime by editing the "~/.hmp3" file.

[Skip to Readme]


Automatic Flags

Choose the new smaller, split-up base package.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 1.1, 1.2, 1.3, 1.4, 1.5.1, 1.5.2,
Dependencies array, base, binary (>=0.4), bytestring (>=0.9), containers, directory, mersenne-random (>=0.1), old-time, pcre-light (>=0.3), process, unix, zlib (>=0.4) [details]
License LicenseRef-GPL
Author Don Stewart
Category Sound
Home page
Uploaded by DonaldStewart at 2008-06-13T18:54:42Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hmp3
Downloads 5274 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 9 reports]

Readme for hmp3-

[back to package description]
            hmp3 : an ncurses mp3 player written in Haskell


    $ 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.

    To populate a playlist, and start:

    $ hmp3 ~/mp3/dir/
    $ 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


    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.

    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:

    * You need -threaded.

    * On platforms without a native code generator, you should remove the
    reference to -fasm in the hmp3.cabal file


    Don Stewart, Tue Jan 15 15:16:55 PST 2008

    Samuel Bronson
    Stefan Wehr
    Tomasz Zielonka
    David Himmelstrup