Skip to content

EatSleepProgramRepeat/CDPrintable

Repository files navigation

CDPrintable

GitHub License GitHub Release GitHub Issues GitHub Forks GitHub Stars GitHub Workflow Status

CDPrintable is a lightweight, easy-to-use program for generating and printing labels with CD track listings for your CD collection.

🎯 Features

  • 🔍 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.

🚀 Getting Started

Prerequisites

  • Java 22 or higher
  • Internet connection (For gradle downloads and MusicBrainz API requests)

Installation

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

Building from Source

1. Clone the repo (Linux & Windows):

git clone https://github.com/EatSleepProgramRepeat/CDPrintable.git
cd CDPrintable

Build and run using Gradle (Linux)

./gradlew build shadowJar
cd build/libs
java -jar CDPrintable.jar # This may have a different name when generated by gradle. Find the right one.

Build and run using Gradle (Windows)

./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

✨ Usage

  1. 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.
  2. Type a query into the text box.
  3. Click the search button.
  4. Voilà! You should see a table of results.

⚙️ Configuration

Settings Page

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.

Configuration File

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

🛠️ Built With

📦 Roadmap

  • Add more settings to the settings page.
  • Printer communication.
  • Search for albums, releases, and CDStubs by artists.

📜 License

This project is licensed under the GNU GPL-3.0 License - see the LICENSE file for details.

About

This program makes a label for your CD cases that has all of the track listings. It can print this info out for you.

Topics

Resources

License

Stars

Watchers

Forks

Languages