Some recent projects for my DJ mix hobby
May 13, 2020

While the lockdowns have been going on, and I haven’t been working (I’ll probably blog about that soon), I’ve been keeping busy with other projects.
I’ve picked up a new hobby of doing some DJ mixes, streaming them on internet radio, and recording them for sharing with friends.  This has led me to building some tooling around all of this stuff that I think, for a small population, might find useful.


Supbox: A tool to get the currently playing track from Rekordbox v6.


json-scrobbler: Monitor a JSON file with track data in it, and scrobble the track to Last.FM when it changes.


Markcast: Turn a directory of MP3 files into Markdown files, using the ID3 information.


Some info about each
Supbox
I’ve done a couple live mixes on The Bat Station and I like the idea of being able to share the metadata of the currently playing track.  With the DJ software I use, Pioneer’s Rekordbox, there’s no way to do that.  So I built a tool that can detect tracks and write the metadata to files so other things can do things with it.  Specifically I built it in for use with Rogue Ameba’s Audio Hijack, the tool I use for streaming to The Bat Station.  But I also added support for OBS because it’s so huge with live video streaming these days due to the lockdown.  It can also just write to a generic JSON file so any other tool can take that data and run with it.
json-scrobbler
Speaking of another tool taking that JSON file and running with it, this tool simply monitors a JSON file of track information and then scrobbles the track to Last.FM so you can share what you’re listening to and keep aggregate listening stats.  I made it to work as a companion to Supbox so I can scrobble while I play music in Rekordbox.
Markcast
I built this to simplify distributing recordings I make.  Ultimately in the form of blog posts and Podcasts.  I use a Static Site Generator (specifically Hugo) to generate this web site.  It takes a bunch of Markdown files and builds a web site out of it.  It also renders a RSS feed.  So I thought I’d use that as a jumping off point to add a section of my site for mixes I’m doing while in lockdown, as well as generate a RSS feed that people can use to subscribe to this as a Podcast.
So it goes through each MP3 file, reads the ID3 information, and creates Markdown files that include a blurb of text extracted from the commend tag, the image, and sets the genre as a tag in the post.  It also embeds a link to the audio in an audio html tag so you can just play it directly.
Also, as a bonus if you’re a Rekordbox user, if you save and record your sets using that software, Markcast will use the accompanying cue file and add a playlist and approximate time to the post you generate.
Check out some examples by clicking on one of the mix titles.