Cmus Explained

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.

History

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]

User interface

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".

Core features

Keybindings

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:

!Command!cmus name!Action triggered
bplayer-nextplay next track
cplayer-pausepause current track
xplayer-playplay current track (after being paused)
zplayer-prevplay previous track
vplayer-stopstops current track and sets timestamp to 00:00
Bplay-next-albumplay next album (if available in current directory)
Zplayer-prev-albumplay previous album (if available in current directory)
left (left arrow key)seek -5goes back 5 seconds in current track
right (right arrow key)seek +5goes forward 5 seconds in current track

See also

External links

Notes and References

  1. https://github.com/cmus/cmus/releases/tag/start Initial release tag
  2. Web site: SourceForge Ticket #6365. 27 June 2017. bot: unknown. https://web.archive.org/web/20121112022707/http://sourceforge.net/apps/trac/sourceforge/ticket/6365. 12 November 2012.
  3. Web site: Freshmeat announcement: cmus is alive. 24 April 2014. dead. https://web.archive.org/web/20110606095953/http://freshmeat.net/projects/cmus/announcements/158-cmus-is-alive. 6 June 2011.
  4. https://dev.openwrt.org/changeset/26784 cmus added to OpenWrt