Отправка статистики на last.fm для MOC: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
(Создана новая страница размером Для работы требует настроенный '''lastfmsubmitd'''. В конфигурационном файле необхо...)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
Для работы требует настроенный '''lastfmsubmitd'''. В конфигурационном файле необходимо изменить параметр OnSongChange на
Для работы требует настроенный '''lastfmsubmitd'''. В конфигурационном файле необходимо изменить параметр OnSongChange на


'''OnSongChange            = "/home/rain/.moc/mocsubmit.sh "%a" "%r" "%t" "%d" &"''' (заменить имя пользователя и путь к скрипту на свое)
OnSongChange            = "/home/rain/.moc/mocsubmit.sh "%a" "%r" "%t" "%d" &"
 
заменить имя пользователя и путь к скрипту на свое
 
Если в течение 15 секунд все еще продолжает играть та же песня - статистика отправляется на last.fm. Баги: если быстро переключиться на другую песню, а потом снова на первую либо просто несколько раз запустить воспроизведение одной и той же песни - будут засчитаны лишние сабмиты.
 
В дополнение, скрипт позволяет организовать остановку воспроизведения после проигрывания текущей композиции. Для этого добавьте в конфигурационный файл строки:
 
ExecCommand1            = "touch /home/rain/.moc/sacs.lock"
ExecCommand2            = "rm -f /home/rain/.moc/sacs.lock"
 
Пути заменить на свои. По F1 включается режим остановки, по F2 - отключается. Баги: если по какой-то причине файлик при запуске плеера уже был (как вариант - была включена остановка на последнем треке в плейлисте) - воспроизведение остановится после первой же композиции


----
----
Строка 29: Строка 40:
</source>
</source>


{{ToDo|Сделать более адекватное опознание реального прослушивания песни}}


[[Category:Music On Console]][[Category:Скрипт]]
[[Category:Music On Console]][[Category:Скрипт]]

Текущая версия на 20:56, 12 апреля 2009

Для работы требует настроенный lastfmsubmitd. В конфигурационном файле необходимо изменить параметр OnSongChange на

OnSongChange            = "/home/rain/.moc/mocsubmit.sh "%a" "%r" "%t" "%d" &"

заменить имя пользователя и путь к скрипту на свое

Если в течение 15 секунд все еще продолжает играть та же песня - статистика отправляется на last.fm. Баги: если быстро переключиться на другую песню, а потом снова на первую либо просто несколько раз запустить воспроизведение одной и той же песни - будут засчитаны лишние сабмиты.

В дополнение, скрипт позволяет организовать остановку воспроизведения после проигрывания текущей композиции. Для этого добавьте в конфигурационный файл строки:

ExecCommand1            = "touch /home/rain/.moc/sacs.lock"
ExecCommand2            = "rm -f /home/rain/.moc/sacs.lock"

Пути заменить на свои. По F1 включается режим остановки, по F2 - отключается. Баги: если по какой-то причине файлик при запуске плеера уже был (как вариант - была включена остановка на последнем треке в плейлисте) - воспроизведение остановится после первой же композиции


#!/bin/bash
# By Rain ;)

if [ -e "${HOME}/.moc/sacs.lock" ]; then
        mocp -s
        rm -f "${HOME}/.moc/sacs.lock"
        exit 0
fi

if [ ! -x /usr/lib/lastfmsubmitd/lastfmsubmit ]
        then
        echo 'Error: /usr/lib/lastfmsubmitd/lastfmsubmit not found'
        exit 1
fi

sleep 15

if [ "${1}${3}${2}" == "$(mocp -i | awk -F': ' '/^Artist|^Album|^SongTitle/{print $2}' | tr -d '\n')" ]
        then
        /usr/lib/lastfmsubmitd/lastfmsubmit --encoding "UTF8" --artist "${1}" --title "${3}" --length "${4}" --album "${2}"
fi
ToDo: Сделать более адекватное опознание реального прослушивания песни