Generate labels and case inserts for MiniDisc from description files. Also generate description files and download cover art from SubSonic server (like Navidrome).
- C 97.5%
- Makefile 2.5%
| .clangd | ||
| .gitignore | ||
| album.c | ||
| album.h | ||
| CHANGELOG.md | ||
| fetch-subsonic-album.c | ||
| Makefile | ||
| minidisc-logo.h | ||
| minidisc-logo.svg | ||
| README.md | ||
| render-minidisc.c | ||
MiniDisc Tools
Generate printable PDF artwork for MiniDisc cases and fetch album metadata from Subsonic servers.
This is a C project of mine from a long time ago that I resurrected in 2014. I've since updated it a bit and modernised it somewhat.
Tools
render-minidisc
Generates a PDF containing:
- Spine label - fits the edge of a MiniDisc case
- Disc label - artwork for the disc itself with album art, track count, and total time
- Jewel case insert - track listing with times
Usage: render-minidisc [-o pdffile] [file|-]
-o pdffile path to PDF output
-h show help
Example:
./render-minidisc -o album.pdf album.nfo
fetch-subsonic-album
Fetches album metadata from a Subsonic-compatible server and generates a .nfo file for later use
with render-minidisc.
Usage: fetch-subsonic-album [-h hostname] [-u username] [-p password] album-id
-h hostname hostname for Subsonic server
-u username username for Subsonic
-p password password for Subsonic
album-id Subsonic album ID
The password can also be set via the SUBSONIC_PASSWORD environment variable.
Example:
./fetch-subsonic-album -h music.example.com -u myuser -p mypass al-12345
This creates an .nfo file and downloads the cover art as a png image.
NFO File Format
The .nfo files describe an album for rendering:
ARTIST "Artist Name"
ALBUM "Album Title"
YEAR 2020
COVER "cover_art.png"
TRACK "Track One" 03:45
TRACK "Track Two" 04:12
TRACK "Track Three" 05:30
ARTIST,ALBUM,YEAR- album metadataCOVER- path to png cover art (optional)TRACK- track name in quotes, followed by duration (MM:SSorHH:MM:SS)
Building
Dependencies
cairo(with PDF support)libcurljson-copenssl
On Debian/Ubuntu:
sudo apt-get install libcairo2-dev libcurl4-openssl-dev libjson-c-dev libssl-dev
Compile
make
This builds both render-minidisc and fetch-subsonic-album.