Deadbeef в Pidgin (now playing script)


Вчера с разочарование установих че плъгина musictracker, който добавя слушаната песен в статуса на pidgin не разпознава deadbeef… Почувствах се пренебрегнат и потърсих решение с помощта на google. Той ме отведе до един (може би) изоставен проект на потребител на мрежата, с име darkguy. За съжаление не можах де се свържа с него, но взех и промених скрипта (който е под gpl 2 лиценз), и резултата е този:


Отново моя десктоп... Цъкни да стане глямо.

При спиране на плеъра статуса се изчиства. Всички промени стават на 30 сек. Времето за обновяване и всички възможни промени съм описал в самия скрипт (На Български и Английски).

За осъществяването на скрипта, са ползвани командите xwininfo и purple-remote, едва ли има линукс дистрибуция, която да няма библиотеките им инсталирани по подразбиране. Ето го и самия скрипт:

#!/bin/sh

#Описание: Добавя песента, изпълнявана от deadbeef към статус Ви в pidgin.
#Script description:Add current song, played with deadbeef to pidgin status.
#Scripts autor: darkguy – http://code.google.com/p/darkguy-apps/
#Edition and Bulgarian text: spacy01 – spacy00001@gmail.com

dbeef()
{
XINFO=`xwininfo -tree -root | grep -i ‘\- deadbeef-0.5.1’` #Проверете и ако е нужно променете версията на плеъра. Check deadbeef version and change it, if you must do.
XINFO=${XINFO#*'“‘}
XINFO=${XINFO%%'“‘*}
XINFO=${XINFO%’ -‘*}
TEXT=’deadbeef изпълнява: ‘ #Този текст може да бъде редактиран, но трябва да остане в единични кавички. Дори и да махнете текста, кавичките трябва да останат. Notes before song and artist, type what You want, if You want, but be careful with the quotes, they must to stay.
if [ -n $XINFO ]; then
XINFO=““
else
XINFO=“$TEXT $XINFO“
fi
/usr/bin/purple-remote „setstatus?status=away&message=$XINFO“ #Тук, освен всичко друго се определя и статуса Ви в pidgin, обърнете внимание на текста away, може да го смените на available, ако искате да е на линия, или с invisible за невидим. In word away is Your status, if You wish, change it on available or invisible.
}

while true
do
dbeef
sleep 30 #Тук е времето за опресняване на информацията, така е на 30 сек. Не го правете по-ниско, защото msn и някои други чат клиенти се сърдят, когато статуса се променя често. Here is update time, on seconds, don’t make it to small, some protocols, like msn, react like on dos attack.
done

Копирайте и запазете като deadbbeef-pidgin.sh. Името не е толкова важно, но е важно да запишете файла с кодировка UTF-8. Кодировката е важна заради кирилицата (Българския). Поради тази причина не давам и готов файл, защото е вероятно браузъра да кодира грешно и българския да стане на „маймуница“ (поне при мен го прави). След това, направете файла изпълним, цъкнете два пъти на него и изберете „Изпълни“, или отворете терминал, вървете в папката на файла и напишете:

sh ./deadbbeef-pidgin.sh &

Пуснете си любимата песен на любимия плеър, отворете pidgin и се насладете на резултата!

P.S. Нали знаете че всичко написано важи само за линукс базирани операционни системи… 🙂

Advertisements

Вашият коментар

Попълнете полетата по-долу или кликнете върху икона, за да влезете:

WordPress.com лого

You are commenting using your WordPress.com account. Log Out / Промяна )

Twitter picture

You are commenting using your Twitter account. Log Out / Промяна )

Facebook photo

You are commenting using your Facebook account. Log Out / Промяна )

Google+ photo

You are commenting using your Google+ account. Log Out / Промяна )

Connecting to %s