Razlika između inačica stranice Ncmpcpp

Izvor: HrOpenWiki
Skoči na: orijentacija, traži
m (DWM premješteno na Ncmpcpp)
 
Nije prikazana jedna međuinačica istog suradnika
Redak 1: Redak 1:
=DWM=
+
=ncmpcpp=
  
DWM je dinamičan upravitelj prozorima ( dynamic window manager) za X.Prozorima upravlja u tiled,stacked i full-screen rasporedu ( popločen,složen i po cijelom zaslonu) kao i na mnoge druge naćine uz pomoć opcionalnih patcheva.Layout se primjenjuje dinamički, optimizirajući sučelje trenutno korištene aplikacije  te prema trenutnoj potrebi.DWM je vrlo lagan i brz, pisan u C-u i sa dizajnerskom zadaćom da nesmije nikada premašiti 2000 linija koda.Također pruža potporu za xrandr and Xineramu.
+
=Uvod=
  
=Istalacija=
+
Ncmpcpp odnosno ncmpc++ je mpd klient sa UI vrlo sličnim ncmpcovom.Zapravo ncmpcpp je nastao iz ncmpc-a te nudi neke nove mogučnosti kao regularne izraze u tražilici, proširen format pjesama, filtriranje, last.fm podršku, sposobnost za sortiranje pjesama iz lokalnog datotečnog preglednika i druge manje funkcije. Za korištenje je potrebno imati instaliran i podešen mpd jer ncmpcpp i mpd rade zajedno u ovisnosti client/server .
Ovdje ćemo obraditi instalaciju iz repozitorija samo u Arch Linuxu te u Debianu i njegovim derivatima.
+
Imajete na umu da je jedini naćin uređivanja i prilagođavanja DWM-a u uređivanju source koda što je moguće ukoliko ste DWM instalirali kompajliranjem iz sourca te će se ostatak članka oslanjati upravo i na tu opciju.
+
  
===Arch Linux===
+
=Instalacija=
  
DWM se ne nalazi u službenim repozitorijima, već se mora vući iz AUR-a ili preko archlinux.fr repozitorija.
+
==Arch Linux==
  
  
<pre>pacman -S dwm</pre>
+
<pre>pacman -S ncmpcpp</pre>
  
<pre>yaourt dwm</pre>
+
==Debian i Debian derivati==
  
Uz dwm će vam zatrebati i meni pa bi bilo pametno da instalirate i dmenu
 
  
<pre>pacman -S dmenu</pre>
+
<pre>sudo apt-get install ncmpcpp</pre>
  
===Debian i Debianovi derivati===
+
==Gentoo==
  
Kod Debiana DWM se nalazi unutar službenih repozitorija te ga je dovoljno povući.
 
  
<pre>sudo apt-get install dwm dmenu</pre>
+
<pre>emerge -av ncmpcpp</pre>
  
===Kompajliranje===
+
==Slackware==
Sa http://dl.suckless.org/dwm/dwm-5.9.tar.gz se skine source kod.Skinuta arhiva se raspakira u direktorij ~/.dwm te se uđe u novonastali direktoriji i kompajlira se uobičajenim postupkom
+
<pre>cd ~/.dwm
+
make
+
sudo make install</pre>
+
  
Također potrebno je instalirati i dmwnu čiju najnoviju inačicu možete skinuti također sa sucklessove stranice te kompajlirati.
+
Za Slackware postoji nekoliko slackbuild paketa.
 +
Pogledati na http://slackbuilds.org/
  
=Konfiguracija=
 
  
Kao što je već ranije spomenuto DWM ima ekskluzivan pristup konfiguraciji prilikom kompajliranja te je stoga ukoliko želite mjenjati definicije,boje,izgled pametno raditi instalaciju preko izvornog koda putem kompajliranja ( traje točno 76 sekunda).
+
=Osnovna konfiguracija=
Svaka promjena izgleda,boja i definicija vrši se u config.h datoteci koja je smještena u ~/.dwm direktoriju kojeg smo definirali prilikom instalacije.Evo i primjera jedne ovakve datoteke
+
<pre>/* See LICENSE file for copyright and license details. */
+
  
