<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://scrobblerd.sourceforge.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>scrobblerd - YASoPS to stream submit and listen to music</title>
 <link>http://scrobblerd.sourceforge.net</link>
 <description></description>
 <language>en</language>
<item>
 <title>Welcome to scrobblerd 0.2. - the README</title>
 <link>http://scrobblerd.sourceforge.net/?q=node/1</link>
 <description>&lt;p&gt;This is YASoPS (yet another another set of Perl scripts) written for an user&#039;s personal mp3 streaming needs.&lt;/p&gt;
&lt;p&gt;What I wanted was:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;streaming music to wherever I am&lt;/li&gt;
&lt;li&gt;submit metadata to audioscrobbler&lt;/li&gt;
&lt;li&gt;a frugal but functional system to manage the playlist which is streamed from wherever I am&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And here is what I have come up with:&lt;/p&gt;
&lt;h2&gt;The submitter (scrobblerd)&lt;/h2&gt;
&lt;p&gt;There are a couple of submitter plugins for &lt;a href=&quot;http://www.last.fm/help/plugin/&quot;&gt;Audioscrobbler&lt;/a&gt; out there.&lt;/p&gt;
&lt;p&gt;
All of them are player specific (e.g. amarok, xmms...). Different from that, the intention here is to provide a more general utility, which can be used in conjunction with a broad variety of existing solutions for playing and streaming audio.
&lt;/p&gt;
&lt;p&gt;The perl script developed here sits in the background as daemon and reacts on changes on a cue file, which contains path and filename of the audio file, which is currently playing. Thus, every audio-player/-streamer which is able to produce such a simple cue file will do, for instance most of the icecast/shoutcast compatible shouters. Especially for streaming audio the &#039;revolutionary&#039; feature is that the submitter is residing on the server instead of plugging into the player (1). Thus, one is freed from the need to install plugins on every player one is using (if a plugin exists that is).
&lt;/p&gt;
&lt;p&gt;
The script is designed with extensibility in mind to do whatever one might want to do with metadata from the audio file which is currently playing. For instance it may be extended to thumbnail and submit a cover image to a configurable web-host - the sky is the limit...
&lt;/p&gt;
&lt;h2&gt;The shouter (asshout)&lt;/h2&gt;
&lt;p&gt;ASshout streams mp3s to every ice/shoutcast compatible server (I use litestream). It takes a given playlist (simple `find . -iname &#039;*mp3&#039; &gt; playlist` format) and builds a new playlist according to audioscrobblers &#039;similar artists&#039; when the list is down to a configurable number of entries (similar to a functionality provided by Amarok). ASshout takes care of changing the cue file for scrobblerd and it does not recode any mp3 - because that is not feasible on the setup which I use: A debianized &lt;a href=&quot;http://www.nslu2-linux.org/wiki/DebianSlug/HomePage&quot;&gt;nslu2&lt;/a&gt; (fascinating project, spend some 60 Euro to get a quiet computer for your living room).&lt;/p&gt;
&lt;h2&gt;The web front end (tgui.cgi)&lt;/h2&gt;
&lt;p&gt;If you have a properly tagged mp3 collection organized neatly on the harddisk as well (artist/album/track directory structure), this is for you. The cgi script does everything one may want to do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;browse by artist and by artist/album&lt;/li&gt;
&lt;li&gt;create queue (for asshout)&lt;/li&gt;
&lt;li&gt;write playlists&lt;/li&gt;
&lt;li&gt;edit playlists&lt;/li&gt;
&lt;li&gt;shuffle playlists&lt;/li&gt;
&lt;li&gt;add playlists to queue&lt;/li&gt;
&lt;li&gt;start/stop streamer&lt;/li&gt;
&lt;li&gt;display cover art (has to be in the album&#039;s folder&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The script uses a cache mechanism, so it should be reasonably fast, even though it is not written with speed in mind.&lt;/p&gt;
&lt;p&gt;Keep in mind that using tcgui.cgi is far from secure, so be sure to protect it by some access restriction (I use the web server&#039;s authentification). This is meant for personal use, so multi user stuff is not on the todo list.&lt;/p&gt;
&lt;p&gt;
One final note. Asshout reads its MP3 metadata from a flat table in simple tab delimited format. This replaces the sqlite database from the previous version. A script which produces this file is also included (mkflatdb), but I have built in the routines to build this database from the web frontend (tgui.cgi).
&lt;/p&gt;
&lt;p&gt;
The whole thing works for me on the debianized nslu2, I am not a programmer and happy to include every improvement (or even rewrite) you will send. Please drop me a note in the unlikely event that you consider to use this on a regular basis, I may then have to apply for a special client id at audioscrobblers (now it is &#039;tst&#039;, which is reserved for testing).
&lt;/p&gt;
&lt;p&gt;
&lt;font size=&quot;-2&quot;&gt;(1) Logic is added to the script which conforms to audioscrobblers policy, namely the rule that files are only to be submitted after a certain listening time.&lt;/font&gt;
&lt;/p&gt;
</description>
 <comments>http://scrobblerd.sourceforge.net/?q=node/1#comment</comments>
 <pubDate>Fri, 12 May 2006 21:24:25 +0000</pubDate>
 <dc:creator>snauth</dc:creator>
 <guid isPermaLink="false">1 at http://scrobblerd.sourceforge.net</guid>
</item>
</channel>
</rss>
