Tunes
С июня 2009 года Juick поддерживает Jabber-расширение XEP-0118, позволяющее уведомлять свой ростер о том, какую музыку слушает пользователь в данный момент. Эта информация выводится в профиле пользователя вместе с текущим статусом и может быть прикреплена к телу поста при указании тега *tune.
Проверенные клиенты:
- Psi+ (публикует содержимое файла ~/.psi/tune)
- jabber-el + juick-el (подробности тут)
В веб-интерфейсе имеется страница со списком композиций, которые сейчас слушают пользователи.
Более подробно на примере Psi/Psi+
Принцип работы этого функционала следующий:
- В плеер ставится плагин, который пишет инфо о проигрываемой песне в файл, который потом ПСИх считывает и отправляет твоим контактам если конечно на сервере поддерживается эта функция.
- Для медиаплеера foobar2000 скачать плагин (У автора этого плагина более подробное английское описание, см. ссылку). Установить и настроить пути и оформить вывод инфо песни, там просто.
- Для медиаплеера Rhythmbox скачать плагин.
- Музыкальный плеер QMMP для GNU/Linux сразу имеет встроенный модуль уведомлений. Его просто нужно включить и Psi+ сможет читать Ваши тюнсы.
- Для музыкального плеера Audacious необходимо включить модуль Song Change, потом в появившемся дополнительном меню на запуск песни прописать выполнение python-скрипта:
python ~/.config/audacious/psitune.py
Соответственно, скрипт должен находиться по указанному пути. Содержание скрипта:
import os, time, commands, sys from math import * title=commands.getoutput("audtool2 current-song-tuple-data title") artist=commands.getoutput("audtool2 current-song-tuple-data artist") album=commands.getoutput("audtool2 current-song-tuple-data album") track=commands.getoutput("audtool2 current-song-tuple-data track-number") time=commands.getoutput("audtool2 current-song-tuple-data length") time=str(int(floor(float(time)/1000))) f=open("~/.psi/tune", "w") f.write(title+"\n"+artist+"\n"+album+"\n"+track+"\n"+time) f.close() sys.exit()
- Файл, который читает windows-версия Psi+ лежит C:\Documents and Settings\username\PsiData\tune (это текстовый файл без расширения).
- Посмотреть, что Psi видит файл и считывает инфо можно наведя курсор на личный JID, где в всплывающем балуне будет отображаться инфо из файла. Либо можно открыть свой VCARD и перейти на вкладку Status.
Ну а затем самое главное, чтобы ваш сервер поддерживал необходимые XEP, которые обеспечивают поддержку передачи инфо tune непосредственно в Жуйку. А именно:
Ну а если есть желание попробовать запостить tune не выискивая правильный сервер, то можно попробовать через XML-консоль отправить tune вручную, принудительно.
<message to='juick@juick.com'> <event xmlns="http://jabber.org/protocol/pubsub#event"> <items node="http://jabber.org/protocol/tune" > <item id="current" > <tune xmlns="http://jabber.org/protocol/tune"> <artist>Ария и К.</artist> <source>Избранное</source> <title>Уси-Пуси</title> </tune> </item> </items> </event> </message>
Список правильных серверов, которые я знаю:
- myjabber.ru (Сам не проверял, но сервис PubSub в наличии)
- www.jtalk.ru (Сам не проверял, но сервис PubSub в наличии)
- www.jabr.ru (Сам не проверял, но сервис PubSub в наличии)
Большой список правильных серверов можете найти на странице Jabber: PEP
Поддержку необходимых нам XEP обеспечивает платформа ejabberd, ее список поддерживаемых XEP. А также Openfire и Tigase.
Как метод поиска правильных серверов с приятными вам доменами с последующей обязательной проверкой, можно использовать поиском по строке 'pubsub' в списках серверов:
- http://www.jtalk.ru/?a=serverlist (русские домены)
- http://www.jtalk.ru/?a=serverlist&l=all (все в куче)
Вот как сразу видеть наглядно правильную поддержку tune в Psi+.
juick jabber soft