packages feed

hmp3-ng-2.4.2: README.md

##  hmp3-ng

The `hmp3` music player, written in Haskell, dates to 2005, and has a
curses-based interface which can be used in an ordinary text terminal.
But it has become abandonware: the last update was in June 2008,
and it no longer builds with today's Haskell and standard libraries.

This repository is a work in progress to resurrect this software.

The original Darcs repo has vanished from the Internet.  However, I
have a copy I checked out in 2008 (to hack on!) with all the patches
through version 1.5.1 (the latest is 1.5.2.1, which I had at one point
but cannot find), and Hackage hosts tarballs for several versions.

*  I used [darcs-to-git](https://github.com/purcell/darcs-to-git)
to port to Git.

*  I added commits for the changes in the two later published versions.
These were fairly small, the bulk being the regeneration of the
`configure` file using a newer version of GNU `autoconf`.

*  I updated the code to compile under modern GHC (8.6.5 as of this
writing) and libraries.  Some code could not be directly ported,
mainly low-level optimizations, and so was replaced.

*  There is a Github issue tracker to cover other problems and
planned changes.

*  I have added support for building with Stack.

*  All C code is removed.  There is still some use of the FFI.

*  Work on other features and changes, and documentation, is ongoing.

I have also made a few changes and additions to the key bindings per
my preference.

I am still working out the flaws.  Let me know if there are problems.


##  Installation

Either `cabal install` or `stack install` will build a binary.
You will need to have `mpg123` installed, which is free software and
widely available in package managers.  Although `mpg321` could also
be used, support is currently poor.

The build depends on the package `hscurses`, which in turn requires
curses dev files.  In Ubuntu/Debian, for example, these can be gotten
by installing `libncurses5-dev`.


##  Use

The `hmp3` executable is called with arguments containing a list of mp3
files or directories of mp3 files.  With no arguments, it will use the
playlist from the last time it was run, which is stored in `~/.hmp3db`.

```
$ hmp3 ~/Music ~/Downloads/La-La.mp3
$ hmp3
```

Once running, `hmp3` is controlled by fairly intuitive key commands.
`h` shows a help menu, and `q` quits.

A color scheme can be specified by writing out a `Config { .. }`
value in `~/.hmp3`.  See `Style.hs` for the definition.  The `l`
command reloads this configuration.


##  Original authorship list

```
License:
    GPL

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

Contributors:
    Samuel Bronson
    Stefan Wehr
    Tomasz Zielonka
    David Himmelstrup
```