Seeing this post, I realized that listens per day might be a better metric, and went about rewriting a mIRC addon for iTunes I was using to output this data.
Unfortunately I was predicting a switch to foobar2000 or Songbird in the near future, so the addon is still in beta and is not 100% functional (although it does the bare minimum of outputting the song, artist, total listens, LPD, etc.). A more in-depth discussion after the jump.
My original specifications called for the addon to not only calculate the LPD but use this value to rate the song in addition to several other metrics such as number of times skipped, etc. The drawback being the song’s rating would only update whenever you use the addon while listening to it. There is also the important fact that my rating of the song does not strongly correlate to how often I listen to it. I think Beethoven’s Violin Sonata No. 5 in F major (Spring) is excellent, but I listen to it 0.1 times a day on average, versus a 1.6 LPD for Kawada Mami’s JOINT. In the end I discarded this idea as even compromises such as keeping track of the playlist was getting to be too much when I could just switch players and do a better job of it.
I have heard that Songbird and foobar have programmable columns which would make this process much easier and integrated, however I have not done any actual research on this and the feasibility considering my programming skills. Regardless, if I am able to create complicated column values whose stored values are externally accessible than I’m sure an automated rating system would be possible. (Oh wait, then I would not only have to program my foobar/Songbird, but rewrite whatever mIRC addon I’m using to display the custom values too – I’m really lazy dammit!). Either way, being able to sort by LPD or a custom algorithm would be really nice.
The actual implementation only outputs the LPD in addition to the usual data in the channel and does nothing to the iTunes rating. Another problem is that I have not fixed multibyte character handling. It uses the OS’s native codepage so when I tried to output stuff like Korean characters, they just displayed as question marks. Japanese characters did not fair that well either, as can be seen in Figure 1-1, where one of the names failed to convert. Probably won’t fix it any time soon.

Figure 1-1: Example of output.
Link to addon.
The addon was written for mIRC clients. Simply unzip the folder into your addons folder and it should work with /playmsg.
Update:
Apparently LPD has already been done for foobar! And even better, it seems to be a lot easier than the crap I had to go through trying to program that damn iTunes DLL! I guess its about time I switch primary media players…
first, thx for addon
Now Playing: ????? ??? ??? ?? – ??? ??? ?? ????? ??? ??? (1hr 42mins 14secs @ 320kbps 44100Hz) Playcount: 9001 Value: -5
Hardy har har.
(╬ ಠ益ಠ)
RAGE.
Oh gawd, iTunes. Yea, foobar, etc definitely have more complete and accessible interfaces for these things. I haven’t used foobar in so long, since I don’t use Win anymore and don’t care to run it in wine, but the simple language it has is so damn nice. Now I just use Quod, and basically if there’s anything I need to do I can just mod it in or make a plugin with python… extremely open ^^
Unfortunately, xchat, I made an announce plugin (also python) which listened for quod, but I have no clue where I put it. AFAIR (affair? wut), it was easy enough. foobar has a good mirc interface, so it should just be a matter of using the functions.
Perhaps I should try my hand at this problem in Quod/XChat… Quod already logs song plays and skips, but I wonder about the daily thing.