Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmus/cmus
Small, fast and powerful console music player for Unix-like operating systems.
https://github.com/cmus/cmus
Last synced: 4 days ago
JSON representation
Small, fast and powerful console music player for Unix-like operating systems.
- Host: GitHub
- URL: https://github.com/cmus/cmus
- Owner: cmus
- License: gpl-2.0
- Created: 2012-12-29T10:05:50.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-11-29T12:46:04.000Z (about 1 month ago)
- Last Synced: 2025-01-01T11:55:12.517Z (10 days ago)
- Language: C
- Homepage: https://cmus.github.io/
- Size: 5.88 MB
- Stars: 5,630
- Watchers: 103
- Forks: 469
- Open Issues: 179
-
Metadata Files:
- Readme: README.md
- Changelog: history.c
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/cmus/cmus - Music player (Jump To / CLI/TUI Apps)
- awesome-cli-apps - cmus - Small, fast and powerful console music player. (Entertainment / Music)
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/cmus/cmus - Music player (Jump To / CLI/TUI Apps)
- fucking-Awesome-Linux-Software - ![Open-Source Software - A small, fast and powerful console music player for Unix-like operating systems. (Applications / Audio)
- vim-keybindings-everywhere-the-ultimate-list - cmus - A console music player with vim-like [keybindings](https://man.archlinux.org/man/cmus.1.en#KEYBINDINGS). (Music Players)
- awesome-starred - cmus - Small, fast and powerful console music player for Unix-like operating systems. (C)
- jimsghstars - cmus/cmus - Small, fast and powerful console music player for Unix-like operating systems. (C)
- awesome-linux-customization - **cmus** - A small ncurses based music player. (Music Player)
- fucking-awesome-cli-apps - cmus - Small, fast and powerful console music player. (Entertainment / Music)
- awesome-linux-ricing - cmus
- Awesome-Linux-Software - ![Open-Source Software - A small, fast and powerful console music player for Unix-like operating systems. (Applications / Audio)
README
# cmus — C\* Music Player
https://cmus.github.io/
[![Build Status](https://github.com/cmus/cmus/actions/workflows/build.yml/badge.svg)](https://github.com/cmus/cmus/actions/workflows/build.yml)
Copyright © 2004-2008 Timo Hirvonen
Copyright © 2008-2017 Various Authors
## Configuration
$ ./configure
By default, features are auto-detected. To list all configuration options, run
`./configure --help`. Some common autoconf-style options like `--prefix` are
also available.After running configure you can see from the generated `config.mk` file
what features have been configured in (see the `CONFIG_*` options).The packages containing dependencies on common distributions are listed below. All dependencies other than pkg-config and ncurses, iconv, and elogind/systemd are for optional input/output plugins. It is assumed that libc headers, a C compiler, git, and GNU Make are available.
| Distro | Dependencies |
| :-- | :-- |
| **Debian/Ubuntu** | apt install pkg-config libncursesw5-dev libfaad-dev libao-dev libasound2-dev libcddb2-dev libcdio-cdda-dev libdiscid-dev libavformat-dev libavcodec-dev libswresample-dev libflac-dev libjack-dev libmad0-dev libmodplug-dev libmpcdec-dev libsystemd-dev libopusfile-dev libpulse-dev libsamplerate0-dev libsndio-dev libvorbis-dev libwavpack-dev |
| **Fedora/RHEL** | dnf install 'pkgconfig(ncursesw)' 'pkgconfig(alsa)' 'pkgconfig(ao)' 'pkgconfig(libcddb)' 'pkgconfig(libcdio_cdda)' 'pkgconfig(libdiscid)' 'pkgconfig(libavformat)' 'pkgconfig(libavcodec)' 'pkgconfig(libswresample)' 'pkgconfig(flac)' 'pkgconfig(jack)' 'pkgconfig(mad)' 'pkgconfig(libmodplug)' libmpcdec-devel 'pkgconfig(libsystemd)' 'pkgconfig(opusfile)' 'pkgconfig(libpulse)' 'pkgconfig(samplerate)' 'pkgconfig(vorbisfile)' 'pkgconfig(wavpack)' |
| **+ RPMFusion** | dnf install faad2-devel libmp4v2-devel |
| **Arch Linux** | pacman -S pkg-config ncurses libiconv faad2 alsa-lib libao libcddb libcdio-paranoia libdiscid ffmpeg flac jack libmad libmodplug libmp4v2 libmpcdec systemd opusfile libpulse libsamplerate libvorbis wavpack |
| **Alpine** | apk add pkgconf ncurses-dev gnu-libiconv-dev alsa-lib-dev libao-dev libcddb-dev ffmpeg-dev flac-dev jack-dev libmad-dev libmodplug-dev elogind-dev opus-dev opusfile-dev pulseaudio-dev libsamplerate-dev libvorbis-dev wavpack-dev |
| **Termux** | apt install libandroid-support ncurses libiconv ffmpeg libmad libmodplug opusfile pulseaudio libflac libvorbis libwavpack |
| **Homebrew** | brew install pkg-config ncurses faad2 libao libcddb libcdio libdiscid ffmpeg flac jack mad libmodplug mp4v2 musepack opusfile libsamplerate libvorbis wavpack |## Building
$ make
Or on some BSD systems you need to explicitly use GNU make:
$ gmake
## Installation
$ make install
Or to install to a temporary directory:
$ make install DESTDIR=~/tmp/cmus
This is useful when creating binary packages.
Remember to replace `make` with `gmake` if needed.
## Manuals
$ man cmus-tutorial
And
$ man cmus
## IRC Channel
Feel free to join IRC channel #cmus on Libera.chat and share you experience,
problems and issues. Note: This is an unofficial channel and all people hanging
around there are for the love of cmus.## Reporting Bugs
Bugs should be reported using the GitHub [issue
tracker](https://github.com/cmus/cmus/issues). When creating a new issue, a
template will be shown containing instructions on how to collect the necessary
information.Additional debug information can be found in `~/cmus-debug.txt` if you
configured cmus with maximum debug level (`./configure DEBUG=2`). In case of a
crash the last lines may be helpful.## Git Repository
https://github.com/cmus/cmus
$ git clone https://github.com/cmus/cmus.git
## Hacking
cmus uses the [Linux kernel coding
style](https://www.kernel.org/doc/html/latest/process/coding-style.html). Use
hard tabs. Tabs are _always_ 8 characters wide. Keep the style consistent with
rest of the code.Bug fixes and implementations of new features should be suggested as a
[pull request](https://github.com/cmus/cmus/pulls) directly on GitHub.