Отдал бы и ползарплаты! Войти !bnw Сегодня Клубы
Как прикрутить к mplayer скробблер?
#J4U8SB / @rynffoll / 4577 дней назад

‰ cat ~/bin/m2f #!/bin/sh mplayer "$@" | mplayerfm ‰ cat ~/bin/mplayerfm #!/bin/bash scrobble() { data=`mid3v2 "$1" | egrep -a "^(TIT2|TPE1|TALB)="` title="`gettag TIT2 <<< "$data"`" album="`gettag TALB <<< "$data"`" artist="`gettag TPE1 <<< "$data"`" lastfm.pl "$artist" "$title" "$album" 180 } gettag() { sed -n "s/^$1=p;s/\_/g" } m="`mktemp -d`" tee >({ sed -rune 's/^(Playing|Воспроизведение) (.*)\.$/\2/p' | while read a; do grep -q 'http://' <<< "$a" && { httpfs "$a" "$m" scrobble "$m"/* fusermount -u "$m" } || { scrobble "$a" } done; }) rmdir "$m"
#J4U8SB/FJH / @l29ah / 4577 дней назад
@l29ah ‰ cat ~/bin/lastfm.pl #!/usr/bin/perl # ~/.config/lastfm looks like this: # login = 'vpupkin'; # password = 'mycoolpassword'; $hs_url = "http://post.audioscrobbler.com/"; $client_id = "lsd"; $client_version = "1.0.4"; $debug = 1; use LWP::UserAgent; use Digest::MD5 qw(md5_hex); use URI::Escape; die "Usage: lastfm.pl <artist> <title> <album> <length>" unless $#ARGV==3; $ua = LWP::UserAgent->new; do "$ENV{HOME}/.config/lastfm"; foreach ("login", "password") { die "No $_ in ~/.config/lastfm" unless ${$_}; } my $resp = $ua->get($hs_url."?hs=true&p=1.1&c=$client_id&v=$client_version&u=$login"); die "Unable to handshake with $hs_url" unless $resp->is_success; ($status, $token, $url, $int) = split(/\n/, $resp->content, 4); print "Status: $status\nHash: $hash\nUrl: $url\n$int" if $debug; die "Handshake failed, server returned: $status=\n" unless $status =~ /UP(TO)?DATE/; $hash = md5_hex(md5_hex($password).$token); @t = gmtime(); $req_str = "u=$login&s=$hash&a[0]=".uri_escape($ARGV[0]).'&t[0]='.uri_escape($ARGV[1]).'&b[0]='.uri_escape($ARGV[2]).'&m[0]=&l[0]='.uri_escape($ARGV[3]).'&i[0]='.uri_escape(sprintf('%04d-%02d-%02d %02d:%02d:%02d', $t[5] + 1900, $t[4] + 1, @t[3, 2, 1, 0])); print "$req_str\n" if $debug; my $req = HTTP::Request->new(POST=>$url); $req->content_type('application/x-www-form-urlencoded'); $req->content($req_str); $resp = $ua->request($req); ($status, $int) = split(/\n/, $resp->content, 2); print "Server returned: $status\n" if $debug; die "Scrobble failed, server returned: $status\n" unless $status == "OK";
#J4U8SB/A6Y / @l29ah --> #J4U8SB/FJH / 4577 дней назад
@l29ah Если использовать плейлист, то все скробблится после окончания прослушивания, а хотелось бы после каждого трека. Как такое запилить?
#J4U8SB/203 / @rynffoll --> #J4U8SB/FJH / 4576 дней назад
@rynffoll Мне кажется, ты врёшь.
#J4U8SB/QLT / @l29ah --> #J4U8SB/203 / 4576 дней назад
@l29ah Играет плейлист с Mono, а ластик ничего еще не знает.
#J4U8SB/OSB / @rynffoll --> #J4U8SB/QLT / 4576 дней назад
@rynffoll Где-то что-то нужно нажать, чтобы не буферизовало. У меня нет времени фиксить.
#J4U8SB/K3Z / @l29ah --> #J4U8SB/203 / 4576 дней назад
@l29ah Ок. Потыкаю.
#J4U8SB/5KB / @rynffoll --> #J4U8SB/K3Z / 4576 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.