Tekstovi Projekti Autor


local.fm - kreiranje statistike na osnovu pesama koje slušate


[datum] 2011-05-13

Poslednjih par dana razmišljam o Last.fm servisu i onome što čini za nas. Poprilično je zanimljivo ponekad pogledati statistiku naših navika i pesama koje puštamo iznova i iznova... No budući da neki ljudi ne vole Last.fm, odlučio sam da napravim skriptu koja će da sakuplja podatke na vašem računaru.

Prvo ću da vam dam da vidite rezultat onoga što sam danas radio: /pub/ostalo/local.fm-stat.html. Simpatično zar ne?

Želim da objasnim da pod "sakuplja podatke" mislim na to da se prilikom promene pesme, u vašem programu za puštanje pesama (u bilo kom formatu), lokalno čuva informacija o pesmi koju ste preslušali. Evo i logike same skripte:


Jednostavno deluje zar ne? Naravno, postoje začkoljice u celom procesu. Ja trenutno razvijam skriptu koristeći music on console (mocp) program međutim treba dodati parametre za druge programe takođe. Verujem da ovo neće biti teško zato što se sve svodi na jednostavne upite, koje šaljemo programu, i filtriranje istih. Evo primera za mocp koji se nalazi u samoj local.fm.sh skripti:
sleep 2 && mocp --info | grep "Title:" | grep -v "SongTitle" | cut -c8- >> "$STAT_FILE"

Čekamo 2s da pesma počne pa onda puštamo skriptu da ubaci ime izvođača u ~/.local.fm_stat. Jednostavno je kao što se vidi no teži deo posla je prikupljanje opcija sa više programa i filtriranje njihovih izlaza.

Inače, ako se pitate zašto se izlaz tako filtrira, evo vam primer izlaznih informacija za mocp --info komandu:
State: PLAY
File: /home/djura-san/podaci/muzika/techno_i_trance/marc_simz_-_forbidden_city.mp3
Title: Marc Simz - Forbidden City
Artist: Marc Simz
SongTitle: Forbidden City
Album:
TotalTime: 09:18
TimeLeft: 00:03
TotalSec: 558
CurrentTime: 09:15
CurrentSec: 555
Bitrate: 320kbps
AvgBitrate: 325kbps
Rate: 44kHz

Haos kao što se da videti.

Elem pogledaću za druge aplikacije i programe kako da izvedem ovo što sam izveo sa mocp programom a zatim ću da kačim ažuriranu verziju skripte na:


p.s. Ukoliko pišete lepše skripte, drago mi je zbog vas ali ne osuđujte moj prvi pokušaj da napišem skriptu od nule nakon toliko meseci. Iovako su sve moje skripte "skrnave" i poprilično nikakve ali rade posao u 99% slučajeva :


vrh strane ↑


Ukoliko nije drugačije naglašeno, sav sadržaj na ovom sajtu je pod WTFPL (v2) licencom
2008-danas djura-san