The mushu package

[Tags:bsd3, program, test]

Mushu is a minimalist MPD client with a TUI and an incremental fuzzy finder for your music library


[Skip to Readme]

Properties

Versions 0.1.0, 0.1.1
Dependencies base (==4.*), brick, bytestring, classy-prelude, connection, containers, data-default, directory (>=1.2.5.0), filepath, fuzzy, hscurses, htoml, libmpd, list-t, microlens, microlens-platform (>=0.3.1.0), microlens-th, mtl, network, pretty, process, safe-exceptions, template-haskell (>=2.10), text, text-zipper, time, transformers, unordered-containers, vector, vty (>=5.5.0) [details]
License BSD3
Copyright 2016 Elie Genard
Author Elie Genard
Maintainer elaye.github.io@gmail.com
Category Sound
Home page https://github.com/elaye/mushu#README.md
Source repository head: git clone https://github.com/elaye/mushu
Uploaded Sat Apr 1 10:45:51 UTC 2017 by elaye
Distributions LTSHaskell:0.1.1, NixOS:0.1.1, Stackage:0.1.1
Downloads 82 total (6 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
Last success reported on 2017-04-01 [all 3 reports]
Hackage Matrix CI

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for mushu

Readme for mushu-0.1.1

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.