Każdy ma swojego ulubionego playera MP3. Za czasów, kiedy korzystałem z Windowsa nie wyobrażałem sobie życia bez Winampa. Po przesiadce na Ubuntu przez pewien czas korzystałem z XMMS, potem z Audaciousa, ale w końcu przekonałem się do MOCa i tak już zostało (nie będe tłumaczył dlaczego, bo nie w tym rzecz).

Poniżej chciałbym pokazać kilka skryptów, które napisałem w związku z powyższym playerem.

Poniższy skrypt o nazwie mocpinfo.sh wyświetla aktualnie odtwarzany utwór w MOCpie. Przydatny, jeśli chcemy takową informację wrzucić na pulpit do Conky’ego :)

#!/bin/bash
q=`mocp --info | grep Artist:`
q=${q#Artist:\ }
w=`mocp --info | grep SongTitle:`
w=${w#SongTitle:\ }
e=`mocp --info | grep AvgBitrate:`
e=${e#AvgBitrate:\ }
if [ "$e" != "" ]; then
echo "MOCP playing:"
echo $q
echo $w
echo $e

Kolejny, delcrap, usuwa aktualnie grany utwór. Przy mojej ilości plików nieraz zdarza się, że poleci coś, co mogłoby już nigdy nie polecieć ;) Wystarczy wpisać w konsoli delcrap i zapomnieć :D

#!/bin/bash
z=`mocp --info | grep File:`
z=${z#File:\ }
mocp --next
sleep 1
rm -v "$z"

Następny umożliwia odtwarzanie pierwszej pozycji z pliku .pls (nie wiem czemu MOC sam w sobie nie chce otwierać tego typu plików bezpośrednio – jest to możliwe dopiero z programu). Szczególnie przydatny do odtwarzania radyj z shoutcast.com. Można go przypisać jako domyślny program do otwierania plików .pls i cieszyć się dwuklikiem na pliku.

#!/bin/bash
#playit
adres=`cat "$1" | grep File1`
mocp --playit "${adres#File1=}"

I drobna modyfikacja powyższego skryptu zaczynająca rippowanie strumienia zawartego w pliku pls do MP3 przy użyciu streamrippera.

#!/bin/bash
#ripit
adres=`cat "$1" | grep File1`
streamripper "${adres#File1=}"

Kolejne dwa skrypty służą do obsługi klawiszy multimedialnych. Jak przypisać skrypt pod konkretny klawisz to temat na osobną notkę, zresztą wszystko powie Wujek Google.

Poniżej zamieszczono skrypt mocp-next.sh. Przeskakuje do kolejnego tracka, czeka sekundę, a nastepnie pobiera informacje o aktualnie granym utworze i wyświetla je na ekranie przy użyciu programu gnome-osd-client.
Jeżeli aktualnie grany utwór nie ma tagów ID3 wyświetla ścieżkę do pliku.

#!/bin/bash
mocp --next  #jesli chcesz przeskoczyc do poprzedniego, powinno byc --previous
sleep 1
q=`mocp --info | grep Artist:`
q=${q#Artist:\ }
w=`mocp --info | grep SongTitle:`
w=${w#SongTitle:\ }
e=`mocp --info | grep AvgBitrate:`
e=${e#AvgBitrate:\ }
 
if [ "$q" = "" ]; then
z=`mocp --info | grep File:`
z=${z#File:\ }
gnome-osd-client "$z $e"
else
gnome-osd-client "$q - $w $e"
fi

Ostatni ze skryptów, plorpa.sh, zaczyna lub pauzuje odtwarzanie w zależności od stanu playera.

#!/bin/bash
q=`mocp --info | grep State:`
q=${q#State:\ }
 
if [ "$q" = "STOP" ]; then
mocp -o shuffle
mocp --play
else
mocp --toggle-pause
fi
Dodano 28/12/2008 o 0:18
Kategoria: Bash, Linux
Tagi: , , ,