Skip to content
/ hum Public

ncmpcpp but better (eventually), also in Haskell for some reason

License

Notifications You must be signed in to change notification settings

iyefrat/hum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8f1f059 · Nov 28, 2021
Feb 19, 2021
Oct 22, 2021
Aug 14, 2020
Aug 28, 2020
Jan 25, 2021
Jan 25, 2021
Aug 14, 2020
Nov 28, 2021
Aug 14, 2020
Dec 2, 2020
Jan 23, 2021
Oct 25, 2021
Oct 27, 2021
Oct 27, 2021
Mar 4, 2021
Jan 26, 2021
Oct 25, 2021

Repository files navigation

Hum: a Haskell Music Manager

Status

This project is on indefinite hiatus. It might see more development in the future, but I'll likely pivot to writing an Emacs mpd client instead.

Haskell is wonderful, but imo Emacs is a better enviornment for text based UI than the terminal.

Introduction

A TUI mpd client, currently usable, but missing some features.

The plan is to basically reimplement ncmpcpp in haskell (at least featurewise). The reasons are as follows:

  • Haskell is much more fun than C++
  • I find the tag editor of ncmpcpp to be lacking and want to change it
  • Generally, I want to change some stuff with the UI
  • It's faster (try scrolling down the artists in the library in both programs)
  • I wanted to design the program around vim style bindings
  • I don't know C++

Installation

As this is an MPD client, you will need to install mpd from your favorite package manager.

You can install hum directly from Hackage, or by cloning the repo and running cabal install.

Nix support will be available in the near future, but in the meantime you can run nix-build release.nix and then launch hum with ./result/bin/hum to try it out, but this requires an up to date nixpkgs-unstable.

Features

Current

  • playback keys
  • Viewing the Queue, Library, and Playlists screens
  • Editing the Queue with vim like cut copy and paste
  • adding and bulk adding songs from the Library and Play nlists
  • vim style search
  • a help command
  • playlist editing

Planned

  • better documentation
  • tag info and editing
  • mpdish file browser and more advanced search
  • visualizer because why not
  • having a random mode when you can see what the next song is
  • making the UI nicer
  • more commands
  • more vimmy keybindings (e.g. 10j, perhaps making y and d verbs)
  • doing stuff with album art using uegerzug
  • config file

For a list of all the keybindings and ex style commands, type :help and press RET.

About

ncmpcpp but better (eventually), also in Haskell for some reason

Resources

License

Stars

Watchers

Forks

Packages

No packages published