Page 1 of 1

[TIP] Utilizzare mpd con i tasti multimediali

Posted: Wed Feb 14, 2007 11:20 am
by mouser
Buongiorno a tutti :D

Giorno nuovo, tip nuovo.
Spesso abbiamo visto tip su come fare il bind dei tasti multimediali delle attuali tastiere (play/pause, stop, precedente, successivo) per comandare programmi quali xmms; così come molto spesso andiamo ad utilizzare programmi come Amarok/Listen per non avere finestre in giro che rompono le scatole o per visualizzare la traccia attualmente in esecuzione.
Bhè, vi dimostrerò che con xbindkeys, mpd, mpc, xosd ed un pizzico di bash-magic 8) possiamo sopperire completamente a questa mancanza :D

Due paroline prima di tutto sui programmi in questione:
- xbindkeys: questo sw permette di eseguire il bind (cattura) di qualsiasi tasto (anche quelli multimediali) della tastiera e di associarne delle operazioni (in genere esecuzione di comandi)
- mpd: non lo conoscevo fino a quando non l'ho provato e mi ci sono innamorato. Music Player Daemon altro non è che un sw di riproduzione audio. La particolarità è che è un demone che si occupa di eseguire/stoppare/ecc. la musica. Questo permette di mantenere una distinzione tra il riproduttore musicale e l'interfaccia per gestirlo; in pratica potete avere interfacce grafiche, in ncurses o di testo per gestire la musica e se queste interfacce dovessero crashare (o, perchè no, crashare direttamente X) non dovrete interrompere l'esecuzione della musica :D
- mpc: un tool da riga di comando per gestire mpd :wink:
- xosd: questo software si occupa di scrivere direttamente sullo schermo testo contenuto in un file

Iniziamo dunque:

Code: Select all

# emerge -av mpd xbindkeys mpc xosd
Finito ricordiamoci di impostare nel file di conf di mpd la directory nella quale teniamo la musica

Code: Select all

# cat /etc/mpd.conf
...
music_directory                 "/home/mouser/Musica"
...
e di caricare il db delle canzoni

Code: Select all

# mpd --create-db && /etc/init.d/mpd restart
Aggiungiamo infine tutte le nostre canzoni alla playlist (io in genere faccio così, magari potreste voler ogni volta scegliere la vostra musica)

Code: Select all

# mpc listall | while read line ; do mpc add "$line" ; done
Adesso scarichiamo ed copiamo in posto eseguibile questo script:

Code: Select all

# wget http://mouser.altervista.org/software/gentoo/mpdhk
# chmod +x mpdhk
# chown root:root mpdhk
# mv mpdhk /usr/bin/
A questo punto lanciamo

Code: Select all

$ touch ~/.xbindkeysrc && xbindkeys -k
e catturiamo i segnali per i tasti multimediali.
Ognugno andiamo ad inserirlo nel file di conf di xbindkeys e riavviamo il tutto.
Ecco come appare a me il file:

Code: Select all

$ cat ~/.xbindkeysrc
"/usr/bin/mpdhk playpause"
    m:0x0 + c:162

"/usr/bin/mpdhk stop"
    m:0x0 + c:164

"/usr/bin/mpdhk prev"
    m:0x0 + c:144

"/usr/bin/mpdhk next"
    m:0x0 + c:153
Vediamo quindi che io ho 4 tasti: Play/Pausa, Stop, Traccia Precedente, Traccia Successiva

Riavviamo quindi xbindkeys

Code: Select all

$ pkill xbindkeys && xbindkeys
Adesso, premendo i tasti multimediali comanderemo mpd per le operazioni che ci interessano ed avremo scritto
sullo schermo quale canzone stiamo ascoltanto

Ciriciao
mouser :wink:

Posted: Thu Feb 15, 2007 9:47 am
by gutter
Tempo fa avevo fatto qualche scrippettino per il mio asus per comandare MPD.

Sono un pochino più rozzi ;) ma li posto lo stesso.

http://somemixedstuff.blogspot.com/2006 ... tkeys.html
http://somemixedstuff.blogspot.com/2006 ... sited.html