/* appearance */
+
Nakon instalacije osnovna konfguracijska datoteka se može naću pod /usr/share/doc/ncmpcpp/config.
static const char font[]            = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
+
Potrebno je unutar /home/user kreirati mapu .ncmpcpp u kojoj će se nalaziti konfiguracija playera.
static const char normbordercolor[] = "#070707";
+
static const char normbgcolor[]    = "#070707";
+
static const char normfgcolor[]    = "#696969";
+
static const char selbordercolor[]  = "#3A3A3A";
+
static const char selbgcolor[]      = "#3A3A3A";
+
static const char selfgcolor[]      = "#ffffff";
+
static const unsigned int borderpx  = 1;        /* border pixel of windows */
+
static const unsigned int snap      = 32;      /* snap pixel */
+
static const Bool showbar          = True;    /* False means no bar */
+
static const Bool topbar            = False;    /* False means bottom bar */
+
  
/* tagging */
 
static const char *tags[] = { "term", "web", "files", "multimedia", "office", "fax", "work", "devl", "vbox" };
 
  
static const Rule rules[] = {
+
<pre>mkdir ~/.ncmpcpp</pre>
/* class      instance    title      tags mask    isfloating  monitor */
+
{ "Gimp",    NULL,      NULL,      0,            True,        -1 },
+
{ "Vbox",  NULL,      NULL,      1 << 8,      False,      -1 },
+
};
+
  
/* layout(s) */
+
U nju se spremi kratka konfiguracijska datoteka koju ste napisali ili kopirate i izmjenite konfiguracijsku datoteku iz /usr/share/doc/ncmpcpp/config.
static const float mfact      = 0.55; /* factor of master area size [0.05..0.95] */
+
static const Bool resizehints = True; /* True means respect size hints in tiled resizals */
+
  
static const Layout layouts[] = {
+
===Primjer konfiguracijske datoteke===
/* symbol    arrange function */
+
{ "[]=",      tile },    /* first entry is default */
+
{ "><>",      NULL },    /* no layout function means floating behavior */
+
{ "[M]",      monocle },
+
};
+
  
/* key definitions */
 
#define MODKEY Mod1Mask
 
#define MOD4  Mod4Mask
 
