From 7836add8bd588525b5e5b4be6b2320245cb47bd5 Mon Sep 17 00:00:00 2001 From: "jonas h." Date: Thu, 2 Jul 2026 20:59:00 +0200 Subject: [PATCH] add readme --- README.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf2e80e --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# SJNmusic + +SJNmusic is a self-hosted music library and playback system with a local daemon, command-line interface, and graphical user interface. + +It is designed to provide a fast and lightweight way to manage a personal music collection, create playlists, and control playback from multiple clients. + +## Features + +* Local music library +* Fast fuzzy search +* Playlist management +* Playback queue +* HTTP daemon (`sjnmusicd`) +* Command-line client (`sjnmusic`) +* Graphical user interface +* Asynchronous downloads +* Local metadata database +* Shuffle and repeat modes +* Playback history and statistics +* JSON output for scripting and automation + +## Components + +| Component | Description | +| ----------- | ---------------------------------------------------------------- | +| `sjnmusicd` | Background daemon responsible for the music library and playback | +| `sjnmusic` | Command-line client communicating with the daemon | +| GUI | Graphical interface for everyday use | + +## Installation + +Currently there are no official packages. + +Clone the repository and build using Cargo: + +```bash +git clone +cd SJNmusic +cargo build --release +``` + +## Basic Usage + +Start the daemon: + +```bash +target/release/sjnmusicd +``` + +Show all songs: + +```bash +cli/sjnmusic songs +``` + +Play a song: + +```bash +cli/sjnmusic play "Haftbefehl - RADW" +``` + +Create a playlist: + +```bash +cli/sjnmusic pl-new "Deutschrap" +``` + +Show playback status: + +```bash +cli/sjnmusic status +``` + +## Download Support + +SJNmusic can optionally use external tools such as `yt-dlp` to import media into the local music library. + +Downloaded media becomes part of the user's local library and can then be searched, organized, and played like any other local file. + +SJNmusic itself does **not** provide, host, distribute, or include any copyrighted media. + +## Legal Notice + +Users are solely responsible for ensuring that any media they access or download complies with applicable copyright laws and the terms of service of the platforms they use. + +SJNmusic is a general-purpose music management application. It is intended for managing media that the user is legally permitted to access and store. + +## Project Status + +SJNmusic is currently under active development. + +Interfaces, commands, APIs, and file formats may change between releases. + +Bug reports, feature requests, and pull requests are welcome. + +## License + +This project is licensed under the MIT License.