Skip to content
Small, fast and powerful console music player for Unix-like operating systems.
C Shell Other
Latest commit f97d306 Apr 18, 2016 @avoidr avoidr committed with flyingmutant some s/when/if/ (#433)
Failed to load latest commit information.
.github Add GitHub issue template Mar 19, 2016
Doc some s/when/if/ (#433) Apr 18, 2016
contrib Update documentation to use CMUS_SOCKET Feb 26, 2015
data adds gruvbox theme Nov 1, 2015
scripts Use CPPFLAGS where appropriate Aug 29, 2013
.gitignore Add GitHub issue template Mar 19, 2016
.travis.yml jack: more C99, some cleanups, configure & warning fixes Apr 2, 2014
AUTHORS Add CoreAudio output plugin Dec 23, 2015
COPYING update COPYING Apr 29, 2011
Makefile Revert "natural sort for filenames :metal:" Feb 3, 2016
README.md Bump VA copyright year, whatever that means legally Feb 13, 2016
aac.c Bump VA copyright year with the help of sed Jan 3, 2013
aac.h Bug #177: Include guards became consistent. Sep 5, 2014
alsa.c fix pulseaudio alsa-sink 24s bug Jan 23, 2015
ao.c Enable user to set device interface when using libao plugin. Dec 18, 2015
ape.c ape: make sure corruption check does not underflow Apr 27, 2015
ape.h Bug #177: Include guards became consistent. Sep 5, 2014
arts.c jack: more C99, some cleanups, configure & warning fixes Apr 2, 2014
browser.c Revert "natural sort for filenames :metal:" Feb 3, 2016
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 Bug #177: Include guards became consistent. Sep 5, 2014
cache.c cache: initialize struct stat to {} Apr 4, 2016
cache.h Bug #177: Include guards became consistent. Sep 5, 2014
cdio.c fix clang compiler warnings Oct 7, 2013
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 10, 2010
cmus.c Rename several functions Dec 13, 2013
cmus.h Bug #177: Include guards became consistent. Sep 5, 2014
command_mode.c Add player-pause-playback command (#415) Apr 10, 2016
command_mode.h Bug #177: Include guards became consistent. Sep 5, 2014
comment.c BPM metadata support Jan 26, 2016
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 -std=gnu99 to FFMPEG check CFLAGS Apr 15, 2016
convert.c fix clang compiler warnings Oct 7, 2013
convert.h Bug #177: Include guards became consistent. Sep 5, 2014
coreaudio.c coreaudio: change the default setting of sync_sample_rate option to f… Apr 18, 2016
cue.c support libcue2 Jan 11, 2016
cue_utils.c Fix mp4 garbage output Mar 10, 2015
cue_utils.h support libcue2 Jan 11, 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 Add a new command to randomize (shuffle) tracks Aug 27, 2015
editable.h Add a new command to randomize (shuffle) tracks Aug 27, 2015
expr.c BPM metadata support Jan 26, 2016
expr.h Bug #177: Include guards became consistent. Sep 5, 2014
ffmpeg.c Replace deprecated FFmpeg API Jan 18, 2016
file.c Bump VA copyright year with the help of sed Jan 3, 2013
file.h Bug #177: Include guards became consistent. Sep 5, 2014
filters.c Bump VA copyright year with the help of sed Jan 3, 2013
filters.h Bug #177: Include guards became consistent. Sep 5, 2014
flac.c fix clang compiler warnings Oct 7, 2013
format_print.c Fix format string validation Aug 18, 2014
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 Fix segfault Aug 12, 2014
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 Fix a memory leak during ID3_ALBUMARTIST parsing Feb 25, 2016
id3.h BPM metadata support Jan 26, 2016
input.c Fix HTTP-URI parsing bugs Sep 19, 2015
input.h Bug #177: Include guards became consistent. Sep 5, 2014
ip.h Bug #177: Include guards became consistent. Sep 5, 2014
iter.h Bug #177: Include guards became consistent. Sep 5, 2014
jack.c jack: make server_name static Apr 12, 2014
job.c Fix worker race condition in main loop Jan 23, 2014
job.h Bug #177: Include guards became consistent. Sep 5, 2014
keys.c Revert "keys.c: add mysteriously missing ^I and ^J" Nov 17, 2015
keys.h Bug #177: Include guards became consistent. Sep 5, 2014
keyval.c Bump VA copyright year with the help of sed Jan 3, 2013
keyval.h Bug #177: Include guards became consistent. Sep 5, 2014
lib.c auto_expand_albums: parametrize tree_sel_current() Mar 27, 2015
lib.h auto_expand_albums: parametrize tree_sel_current() Mar 27, 2015
list.h Bug #177: Clean-up of reserved identifier violations Sep 5, 2014
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 Bump VA copyright year with the help of sed Jan 3, 2013
locking.h Bug #177: Include guards became consistent. Sep 5, 2014
mad.c remove trailing whitespace Oct 2, 2013
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
mikmod.c add cdio input plugin Jun 1, 2011
misc.c Add a new command to randomize (shuffle) tracks Aug 27, 2015
misc.h Add a new command to randomize (shuffle) tracks Aug 27, 2015
mixer.h Bug #177: Include guards became consistent. Sep 5, 2014
mixer_alsa.c Bump VA copyright year with the help of sed Jan 3, 2013
mixer_oss.c Bump VA copyright year with the help of sed Jan 3, 2013
mixer_sun.c Bump VA copyright year with the help of sed Jan 3, 2013
modplug.c Added path for modplug header file Feb 1, 2014
mp4.c mp4: set log level to NONE Jun 25, 2015
mpc.c Bump VA copyright year with the help of sed Jan 3, 2013
nomad.c fix clang compiler warnings Oct 7, 2013
nomad.h Bug #177: Include guards became consistent. Sep 5, 2014
op.h Bug #177: Include guards became consistent. Sep 5, 2014
options.c Initialize tmp since parse_bool may not initialize them Feb 25, 2016
options.h split auto_expand_albums into three options Mar 27, 2015
opus.c Give credit to author of Opus input plugin Sep 16, 2014
oss.c Bump VA copyright year with the help of sed Jan 3, 2013
output.c Bump VA copyright year with the help of sed Jan 3, 2013
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 Rename several functions Dec 13, 2013
pl.h Bug #177: Include guards became consistent. Sep 5, 2014
play_queue.c Bump VA copyright year with the help of sed Jan 3, 2013
play_queue.h Bug #177: Include guards became consistent. Sep 5, 2014
player.c Add player-pause-playback command (#415) Apr 10, 2016
player.h Add player-pause-playback command (#415) Apr 10, 2016
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
pulse.c 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
roar.c roar: make the plugin lower priority than pulse to avoid issues like #… Dec 21, 2015
search.c Fix search wrapping when last item in view matches Jan 10, 2015
search.h Bug #177: Include guards became consistent. Sep 5, 2014
search_mode.c Add mouse support Aug 11, 2014
search_mode.h Bug #177: Include guards became consistent. Sep 5, 2014
server.c Fix format_print invalid arguments Aug 14, 2014
server.h Bug #177: Include guards became consistent. Sep 5, 2014
sf.h Bug #177: Include guards became consistent. Sep 5, 2014
sndio.c Whitespace May 25, 2015
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
sun.c Bump VA copyright year with the help of sed Jan 3, 2013
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 fix compiler warnings Apr 2, 2016
track.h Add a new command to randomize (shuffle) tracks Aug 27, 2015
track_info.c Revert "natural sort for filenames :metal:" Feb 3, 2016
track_info.h BPM metadata support Jan 26, 2016
tree.c Whitespace May 25, 2015
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 fix character width of halfwidth forms Sep 13, 2014
uchar.h Bug #177: Include guards became consistent. Sep 5, 2014
ui_curses.c left/right view commands: simplify code and docs Feb 13, 2016
ui_curses.h left/right view commands: simplify code and docs Feb 13, 2016
unidecomp.h Map unicode punctation/quotation characters to ASCII ones Jun 27, 2011
utils.h Fix mp4 garbage output Mar 10, 2015
vorbis.c vorbis: recognize .oga and .ogx file extensions Oct 2, 2013
vtx.c Add VTX input plugin Sep 13, 2014
wav.c Fix 24-bit wav playback/seeking Nov 23, 2014
waveout.c remove trailing whitespace Oct 2, 2013
wavpack.c Bump VA copyright year with the help of sed Jan 3, 2013
window.c Add half-page movements Feb 14, 2016
window.h Add half-page movements Feb 14, 2016
worker.c srand() in the worker thread as well Apr 27, 2015
worker.h Bug #177: Include guards became consistent. Sep 5, 2014
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 Bump VA copyright year with the help of sed Jan 3, 2013
xstrjoin.h Bug #177: Include guards became consistent. Sep 5, 2014

README.md

cmus — C* Music Player

https://cmus.github.io/

Build Status

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

Copyright © 2008-2016 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 visit http://lists.sourceforge.net/lists/listinfo/cmus-devel

The list is open but moderated (you can post to the list without subscribing but it's not recommended because I have to accept each email from non-subscribed users). Traffic of the list is extremely low. Please use the issues page for any problems, suggestions, or bug reports.

Reporting Bugs

After a crash send bug report with last lines of ~/cmus-debug.txt to cmus-devel@lists.sourceforge.net. The file exists only if you configured cmus with maximum debug level (./configure DEBUG=2).

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.

Use git format-patch to generate patches from your commits. Alternatively you can use diff -up if you don't want to use git.

Something went wrong with that request. Please try again.