#define TAGKEYS(KEY,TAG) \
 
    { MODKEY,                      KEY,      view,          {.ui = 1 << TAG} }, \
 
    { MODKEY|ControlMask,          KEY,      toggleview,    {.ui = 1 << TAG} }, \
 
    { MODKEY|ShiftMask,            KEY,      tag,            {.ui = 1 << TAG} }, \
 
    { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
 
  
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
+
<pre>####################################################
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
+
## this is example configuration file, copy it to ##
 +
## ~/.ncmpcpp/config and set up your preferences ##
 +
####################################################
 +
#
 +
##### connection settings #####
 +
#
 +
## set it in order to make tag editor and renaming files work properly
 +
#
 +
#mpd_host = "localhost"
 +
#
 +
#mpd_port = "6600"
 +
#
 +
mpd_music_dir = "/home/lutherus/Music"
 +
#
 +
#mpd_connection_timeout = "5"
 +
#
 +
#mpd_crossfade_time = "5"
 +
#
 +
#mpd_communication_mode = "polling" (polling/notifications)
 +
#
 +
##### music visualizer #####
 +
##
 +
## Note: In order to make music visualizer work you'll
 +
## need to use mpd fifo output, whose format parameter
 +
## has to be set to 44100:16:1. Example configuration:
 +
## (it has to be put into mpd.conf)
 +
##
 +
audio_output {
 +
type "fifo"
 +
name "My FIFO"
 +
path "/tmp/mpd.fifo"
 +
format "44100:16:1"
 +
}
 +
##
 +
#
 +
visualizer_fifo_path = "/tmp/mpd.fifo"
 +
#
 +
##
 +
## Note: Below parameter is needed for ncmpcpp
 +
## to determine which output provides data for
 +
## visualizer and thus allow syncing between
 +
## visualization and sound as currently there
 +
## are some problems with it.
 +
##
 +
#
 +
visualizer_output_name = "fifo"
 +
#
 +
##
 +
## Note: To enable spectrum frequency visualization
 +
## you need to compile ncmpcpp with fftw3 support.
 +
##
 +
#
 +
visualizer_type = "wave" (spectrum/wave)
 +
#
 +
##### delays #####
  
/* commands */
+
playlist_disable_highlight_delay = "5"
static const char *dmenucmd[]    = { "dmenu_run", "-i", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
+
static const char *termcmd[]      = { "xterm -e tmux", NULL };
+
static const char *thunarcmd[]    = { "thunar", NULL };
+
static const char *rebootcmd[]    = { "sudo", "reboot", NULL };
+
static const char *shutdowncmd[]  = { "sudo", "shutdown", "-h", "now", NULL };
+
static const char *webcmd[]      = { "firefox", NULL };
+
static const char *mailcmd[]      = { "thunderbird", NULL };
+
static const char *volupcmd[]    = { "volup", NULL };
+
static const char *voldowncmd[]  = { "voldown", NULL };
+
static const char *volwhatcmd[]  = { "volumes_what", NULL };
+
  
 +
##### song format #####
  
static Key keys[] = {
+
song_status_format = "%a \"%b\" - {%t}|{%f}"
    /* modifier                    key        function        argument */
+
song_library_format = "{%n - }{%t}|{%f}"
    { MODKEY,                      XK_v,      spawn,          {.v = dmenucmd } },
+
now_playing_prefix = "$r$b"
    { MODKEY,                      XK_Return, spawn,          {.v = termcmd } },
+
now_playing_suffix = "$/b$/r"
    { MODKEY,                      XK_Up,    spawn,          {.v = volupcmd } },
+
song_columns_list_format = "(7f)[white]{l} (25)[white]{a} (40)[]{b} (30)[white]{t}"
    { MODKEY,                      XK_Down,  spawn,          {.v = voldowncmd } },
+
    { MODKEY,                      XK_b,      togglebar,      {0} },
+
    { MODKEY,                      XK_j,      focusstack,    {.i = +1 } },
+
    { MODKEY,                      XK_k,      focusstack,    {.i = -1 } },
+
    { MODKEY,                      XK_h,      setmfact,      {.f = -0.05} },
+
    { MODKEY,                      XK_l,      setmfact,      {.f = +0.05} },
+
    { MODKEY,                      XK_Tab,    view,          {0} },
+
    { MODKEY,                      XK_c,      killclient,    {0} },
+
    { MODKEY,                      XK_space,  setlayout,      {0} },
+
    { MODKEY,                      XK_0,      view,          {.ui = ~0 } },
+
    { MODKEY,                      XK_comma,  focusmon,      {.i = -1 } },
+
    { MODKEY,                      XK_period, focusmon,      {.i = +1 } },
+
// alt + shift + key
+
    { MODKEY|ShiftMask,            XK_comma,  tagmon,        {.i = -1 } },
+
    { MODKEY|ShiftMask,            XK_period, tagmon,        {.i = +1 } },
+
    { MODKEY|ShiftMask,            XK_Return, zoom,          {0} }, /* swap master */
+
    { MODKEY|ShiftMask,            XK_space,  togglefloating, {0} },
+
    { MODKEY|ShiftMask,            XK_h,      setlayout,      {.v = &layouts[0]} }, /* to change layouts horizontal*/
+
    { MODKEY|ShiftMask,            XK_f,      setlayout,      {.v = &layouts[1]} }, /* floating */
+
    { MODKEY|ShiftMask,            XK_m,      setlayout,      {.v = &layouts[2]} }, /* monocle */
+
    { MODKEY|ShiftMask,            XK_v,      setlayout,      {.v = &layouts[3]} }, /* vertical */
+
    { MODKEY|ShiftMask,            XK_0,      tag,            {.ui = ~0 } },
+
// alt + control + key
+
    { MODKEY|ControlMask,          XK_r,      spawn,          {.v = rebootcmd } },
+
    { MODKEY|ControlMask,          XK_s,      spawn,          {.v = shutdowncmd } },
+
// Super + key
+
    { MOD4,                        XK_h,      spawn,          {.v = thunarcmd } },
+
    { MOD4,                        XK_f,      spawn,          {.v = webcmd } },
+
    { MOD4,                        XK_e,      spawn,          {.v = mailcmd } },
+
    { MOD4,                        XK_v,      spawn,          {.v = volwhatcmd } },
+
    TAGKEYS(                       XK_1,                      0)
+
    TAGKEYS(                        XK_2,                      1)
+
    TAGKEYS(                        XK_3,                      2)
+
    TAGKEYS(                        XK_4,                      3)
+
    TAGKEYS(                        XK_5,                      4)
+
    TAGKEYS(                        XK_6,                      5)
+
    TAGKEYS(                        XK_7,                      6)
+
    TAGKEYS(                        XK_8,                      7)
+
    TAGKEYS(                        XK_9,                      8)
+
    { MODKEY|ControlMask,          XK_q,      quit,          {0} },
+
};
+
  
/* button definitions */
+
##### various settings #####
/* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
+
static Button buttons[] = {
+
    /* click                event mask      button          function        argument */
+
    { ClkLtSymbol,          0,              Button1,        setlayout,      {0} },
+
    { ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },
+
    { ClkWinTitle,          0,              Button2,        zoom,          {0} },
+
    { ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
+
    { ClkClientWin,        MODKEY,        Button1,        movemouse,      {0} },
+
    { ClkClientWin,        MODKEY,        Button2,        togglefloating, {0} },
+
    { ClkClientWin,        MODKEY,        Button3,        resizemouse,    {0} },
+
    { ClkTagBar,            0,              Button1,        view,          {0} },
+
    { ClkTagBar,            0,              Button3,        toggleview,    {0} },
+
    { ClkTagBar,            MODKEY,        Button1,        tag,            {0} },
+
    { ClkTagBar,            MODKEY,        Button3,        toggletag,      {0} },
+
};  </pre>
+
  
=Pokretanje=
+
execute_on_song_change = ""
 +
playlist_shorten_total_times = "yes"
 +
playlist_display_mode = "columns" (classic/columns)
 +
browser_display_mode = "columns" (classic/columns)
 +
discard_colors_if_item_is_selected = "yes"
 +
incremental_seeking = "yes"
 +
seek_time = "1"
 +
autocenter_mode = "no"
 +
centered_cursor = "yes"
 +
progressbar_look = "=>"
 +
media_library_left_column = "a" (possible values: a,y,g,c,p, legend above)
 +
default_find_mode = "wrapped" (wrapped/normal)
 +
default_space_mode = "add" (add/select)
 +
default_tag_editor_left_col = "albums" (albums/dirs)
 +
default_tag_editor_pattern = "%n - %t"
 +
header_visibility = "yes"
 +
statusbar_visibility = "yes"
 +
titles_visibility = "yes"
 +
header_text_scrolling = "yes"
 +
fancy_scrolling = "yes"
 +
cyclic_scrolling = "yes"
 +
lines_scrolled = "2"
 +
startup_screen = "2"
 +
jump_to_now_playing_song_at_start = "yes"
 +
ask_before_clearing_main_playlist = "no"
 +
ignore_leading_the = "yes"
 +
mouse_support = "no"
 +
mouse_list_scroll_whole_page = "yes"
  
Pokretanje je vrlo jednostavno i ono ovisi o naćinu na koj pokrećete X na svom računalu.
+
##### colors definitions #####
Za pokretanje preko startx naredbe ili putem SLIM managera potrebno je urediti .xinitrc datoteku na naćin da se na njen kraj doda naredba <pre>exec dwm</pre>.
+
Također ukoliko želite koristiti xfce4-power-manager i polkit pravila odnosno dbus umjesto <pre>exec dwm</pre> koristite <pre> exec ck-launch-session bash -c "xfce4-power-manager & dwm" </pre>.
+
Puno bolji i elegantniji način je kreiranjem datoteke ~/bin/startdwm u koju se utrpaju sve aplikacije koje želite pokrenuti prilikom podizanja X-a
+
te pozivanjem nje preko .xinitrc skripte <pre> exec ck-launch-session dbus-launch --sh-syntax --exit-with-session ~/bin/startdwm</pre> .
+
Aplikacije pokrenute na taj način će sve imati polkit/dbus dodjeljena prava.Primjer takve .xinitrc datoteke je
+
<pre> #!/bin/bash
+
#this file is called by .xinitrc to start some nice apps for dwm
+
  
xrdb -merge ~/.Xresources &
+
colors_enabled = "yes"
 +
empty_tag_color = "cyan"
 +
main_window_color = "white"
 +
main_window_highlight_color = "white"
 +
progressbar_color = "magenta"
 +
active_column_color = "green" </pre>
  
xfce4-power-manager &
+
=Vizualizacija=
  
sh ~/.fehbg &
+
Upotreba vizualizacije je omogućena uz fftw paket.Arch korisnicima je na raspolaganje stavljen gotov paket ncmpcpp-fftw dok ostali moraju kompajlirati fftw (oko 2 minute posla; 1:39 minuta odlazi na ./configure i čekanje)
 +
Jednom kad je instaliran treba otvoriti mpd.conf datoteku; vim /etc/mpd.conf te dodati sljedeću sekciju
  
while true; do
 
xsetroot -name "$(date +"%a %d.%m/%H:%M:%S") $(df -h|grep root|awk '{print $4}')"
 
sleep 1
 
done &
 
  
while true; do
+
<pre>audio_output {
dwm || exit
+
    type                    "fifo"
done</pre>  
+
    name                    "my_fifo"
 +
    path                    "/tmp/mpd.fifo"
 +
} </pre>
  
=Konfiguracija statusne trake=
+
Također dodatne linije treba dodati i u ~/.ncmpcpp/config
  
==Osnovna traka==
 
Ovaj primjer ispisuje vrijeme u  ISO 8601 formatu. Dodaje se u ~/.xinitrc
 
<pre> while true; do
 
  xsetroot -name "$( date +"%F %R" )"
 
  sleep 1m    # Update time every minute
 
done &
 
exec dwm
 
</pre>
 
  
Također jedan primjer za laptop korisnike
+
<pre>visualizer_fifo_path = "/tmp/mpd.fifo"
<pre> while true ; do
+
visualizer_output_name = "my_fifo"
    xsetroot -name "$( acpi -b | awk '{ print $3, $4 }' | tr -d ',' )"
+
visualizer_sync_interval = "1"
    sleep 1m
+
#visualizer_type = "wave" (spectrum/wave)
done &
+
visualizer_type = "spectrum" (spectrum/wave) </pre>
exec dwm</pre>
+
  
==Conky kao statusna traka==
 
  
Conky se može ispisati na na statusbar pomoću xsetroot -name
 
  
<pre>conky | while read -r; do xsetroot -name "$REPLY"; done &
+
=Korištenje=
exec dwm </pre>
+
  
Da bi to radilo potrebno je natjerati Conky da radi output samo u konzoli
+
==Pokretanje==
  
<pre>out_to_console yes
+
U terminal je potrebno upisati ncmpcpp
out_to_x no
+
background no
+
update_interval 2
+
total_run_times 0
+
use_spacer none
+
  
TEXT
+
==Definiranje kontrolnih tipaka==
$mpd_smart :: ${cpu cpu1}% / ${cpu cpu2}%  ${loadavg 1} ${loadavg 2 3} :: ${acpitemp}c :: $memperc% ($mem) :: ${downspeed eth0}K/s ${upspeed eth0}K/s :: ${time %a %b %d %I:%M%P} </pre>
+
  
=Osnovno korištenje=
+
Sve kontrolne tipke se ispisuju na zaslonu ukoliko se pritisne 1, no moguće je i izmjeniti kontrole kako bi odgovarale isključivo vašim potrebama.
 +
Kako bi bili u mogučnosti redefinirati kontrole potrebno je kopirati /usr/share/doc/ncmpcpp/keys u ~/.ncmpcpp te izmjeniti u željenom tekst editoru.
  
==Dmenu==
+
==Pogledi==
Dmenu je vrlo koristan dodatak za DWM. Kvalitetnijji je i brži nego standardni drop-down izbornici paketa. Radi na principu automatskog dovršavanja te upisivanjem imena paketa.Za pokretanje treba pritisnuti MOD1 + P ( MOD1 tipka je standardno Alt tipka).Kombinaciju možete dakako promjeniti prema vlastitom izboru.Osobno, nekako mi je praktičnije da to bude Win tipka + spacebar.
+
  
==Kontroliranje prozora==
+
ncmpcpp nudi nekoliko raznih pogleda, evo i kombinacija za njih
Micanje prozora sa jednog taga n a drugi tag je vrlo jednostavno.Dovedite prozor u stanje levitiranja mišem ( dovedite kurzor miša nad prozor te kliknite na njega) pa zatim odradtite kombinaciju tipaka Shift+Alt+x gdje je x broj taga na koj želite postaviti prozor.
+
  
==Zatvaranje prozora==
+
    0 - sat
 +
    1 - help
 +
    2 - trenutna playlista
 +
    3 - filesystem browser
 +
    4 - pretraga po bazi
 +
    5 - library
 +
    6 - playlist editor
 +
    7 - tag editor (vrlo moćan)
 +
    9 - visualizer
  
Za zatvarenje prozora pritisnite Shift+Mod1+C
+
==Ostale UI kontrole==
  
==Raspored prozora==
+
    \ - mjenja između tradicionalnog i modernog pogleda
 +
    # - prikazuje bitrate
 +
    i - informacije o pjesmi
 +
    I - prikazuje informacije o izvođaću (sprema pod ~/.ncmpvpp/artists/ARTIST.txt)
 +
    L - traži tekstove pjesme po bazama tekstova (bilo online ili lokalno)
 +
    l - pokazuje tekst pjesme koja trenutno svira
  
Nativno će DWM raditi u tiling modu. To možete primjetiti promatrajući stare prozore kako postaju manji i manji kako se otvaraju novi prozori.
+
==Playback modovi==
Prozori će zajedno zauzeti cijeli display umenjen za statusnu traku.Uz tiling mod postoje nativno još dvije opcije, floating i monocle.
+
Floating je naćin rada sa prozorima na koj su navikli korisnici koncencionalnih upravitelja desktopom kako KDE,GNOME,LXDE,XFCE ili pak nekih popularnih upraviteljima prozora( OpenBox,FluxBox,IceWM).Za prebacivanjen u takav naćin rada potrebno je pritisnuti kombinaciju Mod1+F.
+
Za prebacivanje u monocle mod potrebno je pritisnuti Mod1+M.
+
Na statusnoj traci možete provjeri i u kojem ste modu. M je za monocle, F je floating a []= je tiling mod.
+
Za povratakk u tiling mod je kombinacija Mod1+T.
+
  
==Izlazak==
+
    r - repeat mode [r-----]
 
+
    z - random mode [-z----]
Za izlazak je potrebno pritisnuti Shift+Mod1+Q
+
    y - single mode [--s---]
 
+
    R - consume mode [---c--]
 
+
    x - crossfade mode [----x-]
=Dodatne opcije i patchevi=
+
 
+
Na službenoj stranici nalazi se mnoštvo patcheva koji omogučuju nove načine definicija upravljanja prozorima kao logaritamska spirala,gravitacija,Fibonaccieva spirala,bstock,mreža,....
+
Također se na službenj stranici nalazi i vrlo kavlitetno objašnjenje kako primjeniti patcheve pa neću trošiti suvišne redove na to.
+
Nativno će DWM primjeniti isti raspored prozora ne sve agove.Da bi omogučili za svaki tag poseban raspored potrebno je primjeniti patch pertag.
+

Trenutačna izmjena od 13:49, 27. kolovoza 2011.

ncmpcpp

Uvod

Ncmpcpp odnosno ncmpc++ je mpd klient sa UI vrlo sličnim ncmpcovom.Zapravo ncmpcpp je nastao iz ncmpc-a te nudi neke nove mogučnosti kao regularne izraze u tražilici, proširen format pjesama, filtriranje, last.fm podršku, sposobnost za sortiranje pjesama iz lokalnog datotečnog preglednika i druge manje funkcije. Za korištenje je potrebno imati instaliran i podešen mpd jer ncmpcpp i mpd rade zajedno u ovisnosti client/server .

Instalacija

Arch Linux

pacman -S ncmpcpp

Debian i Debian derivati

sudo apt-get install ncmpcpp

Gentoo

emerge -av ncmpcpp

Slackware

Za Slackware postoji nekoliko slackbuild paketa. Pogledati na http://slackbuilds.org/


Osnovna konfiguracija

Nakon instalacije osnovna konfguracijska datoteka se može naću pod /usr/share/doc/ncmpcpp/config. Potrebno je unutar /home/user kreirati mapu .ncmpcpp u kojoj će se nalaziti konfiguracija playera.


mkdir ~/.ncmpcpp

U nju se spremi kratka konfiguracijska datoteka koju ste napisali ili kopirate i izmjenite konfiguracijsku datoteku iz /usr/share/doc/ncmpcpp/config.

Primjer konfiguracijske datoteke

####################################################
## this is example configuration file, copy it to ##
## ~/.ncmpcpp/config and set up your preferences ##
####################################################
#
##### connection settings #####
#
## set it in order to make tag editor and renaming files work properly
#
#mpd_host = "localhost"
#
#mpd_port = "6600"
#
mpd_music_dir = "/home/lutherus/Music"
#
#mpd_connection_timeout = "5"
#
#mpd_crossfade_time = "5"
#
#mpd_communication_mode = "polling" (polling/notifications)
#
##### music visualizer #####
##
## Note: In order to make music visualizer work you'll
## need to use mpd fifo output, whose format parameter
## has to be set to 44100:16:1. Example configuration:
## (it has to be put into mpd.conf)
##
audio_output {
type "fifo"
name "My FIFO"
path "/tmp/mpd.fifo"
format "44100:16:1"
}
##
#
visualizer_fifo_path = "/tmp/mpd.fifo"
#
##
## Note: Below parameter is needed for ncmpcpp
## to determine which output provides data for
## visualizer and thus allow syncing between
## visualization and sound as currently there
## are some problems with it.
##
#
visualizer_output_name = "fifo"
#
##
## Note: To enable spectrum frequency visualization
## you need to compile ncmpcpp with fftw3 support.
##
#
visualizer_type = "wave" (spectrum/wave)
#
##### delays #####

playlist_disable_highlight_delay = "5"

##### song format #####

song_status_format = "%a \"%b\" - {%t}|{%f}"
song_library_format = "{%n - }{%t}|{%f}"
now_playing_prefix = "$r$b"
now_playing_suffix = "$/b$/r"
song_columns_list_format = "(7f)[white]{l} (25)[white]{a} (40)[]{b} (30)[white]{t}"

##### various settings #####

execute_on_song_change = ""
playlist_shorten_total_times = "yes"
playlist_display_mode = "columns" (classic/columns)
browser_display_mode = "columns" (classic/columns)
discard_colors_if_item_is_selected = "yes"
incremental_seeking = "yes"
seek_time = "1"
autocenter_mode = "no"
centered_cursor = "yes"
progressbar_look = "=>"
media_library_left_column = "a" (possible values: a,y,g,c,p, legend above)
default_find_mode = "wrapped" (wrapped/normal)
default_space_mode = "add" (add/select)
default_tag_editor_left_col = "albums" (albums/dirs)
default_tag_editor_pattern = "%n - %t"
header_visibility = "yes"
statusbar_visibility = "yes"
titles_visibility = "yes"
header_text_scrolling = "yes"
fancy_scrolling = "yes"
cyclic_scrolling = "yes"
lines_scrolled = "2"
startup_screen = "2"
jump_to_now_playing_song_at_start = "yes"
ask_before_clearing_main_playlist = "no"
ignore_leading_the = "yes"
mouse_support = "no"
mouse_list_scroll_whole_page = "yes"

##### colors definitions #####

colors_enabled = "yes"
empty_tag_color = "cyan"
main_window_color = "white"
main_window_highlight_color = "white"
progressbar_color = "magenta"
active_column_color = "green" 

Vizualizacija

Upotreba vizualizacije je omogućena uz fftw paket.Arch korisnicima je na raspolaganje stavljen gotov paket ncmpcpp-fftw dok ostali moraju kompajlirati fftw (oko 2 minute posla; 1:39 minuta odlazi na ./configure i čekanje) Jednom kad je instaliran treba otvoriti mpd.conf datoteku; vim /etc/mpd.conf te dodati sljedeću sekciju


audio_output {
    type                    "fifo"
    name                    "my_fifo"
    path                    "/tmp/mpd.fifo"
} 

Također dodatne linije treba dodati i u ~/.ncmpcpp/config


visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "1"
#visualizer_type = "wave" (spectrum/wave)
visualizer_type = "spectrum" (spectrum/wave) 


Korištenje

Pokretanje

U terminal je potrebno upisati ncmpcpp

Definiranje kontrolnih tipaka

Sve kontrolne tipke se ispisuju na zaslonu ukoliko se pritisne 1, no moguće je i izmjeniti kontrole kako bi odgovarale isključivo vašim potrebama. Kako bi bili u mogučnosti redefinirati kontrole potrebno je kopirati /usr/share/doc/ncmpcpp/keys u ~/.ncmpcpp te izmjeniti u željenom tekst editoru.

Pogledi

ncmpcpp nudi nekoliko raznih pogleda, evo i kombinacija za njih

   0 - sat
   1 - help
   2 - trenutna playlista
   3 - filesystem browser
   4 - pretraga po bazi
   5 - library
   6 - playlist editor
   7 - tag editor (vrlo moćan)
   9 - visualizer 

Ostale UI kontrole

   \ - mjenja između tradicionalnog i modernog pogleda
   # - prikazuje bitrate 
   i - informacije o pjesmi
   I - prikazuje informacije o izvođaću (sprema pod ~/.ncmpvpp/artists/ARTIST.txt)
   L - traži tekstove pjesme po bazama tekstova (bilo online ili lokalno)
   l - pokazuje tekst pjesme koja trenutno svira

Playback modovi

   r - repeat mode [r-----]
   z - random mode [-z----]
   y - single mode [--s---]
   R - consume mode [---c--]
   x - crossfade mode [----x-]