Skip to content
Small, fast and powerful console music player for Unix-like operating systems.
C Shell Other
Latest commit c3d176d @flyingmutant flyingmutant Merge pull request #393 from mahkoh/last_mevent
fix unused variable warning
Failed to load latest commit information.
Doc BPM metadata support
contrib Update documentation to use CMUS_SOCKET
data adds gruvbox theme
scripts Use CPPFLAGS where appropriate
.gitignore Add Travis-CI configuration file
.travis.yml jack: more C99, some cleanups, configure & warning fixes
AUTHORS Add CoreAudio output plugin
COPYING update COPYING
Makefile Revert "natural sort for filenames :metal:"
README.md Bump copyright year
aac.c Bump VA copyright year with the help of sed
aac.h Bug #177: Include guards became consistent.
alsa.c fix pulseaudio alsa-sink 24s bug
ao.c Enable user to set device interface when using libao plugin.
ape.c ape: make sure corruption check does not underflow
ape.h Bug #177: Include guards became consistent.
arts.c jack: more C99, some cleanups, configure & warning fixes
browser.c Revert "natural sort for filenames :metal:"
browser.h Bug #177: Include guards became consistent.
buffer.c Bump VA copyright year with the help of sed
buffer.h Bug #177: Include guards became consistent.
cache.c BPM metadata support
cache.h Bug #177: Include guards became consistent.
cdio.c fix clang compiler warnings
channelmap.c Bump VA copyright year with the help of sed
channelmap.h Bug #177: Include guards became consistent.
cmdline.c Bump VA copyright year with the help of sed
cmdline.h Bump VA copyright year with the help of sed
cmus-status-display replace insecure use of /tmp in cmus
cmus.c Rename several functions
cmus.h Bug #177: Include guards became consistent.
command_mode.c Add a new command to randomize (shuffle) tracks
command_mode.h Bug #177: Include guards became consistent.
comment.c BPM metadata support
comment.h Bug #177: Include guards became consistent.
compiler.h Bug #177: Clean-up of reserved identifier violations
configure support libcue2
convert.c fix clang compiler warnings
convert.h Bug #177: Include guards became consistent.
coreaudio.c kAudioDevicePropertyHogMode will ignore the set value. So one must qu…
cue.c support libcue2
cue_utils.c Fix mp4 garbage output
cue_utils.h support libcue2
debug.c Bug #177: Clean-up of reserved identifier violations
debug.h Bug #177: Clean-up of reserved identifier violations
discid.c Bump VA copyright year with the help of sed
discid.h Bug #177: Include guards became consistent.
editable.c Add a new command to randomize (shuffle) tracks
editable.h Add a new command to randomize (shuffle) tracks
expr.c BPM metadata support
expr.h Bug #177: Include guards became consistent.
ffmpeg.c Replace deprecated FFmpeg API
file.c Bump VA copyright year with the help of sed
file.h Bug #177: Include guards became consistent.
filters.c Bump VA copyright year with the help of sed
filters.h Bug #177: Include guards became consistent.
flac.c fix clang compiler warnings
format_print.c Fix format string validation
format_print.h Bug #177: Include guards became consistent.
gbuf.c Bump VA copyright year with the help of sed
gbuf.h Bug #177: Clean-up of reserved identifier violations
glob.c Bump VA copyright year with the help of sed
glob.h Bug #177: Include guards became consistent.
help.c Fix segfault
help.h Bug #177: Include guards became consistent.
history.c remove trailing whitespace
history.h Bug #177: Include guards became consistent.
http.c Fix HTTP-URI parsing bugs
http.h Bug #177: Include guards became consistent.
id3.c BPM metadata support
id3.h BPM metadata support
input.c Fix HTTP-URI parsing bugs
input.h Bug #177: Include guards became consistent.
ip.h Bug #177: Include guards became consistent.
iter.h Bug #177: Include guards became consistent.
jack.c jack: make server_name static
job.c Fix worker race condition in main loop
job.h Bug #177: Include guards became consistent.
keys.c Revert "keys.c: add mysteriously missing ^I and ^J"
keys.h Bug #177: Include guards became consistent.
keyval.c Bump VA copyright year with the help of sed
keyval.h Bug #177: Include guards became consistent.
lib.c auto_expand_albums: parametrize tree_sel_current()
lib.h auto_expand_albums: parametrize tree_sel_current()
list.h Bug #177: Clean-up of reserved identifier violations
load_dir.c Bump VA copyright year with the help of sed
load_dir.h Bug #177: Include guards became consistent.
locking.c Bump VA copyright year with the help of sed
locking.h Bug #177: Include guards became consistent.
mad.c remove trailing whitespace
main.c Update documentation to use CMUS_SOCKET
mergesort.c Bump VA copyright year with the help of sed
mergesort.h Bug #177: Include guards became consistent.
mikmod.c add cdio input plugin
misc.c Add a new command to randomize (shuffle) tracks
misc.h Add a new command to randomize (shuffle) tracks
mixer.h Bug #177: Include guards became consistent.
mixer_alsa.c Bump VA copyright year with the help of sed
mixer_oss.c Bump VA copyright year with the help of sed
mixer_sun.c Bump VA copyright year with the help of sed
modplug.c Added path for modplug header file
mp4.c mp4: set log level to NONE
mpc.c Bump VA copyright year with the help of sed
nomad.c fix clang compiler warnings
nomad.h Bug #177: Include guards became consistent.
op.h Bug #177: Include guards became consistent.
options.c BPM metadata support
options.h split auto_expand_albums into three options
opus.c Give credit to author of Opus input plugin
oss.c Bump VA copyright year with the help of sed
output.c Bump VA copyright year with the help of sed
output.h Bug #177: Include guards became consistent.
path.c Bump VA copyright year with the help of sed
path.h Bug #177: Include guards became consistent.
pcm.c fix clang compiler warnings
pcm.h Bug #177: Include guards became consistent.
pl.c Rename several functions
pl.h Bug #177: Include guards became consistent.
play_queue.c Bump VA copyright year with the help of sed
play_queue.h Bug #177: Include guards became consistent.
player.c player: fix for #256
player.h Bug #177: Include guards became consistent.
prog.c Bug #177: Clean-up of reserved identifier violations
prog.h Bug #177: Clean-up of reserved identifier violations
pulse.c Bug #177: Clean-up of reserved identifier violations
rbtree.c Bug #177: Clean-up of reserved identifier violations
rbtree.h Bug #177: Clean-up of reserved identifier violations
read_wrapper.c Bump VA copyright year with the help of sed
read_wrapper.h Bug #177: Include guards became consistent.
roar.c roar: make the plugin lower priority than pulse to avoid issues like #…
search.c Fix search wrapping when last item in view matches
search.h Bug #177: Include guards became consistent.
search_mode.c Add mouse support
search_mode.h Bug #177: Include guards became consistent.
server.c Fix format_print invalid arguments
server.h Bug #177: Include guards became consistent.
sf.h Bug #177: Include guards became consistent.
sndio.c Whitespace
spawn.c Bump VA copyright year with the help of sed
spawn.h Bug #177: Include guards became consistent.
sun.c Bump VA copyright year with the help of sed
tabexp.c Bump VA copyright year with the help of sed
tabexp.h Bug #177: Include guards became consistent.
tabexp_file.c Bump VA copyright year with the help of sed
tabexp_file.h Bug #177: Include guards became consistent.
track.c Add a new command to randomize (shuffle) tracks
track.h Add a new command to randomize (shuffle) tracks
track_info.c Revert "natural sort for filenames :metal:"
track_info.h BPM metadata support
tree.c Whitespace
u_collate.c Bump VA copyright year with the help of sed
u_collate.h Bug #177: Include guards became consistent.
uchar.c fix character width of halfwidth forms
uchar.h Bug #177: Include guards became consistent.
ui_curses.c fix unused variable warning
ui_curses.h Bug #177: Clean-up of reserved identifier violations
unidecomp.h Map unicode punctation/quotation characters to ASCII ones
utils.h Fix mp4 garbage output
vorbis.c vorbis: recognize .oga and .ogx file extensions
vtx.c Add VTX input plugin
wav.c Fix 24-bit wav playback/seeking
waveout.c remove trailing whitespace
wavpack.c Bump VA copyright year with the help of sed
window.c Simplify window_scroll_up.
window.h Bug #177: Include guards became consistent.
worker.c srand() in the worker thread as well
worker.h Bug #177: Include guards became consistent.
xmalloc.c Bump VA copyright year with the help of sed
xmalloc.h Bug #177: Clean-up of reserved identifier violations
xstrjoin.c Bump VA copyright year with the help of sed
xstrjoin.h Bug #177: Include guards became consistent.

README.md

cmus — C* Music Player

https://cmus.github.io/

Build Status

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

Copyright © 2008-2015 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.