[TIP] Utilizzare mpd con i tasti multimediali
Posted: Wed Feb 14, 2007 11:20 am
Buongiorno a tutti 
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
possiamo sopperire completamente a questa mancanza 
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
- mpc: un tool da riga di comando per gestire mpd
- xosd: questo software si occupa di scrivere direttamente sullo schermo testo contenuto in un file
Iniziamo dunque:
Finito ricordiamoci di impostare nel file di conf di mpd la directory nella quale teniamo la musica
e di caricare il db delle canzoni
Aggiungiamo infine tutte le nostre canzoni alla playlist (io in genere faccio così, magari potreste voler ogni volta scegliere la vostra musica)
Adesso scarichiamo ed copiamo in posto eseguibile questo script:
A questo punto lanciamo
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:
Vediamo quindi che io ho 4 tasti: Play/Pausa, Stop, Traccia Precedente, Traccia Successiva
Riavviamo quindi 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
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
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
- mpc: un tool da riga di comando per gestire mpd
- 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 xosdCode: Select all
# cat /etc/mpd.conf
...
music_directory "/home/mouser/Musica"
...Code: Select all
# mpd --create-db && /etc/init.d/mpd restartCode: Select all
# mpc listall | while read line ; do mpc add "$line" ; doneCode: Select all
# wget http://mouser.altervista.org/software/gentoo/mpdhk
# chmod +x mpdhk
# chown root:root mpdhk
# mv mpdhk /usr/bin/Code: Select all
$ touch ~/.xbindkeysrc && xbindkeys -kOgnugno 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:153Riavviamo quindi xbindkeys
Code: Select all
$ pkill xbindkeys && xbindkeyssullo schermo quale canzone stiamo ascoltanto
Ciriciao
mouser