1
@title CMUS 1 31/01/2010 cmus
2
3
@h1 NAME
4
5
cmus - C\* Music Player
6
7
8
@h1 SYNOPSIS
9
10
cmus [*options*]
11
12
13
@h1 DESCRIPTION
14
15
cmus is a small ncurses based music player.  It supports various output
16
methods by output-plugins. It has got completely configurable keybindings and
17
it can be controlled from the outside via *cmus-remote*(1).
18
19
@h1 OPTIONS
20
21
--listen ADDR
22
	Listen to ADDR (UNIX socket) instead of `~/.cmus/socket`.
23
	ADDR is either a UNIX socket or host[:port].
24
25
	*WARNING*: Using host[:port] is insecure even with password!
26
	It might be useful though in LAN if you want multiple local users to
27
	able to control cmus.  Never make cmus listen to the internet.
28
29
	NOTE: Don't use this option to run multiple instances as same user.
30
	That would corrupt the track metadata cache.
31
32
--plugins
33
	List available plugins and exit.
34
35
--show-cursor
36
	Keep cursor always visible.  This is useful for screen readers.
37
38
--help
39
	Display usage information and exit.
40
41
--version
42
	Display version information and exit.
43
44
45
@h1 VIEWS
46
47
There are 7 views in cmus.  Press keys 1-7 to change active view.
48
49
Library view (1)
50
	Display all tracks in so-called *library*. Tracks are sorted
51
	artist/album tree.  Artist sorting is done alphabetically. Albums are
52
	sorted by year.
53
54
Sorted library view (2)
55
	Displays same content as view 1, but as a simple list which is
56
	automatically sorted by user criteria.
57
58
Playlist view (3)
59
	Displays editable playlist with optional sorting.
60
61
Play Queue view (4)
62
	Displays queue of tracks which are played next. These tracks are
63
	played before anything else (i.e. the playlist or library).
64
65
Browser (5)
66
	Directory browser.  In this view, music can be added to either the
67
	library, playlist or queue from the filesystem.
68
69
Filters view (6)
70
	Lists user defined filters.
71
72
Settings view (7)
73
	Lists keybindings, unbound commands and options.  Remove bindings with
74
	*D* or *del*, change bindings and variables with *enter* and toggle
75
	variables with *space*.
76
77
@h1 COMMAND LINE
78
79
Everything in cmus is implemented as commands which can be typed at command
80
line or bound to a key.  To enter command mode type *:*.  To execute a command
81
press *ENTER* or to cancel press *ESC*.  Use up/down arrows to browse command
82
history.  Use *TAB* to complete commands and parameters, you can tab complete
83
almost anything.  You don't need to type full command names if the command is
84
unambiguous (no other commands starting with the same characters).
85
86
Examples:
87
88
	@pre
89
	# add files, short for ':add ~/music'
90
	:a ~/music
91
92
	# change output plugin
93
	:set output_plugin=oss
94
95
	# start playing
96
	# you could just press 'x' which is the default
97
	# binding for this command
98
	:player-play
99
100
	# clear current view (library, playlist or play queue)
101
	:clear
102
	@endpre
