{"id":254227,"date":"2013-06-13T17:47:43","date_gmt":"2013-06-13T09:47:43","guid":{"rendered":"http:\/\/blog.zhenglei.net\/?p=254227"},"modified":"2013-06-13T17:48:22","modified_gmt":"2013-06-13T09:48:22","slug":"debian-wheezy-install-ncmpcpp-ncurses-based-mpd-client","status":"publish","type":"post","link":"https:\/\/blog.zhenglei.net\/?p=254227","title":{"rendered":"Debian Wheezy:  install ncmpcpp,  Ncurses Based MPD Client"},"content":{"rendered":"<p># Install ncmpcpp client<br \/>\n<strong>apt-get install ncmpcpp<br \/>\n<\/strong><\/p>\n<p># Update config of ncmpcpp<br \/>\n<strong>nano ~\/.ncmpcpp\/config<\/strong><br \/>\n<em>mpd_host = &#8220;192.168.127.72&#8221;<br \/>\n#<br \/>\nmpd_port = &#8220;6600&#8221;<br \/>\n#<br \/>\nmpd_music_dir = &#8220;\/share\/mpd\/music\/&#8221;<br \/>\n#<br \/>\nmpd_connection_timeout = &#8220;5&#8221;<br \/>\n#<br \/>\nmpd_crossfade_time = &#8220;3&#8221;<br \/>\n#<br \/>\n##### music visualizer #####<br \/>\n##<br \/>\n## Note: In order to make music visualizer work you&#8217;ll<br \/>\n## need to use mpd fifo output, whose format parameter<br \/>\n## has to be set to 44100:16:1. Example configuration:<br \/>\n## (it has to be put into mpd.conf)<br \/>\n##<br \/>\n##audio_output {<br \/>\n##        type            &#8220;fifo&#8221;<br \/>\n##        name            &#8220;My FIFO&#8221;<br \/>\n##       path            &#8220;\/tmp\/mpd.fifo&#8221;<br \/>\n##        format          &#8220;44100:16:1&#8221;<br \/>\n##}<br \/>\n##<br \/>\n#<br \/>\nvisualizer_fifo_path = &#8220;\/tmp\/mpd.fifo&#8221;<br \/>\n#<br \/>\n##<br \/>\n## Note: Below parameter is needed for ncmpcpp<br \/>\n## to determine which output provides data for<br \/>\n## visualizer and thus allow syncing between<br \/>\n## visualization and sound as currently there<br \/>\n## are some problems with it.<br \/>\n##<br \/>\n#<br \/>\nvisualizer_output_name = &#8220;My FIFO&#8221;<br \/>\n#<br \/>\n##<br \/>\n## Note: To enable spectrum frequency visualization<br \/>\n## you need to compile ncmpcpp with fftw3 support.<br \/>\n##<br \/>\n#<br \/>\nvisualizer_type = &#8220;spectrum&#8221; (spectrum\/wave)<br \/>\n#<br \/>\n##### system encoding #####<br \/>\n##<br \/>\n## ncmpcpp should detect your charset encoding<br \/>\n## but if it failed to do so, you can specify<br \/>\n## charset encoding you are using here.<br \/>\n##<br \/>\n## Note: You can see whether your ncmpcpp build<br \/>\n## supports charset detection by checking output<br \/>\n## of `ncmpcpp &#8211;version`.<br \/>\n##<br \/>\n## Note: Since MPD uses utf8 by default, setting<br \/>\n## this option makes sense only if your encoding<br \/>\n## is different.<br \/>\n##<br \/>\n#<br \/>\n#system_encoding = &#8220;&#8221;<br \/>\n#<br \/>\n##### delays #####<br \/>\n#<br \/>\n## delay after playlist highlighting will be disabled (0 = don&#8217;t disable)<br \/>\n#<br \/>\nplaylist_disable_highlight_delay = &#8220;5&#8221;<br \/>\n#<br \/>\n## defines how long various messages are supposed to be visible<br \/>\n#<br \/>\nmessage_delay_time = &#8220;4&#8221;<br \/>\n#<br \/>\n##### song format #####<br \/>\n##<br \/>\n## for song format you can use:<br \/>\n##<br \/>\n## %l &#8211; length<br \/>\n## %f &#8211; filename<br \/>\n## %D &#8211; directory<br \/>\n## %a &#8211; artist<br \/>\n## %t &#8211; title<br \/>\n## %b &#8211; album<br \/>\n## %y &#8211; year<br \/>\n## %n &#8211; track number (01\/12 -&gt; 01)<br \/>\n## %N &#8211; full track info (01\/12 -&gt; 01\/12)<br \/>\n## %g &#8211; genre<br \/>\n## %c &#8211; composer<br \/>\n## %p &#8211; performer<br \/>\n## %d &#8211; disc<br \/>\n## %C &#8211; comment<br \/>\n## $R &#8211; begin right alignment<br \/>\n##<br \/>\n## you can also put them in { } and then it will be displayed<br \/>\n## only if all requested values are available and\/or define alternate<br \/>\n## value with { }|{ } eg. {%a &#8211; %t}|{%f}<br \/>\n##<br \/>\n## Note: Format that is similar to &#8220;%a &#8211; %t&#8221; (i.e. without any additional<br \/>\n## braces) is equal to &#8220;{%a &#8211; %t}&#8221;, so if one of the tags is missing,<br \/>\n## you&#8217;ll get nothing.<br \/>\n##<br \/>\n## text can also have different color than the main window has,<br \/>\n## eg. if you want length to be green, write $3%l$9<br \/>\n##<br \/>\n## available values:<br \/>\n##<br \/>\n## &#8211; 0 &#8211; default window color (discards all other colors)<br \/>\n## &#8211; 1 &#8211; black<br \/>\n## &#8211; 2 &#8211; red<br \/>\n## &#8211; 3 &#8211; green<br \/>\n## &#8211; 4 &#8211; yellow<br \/>\n## &#8211; 5 &#8211; blue<br \/>\n## &#8211; 6 &#8211; magenta<br \/>\n## &#8211; 7 &#8211; cyan<br \/>\n## &#8211; 8 &#8211; white<br \/>\n## &#8211; 9 &#8211; end of current color<br \/>\n##<br \/>\n## Note: colors can be nested.<br \/>\n##<br \/>\n#<br \/>\nsong_list_format = &#8220;{%a &#8211; }{%t}|{$8%f$9}$R{$3(%l)$9}&#8221;<br \/>\n#<br \/>\nsong_status_format = &#8220;{{%a{ \\&#8221;%b\\&#8221;{ (%y)}} &#8211; }{%t}}|{%f}&#8221;<br \/>\n#<br \/>\nsong_library_format = &#8220;{%n &#8211; }{%t}|{%f}&#8221;<br \/>\n#<br \/>\ntag_editor_album_format = &#8220;{(%y) }%b&#8221;<br \/>\n#<br \/>\n##<br \/>\n## Note: Below variables are for alternative version of user&#8217;s interface.<br \/>\n## Their syntax supports all tags and colors listed above plus some extra<br \/>\n## markers used for text attributes. They are followed by character &#8216;$&#8217;.<br \/>\n## After that you can put:<br \/>\n##<br \/>\n## &#8211; b &#8211; bold text<br \/>\n## &#8211; u &#8211; underline text<br \/>\n## &#8211; r &#8211; reverse colors<br \/>\n## &#8211; a &#8211; use alternative character set<br \/>\n##<br \/>\n## If you don&#8217;t want to use an attribute anymore, just put it again, but<br \/>\n## this time insert character &#8216;\/&#8217; between &#8216;$&#8217; and attribute character,<br \/>\n## e.g. {$b%t$\/b}|{$r%f$\/r} will display bolded title tag or filename<br \/>\n## with reversed colors.<br \/>\n##<br \/>\n#<br \/>\n#alternative_header_first_line_format = &#8220;$b$1$aqqu$\/a$9 {%t}|{%f} $1$atqq$\/a$9$\/b&#8221;<br \/>\n#<br \/>\n#alternative_header_second_line_format = &#8220;{{$4$b%a$\/b$9}{ &#8211; $7%b$9}{ ($4%y$9)}}|{%D}&#8221;<br \/>\n#<br \/>\n##<br \/>\n## Note: Below variables also supports<br \/>\n## text attributes listed above.<br \/>\n##<br \/>\n#<br \/>\nnow_playing_prefix = &#8220;$b&#8221;<br \/>\n#<br \/>\n#now_playing_suffix = &#8220;$\/b&#8221;<br \/>\n#<br \/>\n#browser_playlist_prefix = &#8220;$2playlist$9 &#8221;<br \/>\n#<br \/>\n#selected_item_prefix = &#8220;$6&#8221;<br \/>\n#<br \/>\n#selected_item_suffix = &#8220;$9&#8221;<br \/>\n#<br \/>\n## colors are not supported for below variable<br \/>\n#<br \/>\n#song_window_title_format = &#8220;{%a &#8211; }{%t}|{%f}&#8221;<br \/>\n#<br \/>\n##### columns settings #####<br \/>\n##<br \/>\n## syntax of song columns list format is &#8220;column column etc.&#8221;<br \/>\n##<br \/>\n## &#8211; syntax for each column is:<br \/>\n##<br \/>\n## (width of column)[column&#8217;s color]{displayed tag}<br \/>\n##<br \/>\n## Note: Width is by default in %, if you want a column to<br \/>\n## have fixed size, add &#8216;f&#8217; after the value, e.g. (10)[white]{a}<br \/>\n## will be the column that take 10% of screen (so the real column&#8217;s<br \/>\n## width will depend on actual screen size), whereas (10f)[white]{a}<br \/>\n## will take 10 terminal cells, no matter how wide the screen is.<br \/>\n##<br \/>\n## &#8211; color is optional (if you want the default one, type [])<br \/>\n##<br \/>\n## Note: You can give a column additional attributes by putting appropriate<br \/>\n## character after displayed tag character. Available attributes are:<br \/>\n##<br \/>\n## &#8211; r &#8211; column will be right aligned<br \/>\n## &#8211; E &#8211; if tag is empty, empty tag marker won&#8217;t be displayed<br \/>\n##<br \/>\n## E.g. {lr} will give you right aligned column of lengths.<br \/>\n##<br \/>\n#<br \/>\nsong_columns_list_format = &#8220;(7f)[green]{l} (25)[cyan]{a} (40)[]{t} (30)[red]{b}&#8221;<br \/>\n#<br \/>\n##### various settings #####<br \/>\n#<br \/>\n##<br \/>\n## Note: Custom command that will be executed each<br \/>\n## time song changes. Useful for notifications etc.<br \/>\n##<br \/>\n## Attention: It doesn&#8217;t support song format anymore.<br \/>\n## Use `ncmpcpp &#8211;now-playing SONG_FORMAT` instead.<br \/>\n##<br \/>\n#execute_on_song_change = &#8220;&#8221;<br \/>\n#<br \/>\n#playlist_show_remaining_time = &#8220;no&#8221;<br \/>\n#<br \/>\nplaylist_display_mode = &#8220;columns&#8221; (classic\/columns)<br \/>\n#<br \/>\nbrowser_display_mode = &#8220;classic&#8221; (classic\/columns)<br \/>\n#<br \/>\n#search_engine_display_mode = &#8220;classic&#8221; (classic\/columns)<br \/>\n#<br \/>\n#incremental_seeking = &#8220;yes&#8221;<br \/>\n#<br \/>\n#seek_time = &#8220;1&#8221;<br \/>\n#<br \/>\n#autocenter_mode = &#8220;no&#8221;<br \/>\n#<br \/>\n#centered_cursor = &#8220;no&#8221;<br \/>\n#<br \/>\n#progressbar_look = &#8220;=&gt;&#8221;<br \/>\n#<br \/>\n#default_place_to_search_in = &#8220;database&#8221; (database\/playlist)<br \/>\n#<br \/>\nuser_interface = &#8220;classic&#8221; (classic\/alternative)<br \/>\n#<br \/>\n#media_library_left_column = &#8220;a&#8221; (possible values: a,y,g,c,p, legend above)<br \/>\n#<br \/>\ndefault_find_mode = &#8220;wrapped&#8221; (wrapped\/normal)<br \/>\n#<br \/>\ndefault_space_mode = &#8220;add&#8221; (add\/select)<br \/>\n#<br \/>\n#default_tag_editor_left_col = &#8220;albums&#8221; (albums\/dirs)<br \/>\n#<br \/>\n#default_tag_editor_pattern = &#8220;%n &#8211; %t&#8221;<br \/>\n#<br \/>\nheader_visibility = &#8220;no&#8221;<br \/>\n#<br \/>\nstatusbar_visibility = &#8220;no&#8221;<br \/>\n#<br \/>\n#header_text_scrolling = &#8220;yes&#8221;<br \/>\n#<br \/>\n#fancy_scrolling = &#8220;yes&#8221;<br \/>\n#<br \/>\ncyclic_scrolling = &#8220;no&#8221;<br \/>\n#<br \/>\n#lines_scrolled = &#8220;2&#8221;<br \/>\n#<br \/>\nfollow_now_playing_lyrics = &#8220;no&#8221;<br \/>\n#<br \/>\n#ncmpc_like_songs_adding = &#8220;no&#8221; (enabled &#8211; add\/remove, disabled &#8211; always add)<br \/>\n#<br \/>\nshow_hidden_files_in_local_browser = &#8220;no&#8221;<br \/>\n#<br \/>\n#display_screens_numbers_on_start = &#8220;yes&#8221;<br \/>\n#<br \/>\n#jump_to_now_playing_song_at_start = &#8220;yes&#8221;<br \/>\n#<br \/>\n#ask_before_clearing_main_playlist = &#8220;no&#8221;<br \/>\n#<br \/>\nclock_display_seconds = &#8220;no&#8221;<br \/>\n#<br \/>\n#display_bitrate = &#8220;no&#8221;<br \/>\n#<br \/>\n#display_remaining_time = &#8220;no&#8221;<br \/>\n#<br \/>\n#regular_expressions = &#8220;basic&#8221; (basic\/extended)<br \/>\n#<br \/>\n##<br \/>\n## Note: If below is enabled, ncmpcpp will ignore leading<br \/>\n## &#8220;The&#8221; word while sorting items in browser, tags in<br \/>\n## media library, etc.<br \/>\n##<br \/>\n#ignore_leading_the = &#8220;no&#8221;<br \/>\n#<br \/>\n#block_search_constraints_change_if_items_found = &#8220;yes&#8221;<br \/>\n#<br \/>\n#mouse_support = &#8220;yes&#8221;<br \/>\n#<br \/>\n#mouse_list_scroll_whole_page = &#8220;yes&#8221;<br \/>\n#<br \/>\n#empty_tag_marker = &#8220;&#8221;<br \/>\n#<br \/>\n#tag_editor_extended_numeration = &#8220;no&#8221;<br \/>\n#<br \/>\n#enable_window_title = &#8220;yes&#8221;<br \/>\n#<br \/>\n##<br \/>\n## Note: These triggers will allow you to phisically remove<br \/>\n## files and directories from your hdd in using ncmpcpp&#8217;s<br \/>\n## browser screen.<br \/>\n##<br \/>\n#<br \/>\nallow_physical_files_deletion = &#8220;no&#8221;<br \/>\n#<br \/>\nallow_physical_directories_deletion = &#8220;no&#8221;<br \/>\n#<br \/>\n##### lyrics support #####<br \/>\n##<br \/>\n## supported lyrics databases:<br \/>\n##<br \/>\n## &#8211; 1 &#8211; lyricsplugin.com<br \/>\n##<br \/>\n#<br \/>\n#lyrics_database = &#8220;1&#8221;<br \/>\n#<br \/>\n#external_editor = &#8220;&#8221;<br \/>\n#<br \/>\n#use_console_editor = &#8220;no&#8221; (set to yes, if your editor is console app)<br \/>\n#<br \/>\n##### colors definitions #####<br \/>\n#<br \/>\ncolors_enabled = &#8220;yes&#8221;<br \/>\n#<br \/>\n#empty_tag_color = &#8220;cyan&#8221;<br \/>\n#<br \/>\n#header_window_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#volume_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#state_line_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#state_flags_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#main_window_color = &#8220;yellow&#8221;<br \/>\n#<br \/>\n#color1 = &#8220;white&#8221;<br \/>\n#<br \/>\n#color2 = &#8220;green&#8221;<br \/>\n#<br \/>\n#main_window_highlight_color = &#8220;yellow&#8221;<br \/>\n#<br \/>\n#progressbar_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#statusbar_color = &#8220;default&#8221;<br \/>\n#<br \/>\n#alternative_ui_separator_color = &#8220;black&#8221;<br \/>\n#<br \/>\n#active_column_color = &#8220;red&#8221;<br \/>\n#<br \/>\n#window_border_color = &#8220;green&#8221;<br \/>\n#<br \/>\n#active_window_border = &#8220;red&#8221;<br \/>\n#<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p># Install ncmpcpp client apt-get install &hellip; <a href=\"https:\/\/blog.zhenglei.net\/?p=254227\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[108],"class_list":["post-254227","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-music"],"_links":{"self":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/254227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254227"}],"version-history":[{"count":2,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/254227\/revisions"}],"predecessor-version":[{"id":254229,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=\/wp\/v2\/posts\/254227\/revisions\/254229"}],"wp:attachment":[{"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhenglei.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}