- In The Bleak Midwinter — Kith & Kin
- Jed’s Other Poem (Beautiful Ground) — Jason Lytle
- The Ballad of Mr. Steak — Kishi Bashi
- Baby, We’d Be Rich (Cuss Version) — Old Man Luedecke
- Arms I Know So Well — Emma Ruth Rundle
- One Nation Under A Brolly — Trixie’s Big Red Motorbike
- Guantanamera — Holly Near, Arlo Guthrie, Ronnie Gilbert, Pete Seeger
- Takeshi and Elijah — The Music Tapes
- Gone Beyond — Akron/Family
- Green, Green Rocky Road — Dave Van Ronk
- Same Old Man — Holy Modal Rounders
- One More Robot/Sympathy 3000-21 (Album Version) — The Flaming Lips
- Oh God, Where Are You Now? (In Pickeral Lake? Pigeon? Marquette? Mackinaw?) — Sufjan Stevens
- Thumbtacks and Glue — Woodpigeon
- Long John — Holy Modal Rounders
- The First Day of Winter — Ivy Mairi
- Baby Bluejay — Poopy Lungstuffing
- A Pickle and Two Pearl Onions — The Golden Motors
- Delicate Cycle — The Uncluded
- Tongues — Ty Segall & White Fence
- Plastic Jesus — The Flaming Lips
- Highwire — Tall Tall Trees
- Roo-Buh-Doo-Buh-Doo — The Statesmen
- Nitrous Gas — Frightened Rabbit
- John Hardy — Silver Apples
- Water Fountain — Tune-Yards
- The Ghost in You — Robyn Hitchcock
- Since Yesterday — Strawberry Switchblade
- When the Levee Breaks — Memphis Minnie
- Un — Y Niwl
- I Wear Black — Ty Segall & Mikal Cronin
- Never Let Me Go — Basia Bulat
- Stop Error — John K. Samson
- Desiree — The Left Banke
- friend — bo en
- Forked Deer — Sheesham and Lotus
- Send Them Kids to War — The Burns Unit
- Shanzhai (For Shanzhai Biennial) [feat. Helen Feng] — Fatima Al Qadiri
- 8 bit Blues (Chicago to LA to NY) — Kid Koala
- Biscuit Roller — Peter Laughner
- Walking on the Moon — The Police
- aisatsana — Aphex Twin
Creating a playlist with XML::XSPF is pretty logical: create a new track object for each new track, then feed an array of these tracks into the playlist object. It took me a couple of hours of fiddling about (and much use of Data::Dumper::Simple, the plain man’s guide to tortuous data structures) to find that out.
The end result is this:
id32xspf – create XSPF playlist to stdout from a list of MP3s with ID3v2 tags.
It’s intended for use on a local directory of MP3s, which will subsequently be uploaded to a website. It uses MP3::Info to do the tag work.
It has some limitations:
- every file must have ID3v2 tags.
- it doesn’t handle file:// locations at all well, as their syntax is system-dependent. You’ll probably have to use the --urlbase option. For example, for Unix systems for local files in the current directory, I find -u file://`pwd`/ works well.
- it doesn’t include track numbers, as I didn’t know that XSPF supported them.
- it doesn’t create track artwork links, as this isn’t included in ID3 data.
One slightly amusing caveat about the XSPF Web Music Player is that it doesn’t understand the rate of some of lame‘s more amusing VBR presets. If you feed it files from the voice preset (56kbit, mono, resampled to 32000Hz), the results sound like Pinky & Perky …