CDPrintable is a lightweight, easy-to-use program for generating and printing labels with CD track listings for your CD collection.
- 🔍 Automatically fetches and tables information from the MusicBrainz database.
- 🖨️ Generates a printable image with the track listings.
- 📦 Portable and easy to use on most desktop operating systems.
- 💱 Changeable user agents.
- 🧠 Saves configurations in a JSON file.
- Java 22 or higher
- Internet connection (For gradle downloads and MusicBrainz API requests)
I recommend using the jar file provided in releases. You may compile the source code yourself, but I find it way easier to just use the jar. Here is the command for Linux and Windows that will run the jar:
java -jar CDPrintable.jar
git clone https://github.com/EatSleepProgramRepeat/CDPrintable.git
cd CDPrintable
./gradlew build shadowJar
cd build/libs
java -jar CDPrintable.jar # This may have a different name when generated by gradle. Find the right one.
./gradlew.bat build shadowJar
cd build/libs
@rem This may have a different name when generated by gradle. Find the right one.
java -jar CDPrintable.jar
- Change the dropdown at the bottom of the screen to:
- 'CDStub' to search for a CD by its album name.
- 'Artist' to search for an artist by their name.
- 'Release' to search for a release (ex. a physical or digital album, etc.) by its name.
- Type a query into the text box.
- Click the search button.
- Voilà! You should see a table of results.
The settings page contains many options such as user agent customization and printer font settings. This page is not done yet, so expect more settings as the program develops.
The configuration file is located in the users home directory in a subdirectory called 'CDPrintable'. The configuration file is a JSON file that contains the following fields:
userAgent
: The user agent that the program will use to make requests to the MusicBrainz API.printerFont
: The font that the program will use to print the labels.printerFontSize
: The font size that the program will use to print the labels.userAgentEmail
: The email that the program will use to make requests to the MusicBrainz API. TODO
- Java - The programming language used.
- Gradle - Dependency Management, building, testing, and running.
- Javax.Swing - GUI framework.
- MusicBrainz API - The API used to fetch data.
- Google Gson - JSON parsing.
- Add more settings to the settings page.
- Printer communication.
- Search for albums, releases, and CDStubs by artists.
This project is licensed under the GNU GPL-3.0 License - see the LICENSE file for details.