Reverse Engineering is not dead
Apr 21st, 2007 by ShaunO
Having recently purchased a modern MP3 player (my old one is a small – albeit very useful – brick, an Archos Jukebox Multimedia 20 ) I very quickly ran into that old gem ‘the good thing about standards are there are so many of them’. Interoperability continues to be more hype, it seems, than reality. This I suspect will continue to help the open source community with adoption of their software as they seem to have more focus on interoperability than the commercial sector.
Anyway with shiny new iRiver S10 in USB slot I quickly realised that the various comments around the Internet that the iRiver software was very average were very true. With MusicMatch now bought by Yahoo! and iTunes (which I quite like) ‘device dumb’ to most but iP*ds I recently trawled upon Media Monkey. Media Monkey is not only a good free (the basic version) mp3 library & player but has generic support for almost any MP3 player.
So, so far so good, device plugged in and Media Monkey happily recognising it and doing all its sync’ing business. Next step, setup some play-lists for various listening scenarios… oops… ‘interoperability comes unstuck zone’.
Now, it seems that most PC media players use either m3u or pls type playlists (Media Monkey uses m3u), however, on using the iRiver software I find a playlist with a .pla extension on my device and it doesn’t look anything like the contents of a m3u or pls file. So it seems iRiver have decided to have their own (YAPLF – yet another play list format) – mind you I’m not entirely sure this is just an iRiver playlist format but from what I can research around the Internet it kind of looks that way.
With a little more research I find some others have had the same problem (surprise, surprise :-) ). A useful script on the Media Monkey forums promised a script to export playlists out of Media monkey in the .pla format. Alas it didn’t work as my iRiver S10 couldn’t use the files produced. Over on the MysticRiver site a very useful discussion between a few folks seemed to have established the pla internal file format required to have them properly recognised by iRiver players. Another useful standalone tool which turned up in my trawling was LJConvert capable of windows or command line conversion of .m3u to .pla files – and its converted files did work.
So armed with all these bits of information I went ahead and hacked the original script, using the known correct output from LJConvert as a cross-check, so that now I have a working ‘Export all playlists to PLA’ script for Media Monkey to my S10.
Thankfully, with the contributors on the internet one can still reverse engineer stuff and hack together code to get things working how we want them to (and with the programs we choose).
Working Script for Media Monkey 2.5.5.998 and S10 firmware 1.03
Other References:
A Survey of Playlist Formats, Lucas Gonze, 2003 (does not included PLA)
del.icio.us Digg Ma.gnolia StumbleUpon Technorati