RSS Amplifier

naff.dev · Mar 15, 2025

Adding Album Anniversaries to your Org Agenda from Beets

0
Sign in to vote or save

naff.dev

I was working on writing up my Heath Robinson-esque system for listening to music, when I realised I’d missed a trick. I enjoy celebrating the anniversaries of albums I especially like. There’s a sentimentality of listening through them and thinking back to the context in which they were released—even if that was before I was born. However, I’m terrible at remembering the dates, and usually discover I’ve missed them when I glance at the metadata of the currently playing track a few weeks later.

Some time ago I wrote a small shell script that queries Beets to tell me what albums had their anniversary today. This was useful, but I quickly fell out of the habit of running it. One place I do check daily, though, is my Org Agenda. I was planning to write something to integrate Beets into Org mode, but it turns out it’s even easier than that. The following shell command will get Beets to output an Org file with all of your albums’ anniversaries in it:

beet ls -f "* \$albumartist - \$album (\$original_year)
<\$original_year-\$original_month-\$original_day +1y>" -a

All you need to do is pipe the output to a file and add it to your list of agenda files.

The specified format looks like this, for example:

* Boards of Canada - Hi Scores (1996)
<1996-12-01 +1y>

The headline, which will appear in your agenda views, gives the album artist and title, along with the year in which it was initially released so you can get an idea as to how old the album is. The full original release date is specified as a recurring timestamp under the headline. I chose the original release dates, because many of my albums are repressings from decades later, and the date of the repressing is much less interesting.

This isn’t a terribly complicated setup and won’t be relevant to many people, but I’m looking forward to using it.

Read the original on naff.dev

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.