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-mediadependency is present, noMediaPlayeruses 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.