https://kimtore.github.io/pms/
Practical Music Search is an interactive Vim-like console client for the Music Player Daemon.
https://kimtore.github.io/pms/
bleve console-application golang interactive mpd mpd-client music-player-daemon vim-like
Last synced: 5 months ago
JSON representation
Practical Music Search is an interactive Vim-like console client for the Music Player Daemon.
- Host: GitHub
- URL: https://kimtore.github.io/pms/
- Owner: kimtore
- License: mit
- Created: 2011-10-04T10:14:58.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-12-24T12:10:01.000Z (over 1 year ago)
- Last Synced: 2024-04-16T00:56:57.519Z (12 months ago)
- Topics: bleve, console-application, golang, interactive, mpd, mpd-client, music-player-daemon, vim-like
- Language: Go
- Homepage: https://ambientsound.github.io/pms/
- Size: 3.2 MB
- Stars: 244
- Watchers: 11
- Forks: 23
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
- vim-keybindings-everywhere-the-ultimate-list - pms - A frontend to MPD with Vim-like keybindings. (Music Players)
README
# Practical Music Search
[](https://github.com/ambientsound/pms/actions/workflows/build.yml)
[](https://goreportcard.com/report/github.com/ambientsound/pms)
[](https://codecov.io/gh/ambientsound/pms/branch/master)
[](LICENSE)Practical Music Search is an interactive console client for the [Music Player Daemon](https://www.musicpd.org/), written in Go. Its interface is similar to Vim, and aims to be fast, configurable, and practical.
PMS has many features that involve sorting, searching, and navigating. It’s designed to let you navigate your music collection in an effective way. Some of the currently implemented features are:
* Vim-style look and feel!
* Can be configured to consume a very small amount of screen space.
* MPD player controls: play, add, pause, stop, next, prev, volume.
* Highly customizable top bar, tag headers, text styles, colors, and keyboard bindings.
* Fast library search, featuring UTF-8 normalization, fuzzy search, and scoring.
* Selecting songs, by _visual mode_, manual selection, and specific tags.
* Many forms of tracklist manipulation, such as cut, copy, paste, filter, and sort.
* Config files, tab completion, history, and much more!## Documentation
[Documentation](doc/README.md) is available in the project repository.
## Project status
_NEWS_: Development of PMS has resumed! We continue to appreciate contributions and
strive to make PMS an ever better and continuously evolving MPD client.This software was previously written in C++. The master branch now contains a rewrite, currently implemented in Go.
The current goal of the Go implementation is to implement most of the features found in the 0.42 branch.This functionality is present in the `0.42.x` branch, but missing in master:
* Automatically add songs to the queue when it is nearing end.
* Remote playlist management.
* ...and probably more.## Getting started
You’re assumed to have a working [Go development environment](https://golang.org/doc/install). Building PMS requires Go version 1.13 or higher.
Assuming you have the `go` binary in your path, you can install PMS using:
```sh
git clone https://github.com/ambientsound/pms
cd pms
make install
```This will put the binary in `$GOBIN/pms`, usually at `~/go/bin/pms`.
You need to run PMS in a regular terminal with a TTY.If PMS crashes, and you want to report a bug, please include the debug log:
```sh
pms --debug /tmp/pms.log 2>>/tmp/pms.log
```## Requirements
PMS wants to build a search index from MPD's database. To be truly practical, PMS must support fuzzy matching, scoring, and sub-millisecond full-text searches. This is accomplished by using [Bleve](https://github.com/blevesearch/bleve), a full-text search and indexing library.
A full-text search index takes up both space and memory. For a library of about 30 000 songs, you should expect using about 500 MB of disk space and around 1 GB of RAM.
PMS is multithreaded and benefits from multicore CPUs.
## Contributing
See [how to contribute to PMS](CONTRIBUTING.md).
## Authors
Copyright (c) 2006-2022 Kim Tore Jensen <>.
* Kim Tore Jensen <>
* Bart Nagel <>
* Thomas Zander <>The source code and latest version can be found at Github:
.