CRISTIAN RENOSTO← All projects

Project

CueMyMusic

A desktop music player built around the DJ cue-point concept: walk it, talk it.

What it does

Run it locally

Compile and launch (Maven wrapper downloads itself)

./mvnw javafx:run

Compile only

./mvnw clean compile

Documentation

A desktop music player built around the DJ cue-point concept — walk it, talk it. JavaFX interface with a three-pane layout, a global dark theme and auto-sizing windows, driven by a Maven build.

Status: interface prototype

The application starts, draws every screen and navigates correctly. It does not play audio and reads no data: library, playlists, history and queue stay empty. This is stated first because it is the single most useful thing to know before reading the code.

Requirements

Component Version
JDK 21
JavaFX 21.0.1
Maven 3.6.3 (via ./mvnw, downloaded on first run)
System Desktop Linux / macOS / Windows with a display (X11 or Wayland)

On Linux, JavaFX needs the native GTK3 libraries. The application cannot run headless.

Run

./mvnw javafx:run        # compiles and launches
./mvnw clean compile     # compile only
./mvnw clean package     # produces a NON-runnable jar

The jar from package is not runnable on purpose of a missing Main-Class: distribution would need jpackage or jlink.

What works

  • Startup, FXML loading, login → main navigation
  • The dark theme, applied globally and to dialogs
  • Fullscreen handling and initial window auto-sizing

What is not implemented

  • Audio playback (the javafx-media dependency is present, no MediaPlayer uses it)
  • Library, playlists, history, queue — no data, and no mock data either
  • Login: both options lead to the same screen. There is no authentication, and the chosen mode is not remembered

Structure

Three Java files and three FXML/CSS resources: App.java (entry point and navigation), LoginController.java, MainController.java, login.fxml, main.fxml, styles.css.

Full detail in the repository README and in Code_Explanation.md.