media library: fix infinite loop if listallinfo fails
[ncmpcpp.git] / doc / ncmpcpp.1
1 .TH "ncmpcpp" "1"
2 .SH "NAME"
3 ncmpcpp \- An ncurses Music Player Daemon (MPD) client.
5 .B ncmpcpp
6 [options]
8 ncmpcpp is an ncurses client for MPD (Music Player Daemon), inspired by ncmpc.
10 Read more about MPD at
12 .B \-h, \-\-host
13 Connect to server at host [localhost]
14 .TP
15 .B \-p, \-\-port
16 Connect to server at port [6600]
17 .TP
18 .B \-\-current-song
19 Print current song using given format and exit
20 .TP
21 .B \-c, \-\-config
22 Specify configuration file(s)
23 .TP
24 .B \-\-ignore-config-errors
25 Ignore unknown and invalid options in configuration files
26 .TP
27 .B \-c, \-\-bindings
28 Specify bindings file
29 .TP
30 .B \-s, \-\-screen <name>
31 Specify the startup screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
32 .TP
33 .B \-S, \-\-slave-screen <name>
34 Specify the startup slave screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
35 .TP
36 .B \-?, \-\-help
37 Display help.
38 .TP
39 .B \-v, \-\-version
40 Display version information.
41 .TP
43 When ncmpcpp starts, it tries to read user's settings from $HOME/.ncmpcpp/config and $XDG_CONFIG_HOME/ncmpcpp/config files. If no configuration is found, ncmpcpp uses its default configuration. An example configuration file containing all default values is provided with ncmpcpp and can be usually found in /usr/share/doc/ncmpcpp (exact location may depend on used distribution or configure prefix).
45 Note: Configuration option values can either be enclosed in quotation marks or not.
46  - If they are enclosed, the leftmost and the rightmost quotation marks are treated as delimiters, therefore it is not necessary to escape quotation marks you use within the value itself.
47  - If they are not, any whitespace characters between = and the first printable character of the value, as well as whitespace characters after the last printable character of the value are trimmed.
49 Therefore the rule of thumb is: if you need whitespaces at the beginning or at the end of the value, enclose it in quotation marks. Otherwise, don't.
51 Note: COLOR has to be the name (not a number) of one of colors 1-8 from SONG FORMAT section.
53 Supported configuration options:
54 .TP
55 .B ncmpcpp_directory = PATH
56 Directory for storing ncmpcpp related files. Changing it is useful if you want to store everything somewhere else and provide command line setting for alternative location to config file which defines that while launching ncmpcpp.
57 .TP
58 .B lyrics_directory = PATH
59 Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other MPD clients (eg. ncmpc) also use that location.
60 .TP
61 .B mpd_host = HOST
62 Connect to MPD running on specified host/unix socket. When HOST starts with a '/', it is assumed to be a unix socket.
63 .TP
64 .B mpd_port = PORT
65 Connect to MPD on the specified port.
66 .TP
67 .B mpd_music_dir = PATH
68 Search for files in specified directory. This is needed for tag editor to work.
69 .TP
70 .B mpd_connection_timeout = SECONDS
71 Set connection timeout to MPD to given value.
72 .TP
73 .B mpd_crossfade_time = SECONDS
74 Default number of seconds to crossfade, if enabled by ncmpcpp.
75 .TP
76 .B visualizer_fifo_path = PATH
77 Path to mpd fifo output. This is needed to make music visualizer work (note that output sound format of this fifo has to be either 44100:16:1 or 44100:16:2, depending on whether you want mono or stereo visualization)
78 .TP
79 .B visualizer_output_name = NAME
80 Name of output that provides data for visualizer. Needed to keep sound and visualization in sync.
81 .TP
82 .B visualizer_in_stereo = yes/no
83 Should be set to 'yes', if fifo output's format was set to 44100:16:2.
84 .TP
85 .B visualizer_sample_multiplier = NUMBER
86 Multiply received samples by given value. Very useful for proper visualization of quiet music.
87 .TP
88 .B visualizer_sync_interval = SECONDS
89 Defines interval between syncing visualizer and audio outputs.
90 .TP
91 .B visualizer_type = spectrum/wave/wave_filled/ellipse
92 Defines default visualizer type (spectrum is available only if ncmpcpp was compiled with fftw support).
93 .TP
94 .B visualizer_look = STRING
95 Defines visualizer's look (string has to be exactly 2 characters long: first one is for wave whereas second for frequency spectrum).
96 .TP
97 .B visualizer_color = COLORS
98 Comma separated list of colors to be used in music visualization.
99 .TP
100 .B system_encoding = ENCODING
101 If you use encoding other than utf8, set it in order to handle utf8 encoded strings properly.
102 .TP
103 .B playlist_disable_highlight_delay = SECONDS
104 Delay for highlighting playlist since the last key was pressed. If set to 0, highlighting never fades away.
105 .TP
106 .B message_delay_time = SECONDS
107 Delay for displayed messages to remain visible.
108 .TP
109 .B song_list_format
110 Format for songs' list.
111 .TP
112 .B song_status_format
113 Song's format for statusbar.
114 .TP
115 .B song_library_format
116 .B alternative_header_first_line_format = TEXT
117 Now playing song format for the first line in alternative user interface header window.
118 .TP
119 .B alternative_header_second_line_format = TEXT
120 Now playing song format for the second line in alternative user interface header window.
121 .TP
122 .B now_playing_prefix = TEXT
123 Prefix for currently playing song.
124 .TP
125 .B now_playing_suffix = TEXT
126 Suffix for currently playing song.
127 .TP
128 .B browser_playlist_prefix = TEXT
129 Prefix for playlists in Browser.
130 .TP
131 .B selected_item_prefix = TEXT
132 Prefix for selected items.
133 .TP
134 .B selected_item_suffix = TEXT
135 Suffix for selected items.
136 .TP
137 .B modified_item_prefix = TEXT
138 Prefix for modified item (tag editor).
139 .TP
140 .B browser_sort_mode
141 Determines sort mode for browser. Possible values are "name", "mtime", "format" and "noop".
142 .TP
143 .B browser_sort_format
144 Format to use for sorting songs in browser. For this option to be effective, browser_sort_mode must be set to "format".
145 .TP
146 .B song_window_title_format
147 Song format for window title.
148 .TP
149 .B song_columns_list_format
150 Format for songs' list displayed in columns.
151 .TP
152 .B execute_on_song_change = COMMAND
153 Shell command to execute on song change.
154 .TP
155 .B playlist_show_mpd_host = yes/no
156 If enabled, current MPD host will be shown in playlist.
157 .TP
158 .B playlist_show_remaining_time = yes/no
159 If enabled, time remaining to end of playlist will be shown after playlist statistics.
160 .TP
161 .B playlist_shorten_total_times = yes/no
162 If enabled, total/remaining playlist time displayed in statusbar will be shown using shortened units' names (d:h:m:s instead of days:hours:minutes:seconds).
163 .TP
164 .B playlist_separate_albums = yes/no
165 If enabled, separators will be placed between albums.
166 .TP
167 .B playlist_display_mode = classic/columns
168 Default display mode for Playlist.
169 .TP
170 .B browser_display_mode = classic/columns
171 Default display mode for Browser.
172 .TP
173 .B search_engine_display_mode = classic/columns
174 Default display mode for Search engine.
175 .TP
176 .B playlist_editor_display_mode = classic/columns
177 Default display mode for Playlist editor.
178 .TP
179 .B discard_colors_if_item_is_selected = yes/no
180 Indicates whether custom colors of tags have to be discarded if item is selected or not.
181 .TP
182 .B incremental_seeking = yes/no
183 If enabled, seek time will increment by one each second of seeking.
184 .TP
185 .B seek_time = SECONDS
186 Base seek time to begin with.
187 .TP
188 .B volume_change_step = NUMBER
189 Number of percents volume has to be increased/decreased by in volume_up/volume_down.
190 .TP
191 .B autocenter_mode = yes/no
192 Default state for autocenter mode at start.
193 .TP
194 .B centered_cursor = yes/no
195 If enabled, currently highlighted position in the list will be always centered.
196 .TP
197 .B progressbar_look = TEXT
198 This variable defines the look of progressbar. Note that it has to be exactly two or three characters long.
199 .TP
200 .B progressbar_boldness = yes/no
201 This variable defines whether progressbar should be displayed in bold or not.
202 .TP
203 .B default_place_to_search_in = database/playlist
204 If set to "playlist", Search engine will perform searching in current MPD playlist rather than in music database.
205 .TP
206 .B user_interface = classic/alternative
207 Default user interface used by ncmpcpp at start.
208 .TP
209 .B data_fetching_delay = yes/no
210 If enabled, there will be a 250ms delay between refreshing position in media library or playlist editor and fetching appropriate data from MPD. This limits data fetched from the server and is particularly useful if ncmpcpp is connected to a remote host.
211 .TP
212 .B media_library_primary_tag = artist/album_artist/date/genre/composer/performer
213 Default tag type for leftmost column in media library.
214 .TP
215 .B default_find_mode = wrapped/normal
216 If set to "wrapped", going from last found position to next will take you to the first one (same goes for the first position and going to previous one), otherwise no actions will be performed.
217 .TP
218 .B default_tag_editor_pattern = TEXT
219 Default pattern used by Tag editor's parser.
220 .TP
221 .B header_visibility = yes/no
222 If enabled, header window will be displayed, otherwise hidden.
223 .TP
224 .B statusbar_visibility = yes/no
225 If enabled, statusbar will be displayed, otherwise hidden.
226 .TP
227 .B titles_visibility = yes/no
228 If enabled, column titles will be displayed, otherwise hidden.
229 .TP
230 .B header_text_scrolling = yes/no
231 If enabled, text in header window will scroll if its length is longer then actual screen width, otherwise it won't.
232 .TP
233 .B cyclic_scrolling = yes/no
234 If enabled, cyclic scrolling is used (e.g. if you press down arrow being at the end of list, it'll take you to the beginning)
235 .TP
236 .B lines_scrolled = NUMBER
237 Number of lines that are scrolled with mouse wheel.
238 .TP
239 .B follow_now_playing_lyrics = yes/no
240 If enabled, lyrics will be switched at song's change to currently playing one's (Note: this works only if you are viewing lyrics of item from Playlist).
241 .TP
242 .B fetch_lyrics_for_current_song_in_background = yes/no
243 If enabled, each time song changes lyrics fetcher will be automatically run in background in attempt to download lyrics for currently playing song.
244 .TP
245 .B store_lyrics_in_song_dir = yes/no
246 If enabled, lyrics will be saved in song's directory, otherwise in ~/.lyrics. Note that it needs properly set mpd_music_dir.
247 .TP
248 .B generate_win32_compatible_filenames = yes/no
249 If set to yes, filenames generated by ncmpcpp (with tag editor, for lyrics, artists etc.) will not contain the following characters: \\?*:|"<> - otherwise only slash (/) will not be used.
250 .TP
251 .B allow_for_physical_item_deletion = yes/no
252 If set to yes, it will be possible to physically delete files and directories from the disk in the browser.
253 .TP
254 .B lastfm_preferred_language = ISO 639 alpha-2 language code
255 If set, ncmpcpp will try to get info from in language you set and if it fails, it will fall back to english. Otherwise it will use english the first time.
256 .TP
257 .B show_hidden_files_in_local_browser = yes/no
258 Trigger for displaying in local browser files and directories that begin with '.'
259 .TP
260 .B screen_switcher_mode = SWITCHER_MODE
261 If set to "previous", key_screen_switcher will switch between current and last used screen. If set to "screen1,...screenN" (a list of screens) it will switch between them in a sequence. Syntax clarification can be found in example config file.
262 .TP
263 .B startup_screen = SCREEN_NAME
264 Screen that has to be displayed at start (playlist by default).
265 .TP
266 .B startup_slave_screen = SCREEN_NAME
267 Slave screen that has to be displayed at start (nothing by default).
268 .TP
269 .B startup_slave_screen_focus = yes/no
270 If set to yes, slave screen will be the active one after startup. Otherwise master screen will be.
271 .TP 
272 .B locked_screen_width_part = 20-80
273 If you want to lock a screen, ncmpcpp asks for % of locked screen's width to be reserved before that and provides a default value, which is the one you can set here.
274 .TP
275 .B ask_for_locked_screen_width_part = yes/no
276 If enabled, ncmpcpp will ask for % of locked screen's width each time you want to lock a screen. If you disable that, it'll silently attempt to use default value.
277 .TP
278 .B jump_to_now_playing_song_at_start = yes/no
279 If enabled, ncmpcpp will jump at start to now playing song if mpd is playing or paused.
280 .TP
281 .B ask_before_clearing_playlists = yes/no
282 If enabled, user will be asked if he really wants to clear the playlist after pressing key responsible for that.
283 .TP
284 .B clock_display_seconds = yes/no
285 If enabled, clock will display time in format hh:mm:ss, otherwise hh:mm.
286 .TP
287 .B display_volume_level = yes/no
288 If enabled, volume level will be displayed in statusbar, otherwise not.
289 .TP
290 .B display_bitrate = yes/no
291 If enabled, bitrate of currently playing song will be displayed in statusbar.
292 .TP
293 .B display_remaining_time = yes/no
294 If enabled, remaining time of currently playing song will be be displayed in statusbar instead of elapsed time.
295 .TP
296 .B regular_expressions = none/basic/extended/perl
297 Type of currently used regular expressions.
298 .TP
299 .B ignore_leading_the = yes/no
300 If enabled, word "the" at the beginning of tags/filenames/sort format will be ignored while sorting items.
301 .TP
302 .B block_search_constraints_change_if_items_found = yes/no
303 If enabled, fields in Search engine above "Reset" button will be blocked after successful searching, otherwise they won't.
304 .TP
305 .B mouse_support = yes/no
306 If set to yes, mouse support will be enabled.
307 .TP
308 .B mouse_list_scroll_whole_page = yes/no
309 If enabled, mouse wheel will scroll the whole page of item list at a time, otherwise the number of lines specified by lines_scrolled variable.
310 .TP
311 .B empty_tag_marker = TEXT
312 Text that will be displayed, if requested tag is not set.
313 .TP
314 .B tags_separator = TEXT
315 Separator that is placed between tags. Also interpreted by tag editor which splits input string into separate tags using it.
316 .TP
317 .B tag_editor_extended_numeration = yes/no
318 If enabled, tag editor will number tracks using format xx/yy (where xx is the current track and yy is total amount of all numbered tracks), not plain xx.
319 .TP
320 .B media_library_sort_by_mtime = yes/no
321 If enabled, media library will be sorted by modification time. Otherwise lexicographic sorting is used.
322 .TP
323 .B enable_window_title = yes/no
324 If enabled, ncmpcpp will override current window title with its own one.
325 .TP
326 .B search_engine_default_search_mode = MODE_NUMBER
327 Number of default mode used in search engine.
328 .TP
329 .B external_editor = PATH
330 Path to external editor used to edit lyrics.
331 .TP
332 .B use_console_editor = yes/no
333 If your external editor is console application, you need to enable it.
334 .TP
335 .B colors_enabled = yes/no
336 No need to describe it, huh?
337 .TP
338 .B empty_tag_color = COLOR
339 Color of empty tag marker.
340 .TP
341 .B header_window_color = COLOR
342 Color of header window.
343 .TP
344 .B volume_color = COLOR
345 Color of volume state.
346 .TP
347 .B state_line_color = COLOR
348 Color of lines separating header and statusbar from main window.
349 .TP
350 .B state_flags_color = COLOR
351 Color of MPD status flags.
352 .TP
353 .B main_window_color = COLOR
354 Color of main window.
355 .TP
356 .B color1 = COLOR
357 One of colors used in Song info, Tiny tag editor and Search engine.
358 .TP
359 .B color2 = COLOR
360 One of colors used in Song info, Tiny tag editor and Search engine.
361 .TP
362 .B main_window_highlight_color = COLOR
363 Color of main window's highlight.
364 .TP
365 .B progressbar_color = COLOR
366 Color of progressbar.
367 .TP
368 .B progressbar_elapsed_color = COLOR
369 Color of part of progressbar that represents elapsed time.
370 .TP
371 .B statusbar_color = COLOR
372 Color of statusbar.
373 .TP
374 .B alternative_ui_separator_color = COLOR
375 Color of separators used in alternative user interface.
376 .TP
377 .B active_column_color = COLOR
378 Color of active column's highlight.
379 .TP
380 .B window_border_color = BORDER
381 Border color of pop-up windows. If set to 'none', no border will be shown.
382 .TP
383 .B active_window_border = COLOR
384 Color of active window's border.
385 .TP
387 When ncmpcpp starts, it tries to read user's bindings from ~/.ncmpcpp/bindings file. If no bindings file is found, ncmpcpp uses the defaults. An example bindings file with the default values can be found usually in /usr/share/doc/ncmpcpp (exact location may depend on used distribution or configure prefix).
389 You can view current keybindings by pressing F1.
392 For song format you can use:
394  %l - length
395  %f - filename
396  %D - directory
397  %a - artist
398  %A - album artist
399  %t - title
400  %b - album
401  %y - date
402  %n - track number (01/12 -> 01)
403  %N - full track info (01/12 -> 01/12)
404  %g - genre
405  %c - composer
406  %p - performer
407  %d - disc
408  %C - comment
409  %P - priority
410  $R - begin right alignment
412 You can also put them in { } and then they will be displayed only if all requested values are available and/or define alternate value with { }|{ } e.g. {%a - %t}|{%f} will check if artist and title tags are available and if they are, display them. Otherwise it'll display filename.
414 \fBNote\fR: If you want to set limit on maximal length of a tag, just put the appropriate number between % and character that defines tag type, e.g. to make album take max. 20 terminal cells, use '%20b'.
416 \fBNote\fR: Format that is similar to "%a - %t" (i.e. without any additional braces) is equal to "{%a - %t}", so if one of the tags is missing, you'll get nothing.
418 Text can have different color than the main window, e.g. if you want length to be green, write $3%l$9.
420 Available values for colors:
422  - 0 - default window color (discards all other colors)
423  - 1 - black
424  - 2 - red
425  - 3 - green
426  - 4 - yellow
427  - 5 - blue
428  - 6 - magenta
429  - 7 - cyan
430  - 8 - white
431  - 9 - end of current color
433 \fBNote\fR: colors can be nested, so if you write $2some$5text$9, it'll disable only usage of blue color and make red the current one.
435 .SH "BUGS"
436 Report bugs on
437 .SH "NOTE"
438 Since MPD uses UTF\-8, ncmpcpp needs to convert characters to the charset used by the local system. If you get character conversion errors while you are running ncmpcpp, you probably need to set up your locale. This is done by setting LANG and LC_ALL/LC_CTYPE environment variables (LC_CTYPE only affects character handling).
440 ->
442 .SH "SEE ALSO"
443 mpc(1), mpd(1)