103
104
105
@h1 SEARCHING
106
107
Search mode works like the command mode, to enter search mode press */* and
108
then type the search words and press *ENTER*.  Press *n* to search next or *N*
109
to search previous match using the same search words.  Type *?* to search
110
backwards.
111
112
In views 1-4 words are compared to artist, album and title tags. Type
113
*//WORDS* or *??WORDS* to search only artists/albums in view 1 or titles in
114
views 2-4. If the file doesn't have tags words are compared to filename
115
without path.
116
117
Searching works in views 5-7 too and its logic should be pretty obvious.
118
119
120
@h1 PLAYLIST EDITING
121
122
@h2 Selecting Tracks
123
124
Editing commands affect the currently marked tracks or if there are no marked
125
tracks the currently selected track (or selected artist/album in view 1).
126
127
Mark selected track by pressing *SPACE*.  Marked tracks appear with a gray
128
background.  You can only mark tracks in the list views (2-4).
129
130
@h2 Copying Tracks Between Views
131
132
You can copy marked or selected tracks from views 1-5.
133
134
@li *a*
135
copy tracks to the library (1-2)
136
137
@li *y*
138
copy tracks to the playlist (3)
139
140
@li *e*
141
append tracks to the play queue (4)
142
143
@li *E*
144
prepend tracks to the play queue (4)
145
146
@h2 Moving Tracks
147
148
In views 2-4 you can move tracks withing the list. Note that moving is
149
disabled if the view is auto-sorted (see *lib_sort* and *pl_sort* options).
150
151
Pressing *p* moves marked tracks to the position immediately after the
152
selected track.  *P* moves them to the position immediately before the
153
selected track.  If there are no marked tracks then the selected track is
154
moved down (*p*) or up (*P*).
155
156
NOTE: Changing active filters reloads view 2 so it isn't a good idea to
157
manually order tracks in the view.
158
159
@h2 Removing Tracks
160
161
Press *D* or *delete* to remove marked or selected tracks in the current view
162
(1-4).  The tracks will be removed immediately from the view without asking
163
for confirmation.  In the browser and filters views the same keys are used to
164
remove a file or filter (will ask for confirmation).
165
166
167
@h1 STATUS LINE
168
169
Right hand side of the status line (second row from the bottom, black text on
170
a grey background) consists of the following fields:
171
172
@pre
173
aaa_mode & play_sorted & play_library | continue repeat shuffle
174
@endpre
175
176
NOTE: *aaa_mode* and *play_sorted* will be displayed only if *play_library* is
177
*true* because these are meaningless when playing the playlist (view 3).
178
179
Pressing *m*, *o*, *M*, *C*, *r* and *s* keys should make it easier to
180
understand what all those fields mean.
181
182
See CONFIGURATION OPTIONS section for more information about these options.
183
184
185
@h1 KEYBINDINGS
186
187
Here's list of default keybindings.  See *unbind* and *bind* commands in the
188
COMMANDS section.
189
190
191
@h2 Common Context
192
@pre
193
q              quit -i
194
^C             echo Type :quit<enter> to exit cmus.
195
I              echo {}
196
b              player-next
197
c              player-pause
198
x              player-play
199
z              player-prev
200
v              player-stop
201
^L             refresh
202
n              search-next
203
N              search-prev
204
.              seek +1m
205
l, right       seek +5
206
,              seek -1m
207
h, left        seek -5
208
m              toggle aaa_mode
209
C              toggle continue
210
M              toggle play_library
211
o              toggle play_sorted
212
r              toggle repeat
213
^R             toggle repeat_current
214
t              toggle show_remaining_time
215
s              toggle shuffle
216
F              push filter<space>
217
u              update-cache
218
1              view tree
219
2              view sorted
220
3              view playlist
221
4              view queue
222
5              view browser
223
6              view filters
224
7              view settings
225
]              vol +0 +1
226
[              vol +1 +0
227
+, =           vol +10%
228
}              vol -0 -1
229
{              vol -1 -0
230
-              vol -10%
231
enter          win-activate
232
E              win-add-Q
233
a              win-add-l
234
y              win-add-p
235
e              win-add-q
236
G, end         win-bottom
237
down, j        win-down
238
p              win-mv-after
239
P              win-mv-before
240
tab            win-next
241
^F, page_down  win-page-down
242
^B, page_up    win-page-up
243
D, delete      win-remove
244
i              win-sel-cur
245
space          win-toggle
246
g, home        win-top
247
k, up          win-up
248
@endpre
249
250
@h2 Browser Context
251
@pre
252
space          win-activate
253
backspace      browser-up
254
i              toggle show_hidden
255
u              win-update
256
@endpre
257
258
259
@h1 LIBRARY VIEW SORTING
260
261
The library view (the tree-like one; not the sorted library view, for which
262
the sorting is controlled by the user by setting lib_sort - see `CONFIGURATION
263
OPTIONS`), is sorted automatically by cmus using the information found in the
264
tagging information provided by the audio files.
265
266
Generally, in the library view cmus uses three levels of sorting: the first
267
level would be the artist name, the second one the album and finally the
268
actual track.
269
270
At first, cmus checks if the "filename" looks like an URL, if it does, the
271
item is given the special artist and album name *<Stream>*.
272
273
If it is a file, it is checked if the artist and album tags are set. If not,
274
cmus assigns the special name *<No Name>* for the unset tag.
275
276
As the first level, cmus sorts alphanumerically by the value of the artist
277
tag. (<Stream> and <No Name> will be used as if they where normal names.)
278
If a special sorting tag is available, it's value will be used instead.
279
280
For album names, alphanumerical sorting is not the primary method, though.
281
To decide, how the second level should be sorted, cmus looks at the date of
282
the first track of each album. Sorting is done from young to old. Of course,
283
if one artist happens to have more then one album from one year,
284
alphanumerical sorting will be used after sorting by date.
285
286
If the date header is not set, the album will be placed on top of the list (in
287
fact, the internal integer value for unset album tags is -1).
288
289
The method for third sorting level (the track) is very similar to album
290
sorting. First two numerical values are checked (discnumber and tracknumber).
291
If sorting is still ambiguous, sorting will be done alphanumerically by the
292
value of the track's `filename` (not track name!).
293
294
For simple albums, that is it. There is a special case, though. Albums, that
295
feature various artists, also known as samplers or compilations.
296
297
If a track belongs to a compilation is again decided by the existence and
298
value of special tagging information. First, it is checked if cmus should use
299
a special artist name (e.g.: `'Fatboy Slim'` for a DJ set). If so, that one
300
will be used instead of the real artist name.
301
302
If that special name tag is not set, cmus checks if another tag is
303
set. If that is the case, the album will be given the special artist
304
name *<Various Artists>*. Albums filed under *<Various Artists>* are sorted
305
alphanumerically by album name instead of by date.
306
307
That way, you do not end up with compilation tracks scattered around your
308
library view.
309
310
The problem with compilation tagging is, that there is no generic tag or
311
method, that can be regarded as a standard across all different formats,
312
supported by cmus.
313
314
For mp3, the special-name tag would be the id3v2 *TPE2* frame. The
315
mark-as-compilation tag is the *TCMP* frame (which is a user defined id3v2.3
316
frame, used at least by amarok and apple's iTunes[tm]).
317
318
For vorbis style tags (for example in ogg vorbis and flac files), the
319
special-name tag is *ALBUMARTIST* and the mark-as-compilation tag is
320
*COMPILATION*. Vorbis tags names are case insensitive.
321
322
323
@h1 COMMANDS
324
325
This section describes cmus' commands.  You can bind a key to any of these
326
commands, put these commands to configuration files and execute them in
327
command mode.  Also cmus-remote uses these commands in its protocol.
328
329
Optional parameters are in brackets, obligatory parameters in angle brackets
330
and default key bindings in parenthesis.
331
332
add [-l] [-p] [-q] [-Q] <file|dir|url|playlist>
333
	Add file/dir/url/playlist to the specified view or the current view.
334
335
	@li -l
336
	add to library
337
338
	@li -p
339
	add to playlist
340
341
	@li -q
342
	add play queue
343
344
	@li -Q
345
	prepend to play queue
346
347
	URL is a Shoutcast stream (http://...).
348
349
	Supported playlist: plain, .m3u, .pls.
350
351
bind [-f] <context> <key> <command>
352
	Add a key binding.
353
354
	@li -f
355
	overwrite existing binding
356
357
	Use tab to expand contexts, keys and commands.  Command is any command
358
	listed in this section.
359
360
	Valid key contexts
361
		common, library (1-2), playlist (3), queue (4), browser (5),
362
		filters (6)
363
364
	There's one context for each view.  Common is a special context on
365
	which bound keys work in every view.
366
367
	You can override specific keys in common context for a view.  For
368
	example *i* selects the current track in views 1-3 but in browser it
369
	is overridden to toggle showing of hidden files.
370
371
browser-up (*backspace*)
372
	Change to parent directory in browser view (5). This command only
373
	makes sense to be bound to the *browser* key context although it's
374
	possible to use this even if browser view is not active.
375
376
cd [directory]
377
	Changes the current working directory.  Changes the directory
378
	displayed in browser view too.
379
380
clear [-l] [-p] [-q]
381
	Remove all tracks from the specified view or the current view.
382
383
	@li -l
384
	clear library
385
386
	@li -p
387
	clear playlist
388
389
	@li -q
390
	clear play queue
391
392
colorscheme <name>
393
	Change color scheme.  Color schemes are found in `/usr/share/cmus/` or
394
	`~/.cmus/` and have .theme filename extension.
395
396
echo <arg>...
397
	Display arguments on the command line.
398
399
	If the arguments contain *{}* it is replaced with file name of the
400
	first selected track.
401
402
	NOTE: unlike with *run* the *{}* is replaced with only the first
403
	selected filename.
404
405
	Default bindings:
406
407
		@pre
408
		common  I   echo {}
409
		common  ^C  echo Type :quit<enter> to exit cmus.
410
		@endpre
411
412
factivate <user-defined-filter>...
413
	Select and activate the given user defined filters (displayed in the
414
	filters view).  Filter names are separated by spaces.  This command is
415
	mostly useful when bound to a key, to change active filters very
416
	quickly.  If no arguments given then all filters are unactivated.
417
418
	If you prefix a filter name with "!" then the filter value is negated
419
	before activation.
420
421
filter <filter-expression>
422
	Use this command when you want to temporarily filter contents of the
423
	library views without having separately define (fset) and activate the
424
	filter.  The filter is not saved.
425
426
fset <name>=<filter-expression>
427
	Define (or replace existing) filter and add it to filters view (6).
428
429
invert
430
	Invert the marking of tracks in playlist and queue views. See *mark*
431
	and *unmark*.
432
433
load [-l] [-p] <playlist>
434
	Load a playlist to the specified view or to the current view.
435
436
	@li -l
437
	load to library views
438
439
	@li -p
440
	load to playlist view
441
442
lqueue [NUM]
443
	Queue NUM (default 1) random albums from the library. See also
444
	*tqueue*.
445
446
mark <filter-expression>
447
	Mark tracks in playlist and queue view by using a filter expression.
448
449
player-next (*b*)
450
	Skip to the next track.
451
452
player-pause (*c*)
453
	Toggle pause.
454
455
player-play [filename] (*x*)
456
	Play the given track, or, if none is specified, [re]play the current
457
	track from the begining.
458
459
player-prev (*z*)
460
	Skip to the previous track.
461
462
player-stop (*v*)
463
	Stop playback.
464
465
prev-view
466
	Go to previously used view.
467
468
push <text>
469
	Enter command mode with the command line pre-set to text. Example:
470
471
		bind common w push filter artist=
472
473
	Text can contain spaces and even trailing spaces will be honored.
474
	This command can only be bound to a key but not used in the command
475
	line directly.
476
477
quit [-i] (*q*, *:wq*)
478
	Exit cmus.
479
480
	@li -i
481
	ask before exiting
482
483
refresh (*^L*)
484
	Redraw the terminal window.
485
486
run <command>
487
	Run command for the marked tracks OR the selected one if none marked.
488
489
	By default file names are appended to the command.  If the command
490
	contains *{}* it is replaced with list of filenames.
491
492
	NOTE: In view 1 you can run a command for all files in the selected
493
	album or artist.
494
495
save [-e]  [-l] [-L] [-p] [-q]  [file]  (*:w*)
496
	Save the specified view's or the current view's contents to a playlist
497
	file. In extended mode (-e), also save metadata.
498
499
	@li -l
500
	save library views
501
502
	@li -L
503
	save filtered library views
504
505
	@li -p
506
	save playlist view
507
508
	@li -q
509
	save queue view
510
511
	If no filename given the old filename is used. "-" outputs to stdout
512
	(works only remotely).
513
514
search-next (*n*)
515
	If a search pattern has been entered before, search forward for the
516
	next match in the current view.  See *SEARCHING* above.
517
518
search-prev (*N*)
519
	If a search pattern has been entered before, search backwards for the
520
	previous match in the current view.  See *SEARCHING* above.
521
522
seek [+-](<num>[mh] | [HH:]MM:SS)
523
	Seek to absolute or relative position.  Position can be given in
524
	seconds, minutes (m), hours (h) or HH:MM:SS format where HH: is
525
	optional.
526
527
	Seek 1 minute backward
528
		:seek -1m
529
530
	Seek 5 seconds forward
531
		:seek +5
532
533
	Seek to absolute position 1h
534
		:seek 1h
535
536
	Seek 90 seconds forward
537
		:seek +1:30
538
539
	Default bindings:
540
541
		@pre
542
		common  ,      :seek -1m
543
		common  .      :seek +1m
544
		common  l      :seek +5
545
		common  h      :seek -5
546
		common  right  :seek +5
547
		common  left   :seek -5
548
		@endpre
549
550
set <option>=<value>
551
	Set value of an option. See *OPTIONS*.
552
553
set <option>
554
	Display option value.  Vim compatible *set <option>?* is also
555
	supported.
556
557
showbind <context> <key>
558
	Show key binding.
559
560
shuffle
561
	Reshuffle the shuffle lists for both library and playlist views.
562
563
source <filename>
564
	Read and execute commands from <filename>.
565
566
toggle <option>
567
	Toggle value of a toggle-able option (all booleans and tristate
568
	*aaa_mode*).
569
570
tqueue [NUM]
571
	Queue NUM (default 1) random tracks from the library. See also
572
	*lqueue*.
573
574
unbind [-f] <context> <key>
575
	Remove a key binding. Use tab to cycle through bound keys.
576
577
	-f
578
		Don't throw an error if the binding is not known
579
580
unmark
581
	Unmark all tracks (see *mark*).
582
583
update-cache
584
	Update track metadata cache (~/.cmus/cache).
585
586
view <name or 1-7>
587
	Switches active view.
588
589
vol [+-]NUM[%] [[+-]NUM[%]]
590
	Set, increase or decrease volume.
591
592
	If you give *vol* just one argument it changes both channels.  Two
593
	values make it possible to change the left and right channel
594
	independently.
595
596
	To increase or decrease volume prefix the value with *-* or *+*,
597
	otherwise value is treated as absolute volume.
598
599
	Both absolute and relative values can be given as percentage units
600
	(suffixed with *%*) or as internal values (hardware may have volume in
601
	range 0-31 for example).
602
603
	Default bindings:
604
605
		@pre
606
		common  =  :vol +10%
607
		common  +  :vol +10%
608
		common  -  :vol -10%
609
		common  [  :vol +1% +0%
610
		common  ]  :vol +0% +1%
611
		common  {  :vol -1% -0%
612
		common  }  :vol -0% -1%
613
		@endpre
614
615
win-activate (*enter*)
616
	In views 1-3 start playing the selected track.  In view 5 start
617
	playing the selected track or change to the selected directory.  In
618
	view 6 activate the selected filters.  In settings view (7) change
619
	binding or variable.
620
621
win-add-l (*a*)
622
	Add the currently marked or selected track(s) (views 3-4), or the
623
	currently selected file or directory (view 5) to the library.
624
625
	Analogous to *:add -l*
626
627
win-add-p (*y*)
628
	Add the currently marked or selected track(s) (views 1-2, 4), or the
629
	currently selected file or directory (view 5) to the playlist.
630
631
	Analogous to *:add -p*
632
633
win-add-Q (*E*)
634
	Prepend the currently marked or selected track(s) (views 1-3), or the
635
	currently selected file or directory (view 5) to the play queue.
636
637
	Analogous to *:add -Q*
638
639
win-add-q (*e*)
640
	Add the currently marked or selected track(s) (views 1-3), or the
641
	currently selected file or directory (view 5) to the play queue.
642
643
	Analogous to *:add -q*
644
645
win-bottom (*G*, *end*)
646
	Goto bottom of the current window.
647
648
win-down (*j*, *down*)
649
	Goto down one row in the current window.
650
651
win-mv-after (*p*)
652
	If no tracks are marked, move the selected track down one row. If any
653
	tracks are marked, move the marked tracks after the currently selected
654
	track.  This command works in unsorted playlist and play queue view.
655
656
win-mv-before (*P*)
657
	If no tracks are marked, move the selected track up one row. If any
658
	tracks are marked, move the marked tracks before the currently
659
	selected track.  This command works in unsorted playlist and play
660
	queue view.
661
662
win-next (*tab*)
663
	Activate next window.  Only relevant in view 1.
664
665
win-page-down (*^F*, *page_down*)
666
	Goto down one page in the current window.
667
668
win-page-up (*^B*, *page_up*)
669
	Goto up one page in the current window.
670
671
win-remove (*D*, *delete*)
672
	Remove the selected entry.  For tracks no confirmations are made.  For
673
	files (view 5), filters (view 6) and bindings (view 7) user has to
674
	confirm the action.
675
676
win-sel-cur (*i*)
677
	Select the current track (position in library or playlist, not
678
	necessarily same as the currently playing track).  Works only in views
679
	1-3, does nothing in other views.
680
681
win-toggle (*space*)
682
	Expand albums in library view (1), mark tracks in views 2-4, toggle
683
	selection of a filter in view 6, toggle variable value in view 7.
684
685
win-top (*g*, *home*)
686
	Goto top of the current window.
687
688
win-up (*k*, *up*)
689
	Goto up one row in the current window.
690
691
win-update (*u*)
692
	Checks the modification time of the files in the library, and updates
693
	metadata for changed files.  Removes non-existent files from the
694
	library.
695
696
	Reloads contents of directory in the browser view.
697
698
	Only works in views 1-2 and 5, does nothing in other views.
699
700
701
@h1 CONFIGURATION OPTIONS
702
703
This section describes cmus' options that can be altered with the *set* and
704
*toggle* commands. Default values are in parenthesis, possible values in
705
brackets.
706
707
auto_reshuffle (false)
708
	Reshuffle playlist when end of shuffle list is reached.
709
710
aaa_mode (all) [all, artist, album]
711
	Defines what tracks should be played in the library view.  Not used in
712
	the other views. For example if set to *artist* the player behaves
713
	like there were only the files of the currently playing artist in the
714
	library.
715
716
altformat_current [`Format String`]
717
	Alternative format string for the line displaying currently playing
718
	track.
719
720
altformat_playlist [`Format String`]
721
	Alternative format string for the list views (2-4).
722
723
altformat_title [`Format String`]
724
	Alternative format string for terminal title.  NOTE: not all
725
	terminals support changing window title.
726
727
altformat_trackwin [`Format String`]
728
	Alternative format string for the tree view's (1) track window.
729
730
buffer_seconds (10) [1-20]
731
	Size of player buffer in seconds.
732
733
color_cmdline_bg (default) [`Color`]
734
	Command line background color.
735
736
color_cmdline_fg (default) [`Color`]
737
	Command line foreground color.
738
739
color_error (lightred) [`Color`]
740
	Color of error messages displayed on the command line.
741
742
color_info (lightyellow) [`Color`]
743
	Color of informational messages displayed on the command line.
744
745
color_separator (blue) [`Color`]
746
	Color of the separator line between windows in view (1).
747
748
color_statusline_bg (gray) [`Color`]
749
	Status line background color.
750
751
color_statusline_fg (black) [`Color`]
752
	Status line foreground color.
753
754
color_titleline_bg (blue) [`Color`]
755
	Background color of the line displaying currently playing track.
756
757
color_titleline_fg (white) [`Color`]
758
	Foreground color of the line displaying currently playing track.
759
760
color_win_bg (default) [`Color`]
761
	Window background color.
762
763
color_win_cur (lightyellow) [`Color`]
764
	Color of currently playing track.
765
766
color_win_cur_sel_bg (blue) [`Color`]
767
	Background color of the selected row which is also the currently
768
	playing track in active window.
769
770
color_win_cur_sel_fg (lightyellow) [`Color`]
771
	Foreground color of the selected row which is also the currently
772
	playing track in active window.
773
774
color_win_dir (lightblue) [`Color`]
775
	Color of directories in browser.
776
777
color_win_fg (default) [`Color`]
778
	Window foreground color.
779
780
color_win_inactive_cur_sel_bg (gray) [`Color`]
781
	Background color of the selected row which is also the currently
782
	playing track in inactive window.
783
784
color_win_inactive_cur_sel_fg (lightyellow) [`Color`]
785
	Foreground color of the selected row which is also the currently
786
	playing track in inactive window.
787
788
color_win_inactive_sel_bg (gray) [`Color`]
789
	Background color of selected row in inactive window.
790
791
color_win_inactive_sel_fg (black) [`Color`]
792
	Foreground color of selected row in inactive window.
793
794
color_win_sel_bg (blue) [`Color`]
795
	Background color of selected row in active window.
796
797
color_win_sel_fg (white) [`Color`]
798
	Foreground color of selected row in active window.
799
800
color_win_title_bg (blue) [`Color`]
801
	Background color of window titles (topmost line of the screen).
802
803
color_win_title_fg (white) [`Color`]
804
	Foreground color of window titles (topmost line of the screen).
805
806
confirm_run (true)
807
	Ask for confirmation before executing *:run*
808
809
continue (true)
810
	Continue playing after current track finishes.
811
812
display_artist_sort_name (false)
813
	If enabled, always displays artist names used for sorting instead of
814
	regular ones in tree view (e.g. "Artist, The" instead of "The Artist"),
815
	so that artists column looks alphabetically sorted.
816
817
format_current [`Format String`]
818
	Format string for the line displaying currently playing track.
819
820
format_playlist [`Format String`]
821
	Format string for the list views (2-4).
822
823
format_playlist_va [`Format String`]
824
	Format string for the list views (2-4), if a track is assumed to be a
825
	part of compilation (see `LIBRARY VIEW SORTING` for details).
826
827
format_title [`Format String`]
828
	Format string for terminal title.
829
830
	NOTE: not all terminals support changing window title.
831
832
format_trackwin [`Format String`]
833
	Format string for the tree view's (1) track window.
834
835
format_trackwin_va [`Format String`]
836
	Format string for the tree view's (1) track window, if a track
837
	is assumed to be a part of compilation (see `LIBRARY VIEW SORTING`
838
	for details).
839
840
smart_artist_sort (true)
841
	If enabled, makes tree view sorting ignore "The" in front of artist
842
	names, preventing artists starting with "The" from clumping together.
843
	Real `artistsort` tags override this option, when present.
844
845
id3_default_charset (ISO-8859-1)
846
	Default character set to use for ID3v1 and broken ID3v2 tags.
847
848
	NOTE:  This is used only if the tag is not valid UTF-8.
849
850
lib_sort (artist album discnumber tracknumber title filename) [`Sort Keys`]
851
	Sort keys for the sorted library view (2).
852
853
output_plugin [pulse, alsa, arts, oss, sun]
854
	Name of output plugin.
855
856
pl_sort () [`Sort Keys`]
857
	Sort keys for the playlist view (3).  Empty value disables sorting and
858
	enables manually moving tracks.
859
860
play_library (true)
861
	Play tracks from the library instead of playlist.
862
863
play_sorted (false)
864
	Play tracks from the library in the sorted view (2) order instead of
865
	tree view (1) order.  Used only when play_library is true.
866
867
repeat (false)
868
	Repeat after all tracks played.
869
870
repeat_current (false)
871
	Repeat current track forever.
872
873
replaygain (disabled)
874
	Enable Replay Gain. Default is "disabled".
875
	Set to "track", "album", "track-preferred" or "album-preferred".
876
877
replaygain_limit (true)
878
	Use replay gain limiting when clipping.
879
880
replaygain_preamp (6.0)
881
	Replay gain preamplification in decibels.
882
883
show_hidden (false)
884
	Display hidden files in browser.
885
886
show_remaining_time (false)
887
	Display remaining time instead of elapsed time.
888
889
shuffle (false)
890
	Play in shuffled order.  Shuffle works in the library views (1-2) and
891
	playlist view (3).
892
893
softvol (false)
894
	Use software volume control.
895
896
	NOTE: You should probably set this to false when using *ao* as
897
	*output_plugin* to output to wav files.
898
899
softvol_state (100 100)
900
	Used to save left and right channel values for software volume
901
	control.  Two integers in range 0..100 separated by a space.  This
902
	option is not usually changed directly since *vol* command does same
903
	thing if *softvol* is true.
904
905
status_display_program () [command]
906
	This command, if not empty, is run every time cmus' status changes.
907
	It can be used to display currently playing track on desktop
908
	background or panel for example.  See
909
	`/usr/share/doc/cmus/examples/cmus-status-display`.
910
911
@h2 Colors
912
913
Color is integer in range -1..255.
914
915
The following color names are recognized:
916
917
Terminal's default color, -1
918
	default
919
920
Fg & bg, 0..7
921
	black, red, green, yellow, blue, magenta, cyan, gray
922
923
Fg, 8..15
924
	darkgray, lightred, lightgreen, lightyellow, lightblue, lightmagenta,
925
	lightcyan, white
926
927
@h2 Format Strings
928
929
Format strings control display of tracks in library, playlist and play queue
930
views.
931
932
NOTE: *altformat_\** options are used when there are no tags available.
933
934
Special Characters:
935
936
	%a
937
		artist
938
	%A
939
		album artist
940
	%l
941
		album
942
	%D
943
		disc number
944
	%n
945
		track number
946
	%t
947
		title
948
	%g
949
		genre
950
	%c
951
		comment
952
	%y
953
		year
954
	%d
955
		duration
956
	%f
957
		path and filename
958
	%F
959
		filename
960
	%=
961
		start align right (use at most once)
962
	%%
963
		literal *%*
964
965
You can use printf style formatting (width, alignment, padding). To see
966
current value of an option type *:set option=<TAB>*.
967
968
Examples:
969
970
	@pre
971
	:set format_trackwin= %02n. %t (%y)%= %d
972
	:set format_current= %n. %-30t %40F (%y)%= %d
973
	@endpre
974
975
@h2 Sort Keys
976
977
Sort option (lib_sort, pl_sort) value is space separated list of the following
978
sort keys:
979
980
	artist, album, title, tracknumber, discnumber, date, genre, comment, filename, filemtime
981
982
983
@h1 PLUGIN OPTIONS
984
985
dsp.alsa.device
986
	PCM device for ALSA plugin, usually "default".
987
988
mixer.alsa.channel
989
	Mixer channel for ALSA Plugin, usually "pcm", "master" or "headphone".
990
	To see all possible values run "alsamixer" or "amixer".
991
992
mixer.alsa.device
993
	Mixer device for ALSA plugin, usually "default".
994
995
dsp.ao.buffer_size
996
	Buffer size, default is 16kB (but you may want to try bigger values if
997
	you experience buffer under-runs).
998
999
dsp.ao.driver
1000
	Output driver for libao plugin.  Example values: "alsa09", "esd",
1001
	"irix", "oss", "sun", "aixs", "wav".
1002
1003
	NOTE: of the file output drivers only "wav" is supported.
1004
1005
dsp.ao.wav_counter
1006
	Counter used for making filename.  Used only if *dsp.ao.driver* is
1007
	"wav".  For example if this is 1 and *dsp.ao.wav_dir* is "/home/user"
1008
	then PCM data is outputted to "/home/user/01.wav".  This counter is
1009
	incremented every time playback is stopped.
1010
1011
	NOTE: you probably want to set *continue* to *false* (press *C*),
1012
	otherwise playback is not stopped between tracks and all PCM data is
1013
	outputted to one wav file (useful if you want to join files).  Also
1014
	unsetting shuffle and repeat might be good idea.
1015
1016
dsp.ao.wav_dir
1017
	Output directory for libao plugin, default is your home directory.
1018
	Used only if *dsp.ao.driver* is "wav".
1019
1020
dsp.oss.device
1021
	PCM device for OSS plugin, usually /dev/dsp.
1022
1023
mixer.oss.channel
1024
	Mixer channel for OSS Plugin, "pcm" or "master".
1025
1026
mixer.oss.device
1027
	Mixer device for OSS plugin, usually /dev/mixer.
1028
1029
dsp.sun.device
1030
	PCM device for Sun plugin, usually /dev/audio.
1031
1032
mixer.sun.channel
1033
	Mixer channel for Sun Plugin, usually "master".
1034
1035
mixer.sun.device
1036
	Mixer device for Sun plugin, usually /dev/mixer.
1037
1038
1039
@h1 FILTERS
1040
1041
Filters are used mostly for filtering contents of library views (1 & 2).
1042
Filters do not change the actual library content, i.e. *:save* command will
1043
still save all tracks to playlist file whether they are visible or not.
1044
1045
@h2 Syntax
1046
1047
Filter expression is list of built-in filters or user defined filters
1048
separated with *&* (and) or *|* (or).  Parenthesis can be used group
1049
subexpressions and *!* negates result of the expression following it.
1050
1051
@h2 Strings
1052
1053
*filename*, *artist*, *album*, *title*, *genre*, *comment*
1054
1055
Comparators: *=* and *!=* (not equal)
1056
1057
@h2 Integers
1058
1059
*discnumber*, *tracknumber*, *date* (year), *duration* (seconds)
1060
1061
Comparators: *<*, *<=*, *=*, *>=*, *>*, *!=*
1062
1063
@h2 Booleans
1064
1065
*tag* (true if track has tags), *stream* (true if track is a stream)
1066
1067
@h2 Defining Filters
1068
1069
Filters can be defined with *fset* command.  User defined filters appear in
1070
the filters view (6).
1071
1072
Create a new filter which name is *ogg* and value *filename="\*.ogg"*
1073
	:fset ogg=filename="\*.ogg"
1074
1075
Filter ogg and mp3 files from the 90s. Note the use of user defined filter
1076
*ogg*
1077
	:fset 90s-ogg-mp3=date>=1990&date<2000&(ogg|filename="\*.mp3")
1078
1079
@h2 Activating Filters
1080
1081
*factivate* changes visible contents of the library (views 1-2).
1082
1083
Activate user defined filters *ogg* and *missing-tags*
1084
	:factivate ogg missing-tags
1085
1086
Like above but negate value of *ogg* filter.
1087
	:factivate !ogg missing-tags
1088
1089
Alternatively you can select the filters by pressing *space* in view 6 and
1090
then activate the selected filters by pressing *enter*.
1091
1092
@h2 Throw-away Filters
1093
1094
*filter* command is useful when you want to use a filter only once and not
1095
save it.  It changes visible contents of the library (views 1-2) and
1096
unactivates all filters in the filters view.
1097
1098
Filter all rock (anything with *rock* in genre tag) music from 80s-
1099
	:filter date>=1980&genre="\*rock\*"
1100
1101
@h2 Selecting Tracks Matching a Filter
1102
1103
Mark (select) all tracks with duration less than 2 minutes
1104
	:mark duration<120
1105
1106
This command works in views 2-4.
1107
1108
1109
@h1 FILES
1110
1111
cmus reads its configuration from 3 different places.
1112
1113
`~/.cmus/autosave`
1114
	This is the first file cmus loads.  cmus saves its state on exit to
1115
	this file so you shouldn't edit it.
1116
1117
`/usr/share/cmus/rc`
1118
	If the autosave file didn't exist, this file is read instead.
1119
1120
`~/.cmus/rc`
1121
	Static config file. This file is read immediately after the autosave
1122
	file, and is never modified by cmus.  You can override auto-saved
1123
	settings in this file.  This file is not limited to options, it can
1124
	contain other commands too.
1125
1126
@h2 Color Schemes
1127
1128
There are some color schemes (\*.theme) in `/usr/share/cmus`.  You can switch
1129
them using the *:colorscheme* command.  You can put your own color schemes to
1130
~/.cmus.
1131
1132
@h2 Examples
1133
1134
Example status display script (See *status_display_program* option) can be
1135
found in `/usr/share/doc/cmus/examples`.
1136
1137
1138
@h1 BUGS
1139
1140
After a crash last lines of `~/cmus-debug.txt` might
1141
contain useful information.  The file exists only if you configured cmus with
1142
maximum debug level (*./configure DEBUG=2*).
1143
1144
Feature requests and bug reports should go to the cmus-devel mailing list:
1145
	http://lists.sourceforge.net/lists/listinfo/cmus-devel
1146
1147
1148
@h1 SEE ALSO
1149
1150
*cmus-tutorial*(7), *cmus-remote*(1)
1151
1152
1153
@h1 AUTHORS
1154
1155
cmus was mainly written by Timo Hirvonen <tihirvon\@gmail.com>.  Other
1156
contributers are listed in the `AUTHORS` file.
1157
1158
This man page was written by Frank Terbeck <ft\@bewatermyfriend.org>,
1159
Timo Hirvonen <tihirvon\@gmail.com>, and Clay Barnes <clay.barnes\@gmail.com>.