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" / >
2022-11-14 14:54:36 +00:00
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
2022-11-14 14:54:36 +00:00
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.
2023-03-12 14:16:44 +00:00
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
2022-11-16 09:30:00 +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
2022-11-16 09:30:00 +00:00
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 )
2023-03-13 13:14:25 +00:00
- 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