cmus | |
Screenshot Size: | 200px |
Author: | Timo Hirvonen |
Released: | [1] |
Programming Language: | C |
Operating System: | Unix-like |
Language: | English |
Genre: | Audio player |
License: | GPL-2.0-or-later |
cmus (C Music Player) is a console audio player for Unix-like operating systems. cmus is distributed under the terms of the GPL-2.0-or-later and is operated exclusively through a text-based user interface, built with ncurses.
Employing a text-only design significantly reduces the resource demands for the program's operation, making it an optimal selection for underpowered computer systems. Moreover, it is advantageous for systems that do not possess a GUI, such as the X Window System. In some cases, using a terminal application can significantly accelerate navigating through the program.
cmus was originally written by Timo Hirvonen. At around June 2008, he discontinued development of cmus, which resulted in a fork named "cmus-unofficial" in November 2008. After a year of development, a takeover request was sent to SourceForge, which was granted after a 90-day period without response from the original author.[2] This resulted in a merge of the fork back into the official project in February 2010.[3]
The interface of cmus is centered on views. There are two views on the music library (an artist/album tree and a flat sortable list) and views on playlists, the current play queue, the file system and for filters/settings. There is always only one view visible at any time.
Owing to the console-orientation and portability goals of the project, cmus is controlled exclusively via the keyboard.Commands are loosely modeled after those of the vi text editor. General operation mimics being in command-mode of vi, where complex commands are issued by prepending them with a colon, (e.g. ":add /home/user/music-dir"), simpler, more common commands are bound to individual keys, such as "j/k" moving down/up, or "x" starting playback, and searches beginning with "/" as in "/the beatles".
Here is a list of some common keybindings to interact with cmus while in the terminal, taken from the official manpage on a Linux distribution:
b | player-next | play next track | |
c | player-pause | pause current track | |
x | player-play | play current track (after being paused) | |
z | player-prev | play previous track | |
v | player-stop | stops current track and sets timestamp to 00:00 | |
B | play-next-album | play next album (if available in current directory) | |
Z | player-prev-album | play previous album (if available in current directory) | |
left (left arrow key) | seek -5 | goes back 5 seconds in current track | |
right (right arrow key) | seek +5 | goes forward 5 seconds in current track |