Skip to content
Small, fast and powerful console music player for Unix-like operating systems.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add GitHub issue template Mar 19, 2016
Doc Add note about overriding keybindings using rc (closes #742) (#866) Feb 12, 2019
contrib Make cmus-update*.py use env python and fix pidgin with py3 (#857) Feb 1, 2019
data Added dracula theme Feb 9, 2018
ip ip/mp4: add metadata support for bpm/tempo (#878) Mar 4, 2019
op Avoid -I$(pwd) (#820) Feb 11, 2019
scripts Avoid -I$(pwd) (#820) Feb 11, 2019
.gitignore Add GitHub issue template Mar 19, 2016
.travis.yml Fix CI build by specifying gcc version for Linux. Add OSX to CI test (#… Jan 21, 2019
AUTHORS Make the seek command not start playing when the player was stopped. May 4, 2016
COPYING update COPYING Apr 28, 2011
Makefile Add *.lo to clean in Makefile (#864) Feb 11, 2019
README.md README: note that cmus is not actively maintained Jan 21, 2019
ape.c ape: make sure corruption check does not underflow Apr 27, 2015
ape.h Bug #177: Include guards became consistent. Sep 5, 2014
browser.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
browser.h Bug #177: Include guards became consistent. Sep 5, 2014
buffer.c Bump VA copyright year with the help of sed Jan 3, 2013
buffer.h bits-per-sample fixes (#870) Feb 19, 2019
cache.c Yield cache mutex during cache updates Sep 27, 2016
cache.h Yield cache mutex during cache updates Sep 27, 2016
channelmap.c Bump VA copyright year with the help of sed Jan 3, 2013
channelmap.h Bug #177: Include guards became consistent. Sep 5, 2014
cmdline.c Bump VA copyright year with the help of sed Jan 3, 2013
cmdline.h Bump VA copyright year with the help of sed Jan 3, 2013
cmus-status-display replace insecure use of /tmp in cmus Mar 9, 2010
cmus.c Add command to raise VTE window + implement MPRIS Raise method Dec 8, 2017
cmus.h Add command to raise VTE window + implement MPRIS Raise method Dec 8, 2017
command_mode.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
command_mode.h Bug #177: Include guards became consistent. Sep 5, 2014
comment.c
comment.h Bug #177: Include guards became consistent. Sep 5, 2014
compiler.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
configure Add support for elogind (#846) Feb 12, 2019
convert.c fix clang compiler warnings Oct 7, 2013
convert.h Bug #177: Include guards became consistent. Sep 5, 2014
cue.c Correct parsing for cue files with byte order mark (#774) Feb 19, 2018
cue.h handle "REM COMPILATION TRUE" in cue generated by XLD Oct 9, 2017
cue_utils.c Switch cue_utils to new cue parser Oct 16, 2016
cue_utils.h Switch cue_utils to new cue parser Oct 16, 2016
debug.c Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
debug.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
discid.c Bump VA copyright year with the help of sed Jan 3, 2013
discid.h Bug #177: Include guards became consistent. Sep 5, 2014
editable.c Split editable into editable and editable_shared Jul 31, 2016
editable.h Split editable into editable and editable_shared Jul 31, 2016
expr.c Fix initialization of union (#631) Feb 5, 2017
expr.h Bug #177: Include guards became consistent. Sep 5, 2014
file.c Change mmap_file size parameter to ssize_t Oct 15, 2016
file.h Change mmap_file size parameter to ssize_t Oct 15, 2016
filters.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
filters.h Fixed issue #554 (factivate) Oct 14, 2016
format_print.c
format_print.h Bug #177: Include guards became consistent. Sep 5, 2014
gbuf.c Bump VA copyright year with the help of sed Jan 3, 2013
gbuf.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
glob.c Bump VA copyright year with the help of sed Jan 3, 2013
glob.h Bug #177: Include guards became consistent. Sep 5, 2014
help.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
help.h Bug #177: Include guards became consistent. Sep 5, 2014
history.c remove trailing whitespace Oct 2, 2013
history.h Bug #177: Include guards became consistent. Sep 5, 2014
http.c Remove useless increment Feb 25, 2016
http.h Bug #177: Include guards became consistent. Sep 5, 2014
id3.c Split "min" into "min_i" and "min_u" Jul 13, 2016
id3.h BPM metadata support Jan 26, 2016
input.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
input.h Bug #177: Include guards became consistent. Sep 5, 2014
ip.h Add plugin ABI versioning checks Jul 13, 2016
iter.h Bug #177: Include guards became consistent. Sep 5, 2014
job.c Remove CONFIG_CUE guards from job.c Oct 16, 2016
job.h Add multiple playlists feature Jul 31, 2016
keys.c re-added / and ? hard coded bindings as a fallback solution for existing Jan 16, 2017
keys.h Bug #177: Include guards became consistent. Sep 5, 2014
keyval.c
keyval.h Bug #177: Include guards became consistent. Sep 5, 2014
lib.c Add lib_add_filter option Sep 26, 2016
lib.h Add lib_add_filter option Sep 26, 2016
list.h Add list_add, list_prev, list_len Jul 31, 2016
load_dir.c Bump VA copyright year with the help of sed Jan 3, 2013
load_dir.h Bug #177: Include guards became consistent. Sep 5, 2014
locking.c Improve fifo_mutex performance Sep 28, 2016
locking.h Remove compound literal from constant expression Oct 25, 2016
main.c Add player-pause-playback command (#415) Apr 10, 2016
mergesort.c Bump VA copyright year with the help of sed Jan 3, 2013
mergesort.h Bug #177: Include guards became consistent. Sep 5, 2014
misc.c Change to get_non_empty_env for CMUS_PLAYLIST_DIR. (#836) Nov 20, 2018
misc.h Make LIBDIR/DATADIR configurable at runtime Sep 22, 2016
mixer.h use a void ptr instead of an unsigned for option multiplexing Jul 4, 2016
mpris.c Ensures all data sent on dbus is in utf8 (#847) (#871) Feb 19, 2019
mpris.h use macros in mpris.h Jun 26, 2016
op.h Add plugin ABI versioning checks Jul 13, 2016
options.c options: add color_win_cur_attr Dec 11, 2017
options.h options: add color_win_cur_attr Dec 11, 2017
output.c Fixes various compiler warning (#862) Feb 8, 2019
output.h Bug #177: Include guards became consistent. Sep 5, 2014
path.c Bump VA copyright year with the help of sed Jan 3, 2013
path.h Bug #177: Include guards became consistent. Sep 5, 2014
pcm.c fix clang compiler warnings Oct 7, 2013
pcm.h Bug #177: Include guards became consistent. Sep 5, 2014
pl.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
pl.h Have pl_add_file_* return the file validity Oct 29, 2016
play_queue.c
play_queue.h Add an opaque parameter to for_each_ti_cb Jul 31, 2016
player.c Skip track when seeking past track duration (#803) May 24, 2018
player.h Revert "Fix #574 (deadlocks in player.c)" Dec 4, 2017
prog.c Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
prog.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
rbtree.c Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
rbtree.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
read_wrapper.c Bump VA copyright year with the help of sed Jan 3, 2013
read_wrapper.h Bug #177: Include guards became consistent. Sep 5, 2014
search.c Allow the search head to be updated Jul 31, 2016
search.h Allow the search head to be updated Jul 31, 2016
search_mode.c Added vim-like search history nav with ^P and ^N Apr 4, 2017
search_mode.h Bug #177: Include guards became consistent. Sep 5, 2014
server.c Merge branch 'get_opt' of https://github.com/mahkoh/cmus into mahkoh-… Aug 25, 2016
server.h Bug #177: Include guards became consistent. Sep 5, 2014
sf.h simplify sf_bigendian May 12, 2016
spawn.c Bump VA copyright year with the help of sed Jan 3, 2013
spawn.h Bug #177: Include guards became consistent. Sep 5, 2014
tabexp.c Bump VA copyright year with the help of sed Jan 3, 2013
tabexp.h Bug #177: Include guards became consistent. Sep 5, 2014
tabexp_file.c Bump VA copyright year with the help of sed Jan 3, 2013
tabexp_file.h Bug #177: Include guards became consistent. Sep 5, 2014
track.c Add _simple_track_search_matches Jul 31, 2016
track.h Add simple_track_to_shuffle_track Jul 31, 2016
track_info.c Remove double-inclusion of stdatomic header Aug 4, 2017
track_info.h Privatize the means of reference counting Sep 27, 2016
tree.c Change album_add_track to always add the track Feb 25, 2017
u_collate.c Initialize str_locale since convert may not initialize them Feb 25, 2016
u_collate.h Bug #177: Include guards became consistent. Sep 5, 2014
uchar.c Ensures all data sent on dbus is in utf8 (#847) (#871) Feb 19, 2019
uchar.h Ensures all data sent on dbus is in utf8 (#847) (#871) Feb 19, 2019
ui_curses.c Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
ui_curses.h Changes yes_no_query to signal error on cmus exit (#858) Feb 15, 2019
unidecomp.h Map unicode punctation/quotation characters to ASCII ones Jun 27, 2011
utils.h Fixes various compiler warning (#862) Feb 8, 2019
window.c Split "min" into "min_i" and "min_u" Jul 13, 2016
window.h Add multiple playlists feature Jul 31, 2016
worker.c Start the worker only at the end of init_all Sep 26, 2016
worker.h Start the worker only at the end of init_all Sep 26, 2016
xmalloc.c Bump VA copyright year with the help of sed Jan 3, 2013
xmalloc.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
xstrjoin.c Make xstrjoin accept arbitrarily many arguments Jul 31, 2016
xstrjoin.h Make xstrjoin accept arbitrarily many arguments Jul 31, 2016

README.md

Warning: cmus is not actively maintained. For details, please see #856

cmus — C* Music Player

https://cmus.github.io/

Build Status

Copyright © 2004-2008 Timo Hirvonen tihirvon@gmail.com

Copyright © 2008-2017 Various Authors

Configuration

List available optional features

$ ./configure --help

Auto-detect everything

$ ./configure

To disable some feature, arts for example, and install to $HOME run

$ ./configure prefix=$HOME CONFIG_ARTS=n

After running configure you can see from the generated config.mk file what features have been configured in (see the CONFIG_* options).

Note: For some distributions you need to install development versions of the dependencies. For example if you want to use 'mad' input plugin (mp3) you need to install libmad0-dev (Debian) or libmad-devel (RPM) package. After installing dependencies you need to run ./configure again, of course.

If you want to use the Tremor library as alternative for decoding Ogg/Vorbis files you have to pass CONFIG_TREMOR=y to the configure script:

$ ./configure CONFIG_VORBIS=y CONFIG_TREMOR=y

The Tremor library is supposed to be used on hardware that has no FPU.

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

Mailing List

To subscribe to cmus-devel@lists.sourceforge.net or view the archive visit http://lists.sourceforge.net/lists/listinfo/cmus-devel.

The mailing list now serves as an archive for old releases and issues. Please use the github issues page for any problems, suggestions, or bug reports.

Reporting Bugs

Bugs should be reported using the Github issue tracker. 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. 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 directly on Github.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.