xmpd/DEV.md
MCorange 193029d4e1
Some checks failed
Continuous integration / build (push) Waiting to run
Continuous integration / Rustfmt (push) Failing after 1m28s
Continuous integration / Clippy (push) Has been cancelled
Added initial CI
2024-10-11 02:17:27 +03:00

86 lines
2.6 KiB
Markdown

# Developer notes
## TODO'S
Todo types:
[FEAT] \[loc\](/src/...) - Feature, mandatory location
[BUG] \[loc\](/src/...) - Bugfix, mandatory location
[GIT] \[loc\](/src/...) - Git related feature, optional location
Todos that have been merged have to add `**DONE**` prefix to the type
### #0
**DONE** ~~[FEAT] - [side_nav](/src/ui/gui/components/mod.rs)
Add dropdown menu for `side_nav` playlist~~
### #1
[FEAT] - [gui](/src/ui/gui/)
Move theme selection to a settings panel
### #2
[FEAT] - [gui](/src/ui/gui/)
Better styling
### #3
[FEAT] - [gui](/src/ui/gui/)
Add music player footer
### #4
[FEAT] - [gui](/src/ui/gui/components/song_list/mod.rs)
Add numbers to `song_list` table
### #5
[FEAT] - [NEW](/src/)
Add music player logic
### #6
[FEAT] - [manifest](/src/manifest/mod.rs)
Add support for images by possibly storing the images in json or custom format
### #7
[FEAT] - [*global*](/src/)
Transition application into a globally installed application by default from a
standalone one, moving default paths and using [#10](#10):
| Type | Unix path | Windows path |
|--------------|--------------------------------|--------------------------------|
| config | `~/.config/mcmg/config.json` | `%AppData%/mcmg/config.json` |
| manifest | `~/.config/mcmg/manifest.json` | `%AppData%/mcmg/manifest.json` |
| music-output | `~/Music/mcmg/*` | `%userprofile%/Music/mcmg/*` |
### #8
[FEAT] - [cli](/src/ui/cli/mod.rs)
add missing commands that are available via gui
- Downloading single songs, from the manifest and standalone as an utility
- removing playlists, single songs
### #9
[BUG] - [utils](/src/util.rs)
Fix `isatty` not working correctly on windows
### #10
[FEAT] - [utils](/src/util.rs)
Add an utility to detect if this is ran as a standalone application
### #11
[FEAT] - [downloader](/src/downloader.rs)
Refractor downloader for better readability and usage
### #12
[GIT]
Add ci that runs clippy and builds in release mode
### #13
[FEAT] - [assets](/assets/)
Make new icons for the app, preferably svg, except the app icon must be both svg and png
### #14
[FEAT] - [manifest](/src/manifest/) [downloader](/src/downloader.rs)
Add custom type for downloading, one for simple http downloads, and archived ones (zip, 7z, etc)
### #15
[FEAT] - [dependencies](/Cargo.toml)
Clean up dependencies, remove unneeded features for executable size
### #16
[FEAT] - [song_list](/src/ui/gui/components/song_list/mod.rs)
Add a checkmark or an X depending on if the song is downloaded to disk