Szybkie włączanie playlist MPD

Korzystając z dzisiejszego dnia wolnego postanowiłem pogrzebać trochę w systemie. Uporządkowałem więc problemy z dźwiękiem, które pojawiły się po zainstalowaniu KDE. Problem był taki, że dźwięk mogła odtwarzać tylko jedna aplikacja w danej chwili. Rozwiązanie było dość proste bo wystarczyło zainstalować PulseAudio i przekierować na niego cały dźwięk.

Tak czy inaczej pomyślałem sobie, że fajnie byłoby móc szybko wybrać sobie szybko playlistę utworów i zacząć ją odtwarzać najszybciej jak się da. Kto lubi czekać aż włączy się program do odtwarzania muzyki? Jasną jest sprawą, że prędkość zależy od programu 🙂 W tej sprawie Music Player Daemon [MPD] jest nie do pobicia. Głównie dlatego, że jest to jedynie serwer dźwięku bez żadnego graficznego zatem nie ładuje żadnych zbędnych bibliotek. Prawdę mówiąc to działa dokładnie jako serwer i jedyna możliwość jego obsługi to podłączenie się do niego poprzez program klienta. Klientów jest bardzo wiele. W większości są to programy używające jakiegoś ładnego GUI co sprawia, że są wygodne i działają w sumie podobnie do zwykłych programów do odtwarzania audio jak Windows Media Player, Amarok czy Rhythmbox [oraz wiele innych :)].

Najbardziej interesujące jest jednak narzędzie konsolowe do obsługi tegoż serwera. Działa natychmiastowo zatem włączenie serwera i rozpoczęcie odtwarzania muzyki to kwestia kilku poleceń. Ale co szybszego jest w odpalaniu konsoli i wklepywaniu poleceń? NIC! Dlatego trzeba to trochę zautomatyzować by było lepiej i wygodniej. Prowadzi do tego bardzo długa droga składająca się z dwóch kroków:

  1. Utworzenie pliku uruchamiającego demona mpd (jeśli jeszcze nie działa) oraz wyświetlającego wszystkie nasze playlisty.
  2. Dodanie globalnego (dla systemu) skrótu klawiszowego do uruchomienia tego skryptu.

Najpierw należy utworzyć skrypt gdzieś na domyślnej ścieżce wyszukiwania systemu. Ja dodałem do zmiennej PATH katalog ~/.bin dzięki czemu wystarczyło utworzyć plik:

touch ~/.bin/mpdplaylist
chmod +x ~/.bin/mpdplaylist

Do pliku wpiszmy kilka poleceń:

#!/bin/bash

MPDPID=`pgrep mpd`
if [ ! -z $MPDPID ]
then
 echo Uruchamiam mpd...
 mpd
fi

LISTY=`mpc lsplaylists`
LISTA=`zenity --list --text "Proszę wybrać listę:" --column "Listy" $LISTY`

if [ -z $LISTA ]
then
 exit
fi

mpc clear
mpc load $LISTA

mpc shuffle
mpc play

W powyższym skrypcie najpierw sprawdzamy czy jest uruchomiony MPD. Jeśli nie to go uruchamiamy. Jeśli tak to pobieramy wszystkie playlisty oraz wyświetlamy okienko, w którym będziemy mogli wybrać tę do odtwarzania. Jeżeli lista nie zostanie wybrana to nic nie zmieniamy i kończymy skrypt.

Później czyścimy aktualną listę odtwarzania i ładujemy wybraną. Na koniec mieszamy utwory (aby nie słuchać ich zawsze w tej samej kolejności) i uruchamiamy odtwarzanie.

Ostatnim krokiem do szczęścia jest ustawienie globalnego skrótu klawiszowego. W KDE4 należy uruchomić Ustawienia Systemowe > Skróty i gesty >Własne skróty i tam dodać odpowiedni skrót uruchamiający nasz skrypt.

W efekcie otrzymujemy okienko:

WAŻNE: do działania skrypt potrzebuje programu zenity!

Takie rozwiązanie sprawy pozwala niemalże natychmiast rozpocząć odtwarzanie ulubionych utworów. W razie gdybyśmy chcieli posłuchać innej playlisty wystarczy znów wcisnąć skrót i wybrać ją z proponowanych.

Można by jeszcze utworzyć podobny skrypt tylko do wyświetlania wszystkich utworów na danej playliście żeby skoczyć do odtwarzania go. Wówczas dałoby się powiedzieć, że sam system działa jak odtwarzacz multimediów… Zwłaszcza jeśli połączy się go z przełącznikiem utworów na pasku zadań  😉

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s