I programmed a very simple song history for foobar 0.9. And when I say simple, I mean it - it literally just adds the songs to a special playlist as they are played. But eh, it was a good way to start developing, and I thought maybe somebody can get something off it.

Enable the history in the Library menu, and it'll capture or create the History playlist and collect songs as they are played. Note that as of yet, closing the playlist will destroy the history and you'll get an empty one if you open it up again. Thanks to the magic that is foobar, the history is preserved over program exits, though.

This is stage 1 of the component. It's basically the first version that has some useful features. The next thing will be adding more persistence, ie. keeping a copy of the history playlist when it's disabled. (And continuing to log played songs while the history is ostensibly disabled, ie not visible.) Also, dynamic songs in audio streams are not handled yet, I couldn't get that to work for technical reasons.

The whole thing is not thoroughly tested, so take care and speak up if you encounter a problem. This is my first component! Thanks to foosion for creating the 0.9 SDK tutorial, this component is very much derived from it.