music-kraken-core/README.md

116 lines
3.7 KiB
Markdown
Raw Normal View History

2023-06-23 11:31:49 +00:00
# Music Kraken
2023-02-22 17:56:28 +00:00
2024-04-16 17:09:10 +00:00
[![Woodpecker CI Status](https://ci.elara.ws/api/badges/59/status.svg)](https://ci.elara.ws/repos/59)
2024-05-07 08:37:02 +00:00
<img src="https://gitea.elara.ws/music-kraken/music-kraken-core/media/branch/experimental/assets/logo.svg" width=300 alt="music kraken logo"/>
2024-05-07 06:53:41 +00:00
- [Installation](#installation)
- [Quick-Guide](#quick-guide)
- [How to search properly](#query)
- [CONTRIBUTE](#contribute)
- [Matrix Space](#matrix-space)
2023-02-22 17:56:28 +00:00
---
2022-11-15 16:01:17 +00:00
2022-11-15 09:52:54 +00:00
## Installation
2024-05-07 06:53:41 +00:00
You can find and get this project from either [PyPI](https://pypi.org/project/music-kraken/) as a Python-Package,
or simply the source code from [Gitea](https://gitea.elara.ws/music-kraken/music-kraken-core). **
2022-11-15 09:52:54 +00:00
2024-05-07 08:37:02 +00:00
**NOTES**
- Even though everything **SHOULD** work cross-platform, I have only tested it on Ubuntu.
- If you enjoy this project, feel free to give it a star on GitHub.
2024-01-13 16:20:16 +00:00
### From source
2022-11-15 09:52:54 +00:00
```sh
2024-05-07 06:53:41 +00:00
git clone https://gitea.elara.ws/music-kraken/music-kraken-core.git
python3 -m pip install -e music-kraken-core/
2022-11-15 09:52:54 +00:00
```
2024-05-07 06:53:41 +00:00
To update the program, if installed like this, go into the `music-kraken-core` directory and run `git pull`.
2024-01-13 16:20:16 +00:00
2024-05-07 06:53:41 +00:00
### Get it running on other Systems
2024-01-13 16:20:16 +00:00
2024-05-07 06:53:41 +00:00
Here are the collected issues, that are related to running the program on different systems. If you have any issues, feel free to open a new one.
2024-05-07 06:53:41 +00:00
#### Windows + WSL
2022-11-23 19:07:31 +00:00
2024-05-07 06:53:41 +00:00
Add ` ~/.local/bin` to your `$PATH`. [#2][i2]
2022-11-23 19:07:31 +00:00
2022-11-15 09:52:54 +00:00
## Quick-Guide
2024-04-10 12:09:13 +00:00
The **Genre** you define at the start, is the folder my program will download the files into, as well as the value of the ID3 genre field.
2022-11-15 09:52:54 +00:00
2023-06-12 19:53:40 +00:00
When it drops you into the **shell** 2 main things are important:
1. You search with `s: <query/url>`
2. You choose an option with just the index number of the option
2024-04-10 12:09:13 +00:00
3. You download with `d: <options/url>`, where the options are comma separated
2023-06-12 19:53:40 +00:00
### Query
2024-04-10 12:09:13 +00:00
The syntax for the query is really simple.
2022-11-15 09:52:54 +00:00
2024-04-10 12:09:13 +00:00
```mk
2023-06-23 11:31:49 +00:00
> s: #a <any artist>
2022-11-23 07:37:56 +00:00
searches for the artist <any artist>
2022-11-15 09:52:54 +00:00
2024-04-10 12:09:13 +00:00
> s: #a <any artist> #r <any release>
2022-11-23 07:37:56 +00:00
searches for the release (album) <any release> by the artist <any artist>
2022-11-15 09:52:54 +00:00
2023-06-23 11:31:49 +00:00
> s: #r <any release> Me #t <any track>
2022-11-23 07:37:56 +00:00
searches for the track <any track> from the release <any relaese>
2022-11-15 09:52:54 +00:00
```
2024-04-10 12:09:13 +00:00
The escape character is as usual `\`.
2022-10-14 13:23:47 +00:00
---
2024-05-07 06:53:41 +00:00
## Contribute
2023-02-22 17:56:28 +00:00
I am happy about every pull request. To contribute look [here](contribute.md).
2023-06-23 11:31:49 +00:00
## Matrix Space
2023-02-22 17:56:28 +00:00
2024-04-10 12:09:13 +00:00
<img align="right" alt="music-kraken logo" src="assets/element_logo.png" width=100>
2023-02-22 17:56:28 +00:00
2024-04-10 12:09:13 +00:00
I decided against creating a discord server, due to various communities get often banned from discord. A good and free Alternative are Matrix Spaces. I recommend the use of the Client [Element](https://element.io/download). It is completely open source.
2023-02-22 17:56:28 +00:00
2024-04-10 12:09:13 +00:00
**Click [this invitation](https://matrix.to/#/#music-kraken:matrix.org) _([https://matrix.to/#/#music-kraken:matrix.org](https://matrix.to/#/#music-kraken:matrix.org))_ to join.**
2023-02-22 17:56:28 +00:00
---
2023-02-07 11:00:54 +00:00
# Programming Interface / Use as Library
2023-06-23 11:31:49 +00:00
This application is $100\%$ centered around Data. Thus, the most important thing for working with musik kraken is, to understand how I structured the data.
2023-02-27 13:29:09 +00:00
2023-03-13 12:59:15 +00:00
## Quick Overview
2023-02-27 13:29:09 +00:00
- explanation of the [Data Model](#data-model)
- how to use the [Data Objects](#data-objects)
2024-04-10 12:09:13 +00:00
- further Dokumentation of _hopefully_ [most relevant classes](documentation/objects.md)
- the [old implementation](documentation/old_implementation.md)
2023-01-23 15:57:00 +00:00
2023-02-07 11:00:54 +00:00
```mermaid
2023-02-27 13:29:09 +00:00
---
2023-06-23 11:31:49 +00:00
title: Quick Overview (outdated)
2023-02-27 13:29:09 +00:00
---
2023-02-07 11:00:54 +00:00
sequenceDiagram
participant pg as Page (eg. YouTube, MB, Musify, ...)
participant obj as DataObjects (eg. Song, Artist, ...)
participant db as DataBase
obj ->> db: write
db ->> obj: read
pg -> obj: find a source for any page, for object.
obj -> pg: add more detailed data from according page.
obj -> pg: if available download audio to target.
```
2023-01-23 15:57:00 +00:00
2023-01-13 13:37:15 +00:00
[i10]: https://github.com/HeIIow2/music-downloader/issues/10
2022-11-23 19:13:16 +00:00
[i2]: https://github.com/HeIIow2/music-downloader/issues/2