<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/pandoracapture/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/pandoracapture/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 25 Aug 2013 23:04:02 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/pandoracapture/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Timothy Miles</title><link>https://sourceforge.net/p/pandoracapture/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -6,5 +6,7 @@

 LastFm works the same way, except that they send MP3 files, so I don't have to convert them.

+For both Pandora and LastFm, [UltraId3Lib](http://home.fuse.net/honnert/UltraID3Lib/) is used to set the tags.  This project (currently) only supports up to Id3v2.3 tags, so the ffmpeg command line for Pandora has to have a switch set to force it to use v2.3 tags.
+
 [[members limit=20]]
 [[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Timothy Miles</dc:creator><pubDate>Sun, 25 Aug 2013 23:04:02 -0000</pubDate><guid>https://sourceforge.netd70a8ca638abee0480e3a56c8d7842bf9b9f2487</guid></item><item><title>Home modified by Timothy Miles</title><link>https://sourceforge.net/p/pandoracapture/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,10 @@
-Welcome to your wiki!
+PandoraCapture was written to record streaming audio from [Pandora](http://www.pandora.com) and later was extended to include [LastFm](http://www.last.fm).  It uses [FiddlerCore](http://fiddler2.com/fiddlercore) as a proxy server to capture all traffic and then watches for Pandora's audio metadata XML file.  This file is broken into segments and stored in memory in a dictionary keyed to the URL of each audio file.

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+One of the caveats is that the URL Pandora lists in the XML is not quite the same URL that is actually used to retrieve the audio.  The URL contains a base64 encoded token of some sort, and the last few bytes differ.  So I take the incoming audio URLs, strip about 50 characters from the end, and then compare my list of URLs to the remaining characters, stripping each one down to the same length.

-The wiki uses [Markdown](/p/pandoracapture/wiki/markdown_syntax/) syntax.
+Once I have determined that a particular audio stream belongs to a particular fragment of the XML, I save the file as an M4A file and save the XML fragment alongside it.  If [FFmpeg](http://ffmpeg.zeranoe.com/builds/) is installed, I then start another thread that uses FFmpeg to convert the M4A file to an MP3 file.  That thread uses the XML to set the appropriate tags in the MP3 file, including a comment tag that includes the full XML fragment, just in case I ever need it again.  It then deletes the M4A file.
+
+LastFm works the same way, except that they send MP3 files, so I don't have to convert them.

 [[members limit=20]]
 [[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Timothy Miles</dc:creator><pubDate>Sun, 25 Aug 2013 23:00:17 -0000</pubDate><guid>https://sourceforge.neta1fe02a893682e003bf459ce6dd37290bcd6085b</guid></item><item><title>Home modified by Timothy Miles</title><link>https://sourceforge.net/p/pandoracapture/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/pandoracapture/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/programmertim/"&gt;Timothy Miles&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-52198fb704161f4965dcc84e" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Timothy Miles</dc:creator><pubDate>Sun, 25 Aug 2013 05:01:43 -0000</pubDate><guid>https://sourceforge.net3fa51877d9bfb5e551af495c4de449ecd09f6221</guid></item></channel></rss>