Mushu is a minimalist MPD client with a TUI and an incremental fuzzy finder for your music library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
test
.gitignore
.travis-setup.sh
.travis.yml Disable tests for CI Mar 12, 2017
CONTRIBUTING.md
DEVELOPER.md
LICENSE
README.md
Setup.hs
mushu.cabal
mushu.conf
notes.org Update Mar 12, 2017
screenshot.png
stack.yaml

README.md

Mushu Build Status

Mushu is a minimalist MPD client with a Text User Interface (TUI) focused on ease of use. Its main feature is an incremental fuzzy finder for the music library. The interface is largely inspired by ncmpcpp.

Screenshot

This client was made to fit my needs so it may not fit yours. A lot of MPD features are not implemented.

Dependencies

libncurses5-dev

Install

Mushu is available on stack.

stack install mushu

If you don't have stack please install it following instructions here.

Why another MPD client?

I used ncmpcpp for quite some time and realised that I was always doing the same thing with it: search for music -> add to playlist and play. I was not entirely satisfied with the search in ncmpcpp so I decided to make my own. Also, ncmpcpp as way too many features that I don't use.

The aim is to keep the number of features to a minimum without being unusable.

I also wanted to develop a real world haskell project and this seemed like a good opportunity.

TODO

  • Add config file (mainly to be able to choose a different server than localhost:6600 for MPD)
  • Add MPD error handling and show error in a notification widget
  • Add MPD playback modes handling
  • UI
    • Improve help screen
    • Add top / bottom list keybindings (G and g)
    • Add delete from playlist keybinding (d or x?)
  • Fix all the bugs and refactor!

Contributing

Contributions are very welcome. However please open an issue before developing anything too big so we can discuss it, I'd hate to have wasted your time if the Pull Request you made can't be merged. Please read CONTRIBUTING.md before contributing. If you want an overview of the app, check out DEVELOPER.md.