You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thank you for considering contributing to the unofficial Deezer Linux port! This document provides guidelines for contributing to the project.
4
+
5
+
## Code of Conduct
6
+
7
+
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
8
+
9
+
## How to Contribute
10
+
11
+
### Reporting Bugs
12
+
13
+
- Before creating an issue, please check if it hasn't been reported already
14
+
- Use the issue template if available
15
+
- Include detailed steps to reproduce the bug
16
+
- Specify your system information (OS, architecture, package type)
17
+
18
+
### Suggesting Enhancements
19
+
20
+
- Use clear and descriptive titles
21
+
- Provide a step-by-step description of the suggested enhancement
22
+
- Explain why this enhancement would be useful
23
+
24
+
### Pull Requests
25
+
26
+
1. Fork the repository
27
+
2. Create a new branch (`git checkout -b feature/your-feature`)
28
+
3. Make your changes
29
+
4. Build one or more packages
30
+
5. Commit your changes (`git commit -m 'feat: Add some feature'`)
31
+
6. Push to the branch (`git push origin feature/your-feature`)
32
+
7. Open a Pull Request
33
+
8. Provide information about the changes made and the packages built and manually tested
34
+
35
+
### Build Requirements
36
+
37
+
Ensure you have all required dependencies:
38
+
39
+
- Node.js (20 recommended)
40
+
- npm
41
+
- 7z
42
+
- make
43
+
- wget
44
+
45
+
## Development Setup
46
+
47
+
```sh
48
+
make install_deps
49
+
```
50
+
51
+
## Patching
52
+
53
+
### Creating a Patch
54
+
55
+
To create a patch, clone the repository and run:
56
+
57
+
```sh
58
+
make patch-new
59
+
```
60
+
61
+
Edit the files you want to change in the `app` directory.
62
+
63
+
> [!TIP]
64
+
> You do not need to generate a patch file to test your changes. Open the `app` folder after running `make patch-new` and make your changes. Then run `make build_{target}_{arch}` to try your changes.
65
+
66
+
When you are done, commit your changes, and then generate the patch:
67
+
68
+
```sh
69
+
make patch-gen
70
+
```
71
+
72
+
The patch will be saved in the `patches` directory. Make sure to rename the patch file to something meaningful and follow the naming convention. Add the patch to the echoed list in the `Makefile`.
73
+
74
+
> [!TIP]
75
+
> If possible, you may want to add a switch to allow the users to use the feature you added or not. Do not forget to [mention it](./README.md#usage).
76
+
77
+
You can now try your patch by building and executing the package:
78
+
79
+
```sh
80
+
make build_{target}_{arch}
81
+
```
82
+
83
+
### Applying a Patch
84
+
85
+
To manually apply a patch, run:
86
+
87
+
```sh
88
+
apply -p1 -dapp < patches/{name}.patch
89
+
```
90
+
91
+
> [!NOTE]
92
+
> Deezer does not provide all the information needed to implement some features.
93
+
>
94
+
> Deezer provides:
95
+
>
96
+
> - Player state (playing, paused)
97
+
> - Track metadata (title, artist, album, cover URL, duration, and more)
98
+
> - Shuffle and repeat state
99
+
>
100
+
> Deezer does not provide:
101
+
>
102
+
> - Track position
103
+
104
+
## Updating
105
+
106
+
### Updating the Source Executable
107
+
108
+
_This section is automated via GitHub Actions, but can be done manually._
0 commit comments