Merge branch 'add_config_file_location' into 'main'

Add config file location to README.md

See merge request team-zotify/zotify!14
This commit is contained in:
Tim Leathart 2023-08-10 08:26:02 +00:00
commit f0784160d9
1 changed files with 54 additions and 46 deletions

100
README.md
View File

@ -6,7 +6,7 @@
<img src="https://i.imgur.com/hGXQWSl.png" width="50%">
</p>
### Featues
### Features
- Downloads at up to 320kbps*
- Downloads directly from the source**
- Downloads podcasts, playlists, liked songs, albums, artists, singles.
@ -50,60 +50,68 @@ Basic options:
### Options
All these options can either be configured in the config or via the commandline, in case of both the commandline-option has higher priority.
All these options can either be configured in the config or via the commandline, in case of both the commandline-option has higher priority.
By default, the `config.json` file is in the following location:
| OS | Path |
| ------- | ------------------------------------ |
| Windows | ~/AppData/Roaming/Zotify |
| macOS | ~/Library/Application Support/Zotify |
| Linux | ~/.config/zotify |
Be aware you have to set boolean values in the commandline like this: `--download-real-time=True`
| Key (config) | commandline parameter | Description
|------------------------------|----------------------------------|---------------------------------------------------------------------|
| CREDENTIALS_LOCATION | --credentials-location | The location of the credentials.json
| OUTPUT | --output | The output location/format (see below)
| SONG_ARCHIVE | --song-archive | The song_archive file for SKIP_PREVIOUSLY_DOWNLOADED
| ROOT_PATH | --root-path | Directory where Zotify saves music
| ROOT_PODCAST_PATH | --root-podcast-path | Directory where Zotify saves podcasts
| SPLIT_ALBUM_DISCS | --split-album-discs | Saves each disk in its own folder
| DOWNLOAD_LYRICS | --download-lyrics | Downloads synced lyrics in .lrc format, uses unsynced as fallback.
| MD_ALLGENRES | --md-allgenres | Save all relevant genres in metadata
| MD_GENREDELIMITER | --md-genredelimiter | Delimiter character used to split genres in metadata
| DOWNLOAD_FORMAT | --download-format | The download audio format (aac, fdk_aac, m4a, mp3, ogg, opus, vorbis)
| DOWNLOAD_QUALITY | --download-quality | Audio quality of downloaded songs (normal, high, very_high*)
| TRANSCODE_BITRATE | --transcode-bitrate | Overwrite the bitrate for ffmpeg encoding
| SKIP_EXISTING_FILES | --skip-existing-files | Skip songs with the same name
| SKIP_PREVIOUSLY_DOWNLOADED | --skip-previously-downloaded | Use a song_archive file to skip previously downloaded songs
| RETRY_ATTEMPTS | --retry-attempts | Number of times Zotify will retry a failed request
| BULK_WAIT_TIME | --bulk-wait-time | The wait time between bulk downloads
| OVERRIDE_AUTO_WAIT | --override-auto-wait | Totally disable wait time between songs with the risk of instability
| CHUNK_SIZE | --chunk-size | Chunk size for downloading
| DOWNLOAD_REAL_TIME | --download-real-time | Downloads songs as fast as they would be played, should prevent account bans.
| LANGUAGE | --language | Language for spotify metadata
| PRINT_SPLASH | --print-splash | Show the Zotify logo at startup
| PRINT_SKIPS | --print-skips | Show messages if a song is being skipped
| PRINT_DOWNLOAD_PROGRESS | --print-download-progress | Show download/playlist progress bars
| PRINT_ERRORS | --print-errors | Show errors
| PRINT_DOWNLOADS | --print-downloads | Print messages when a song is finished downloading
| TEMP_DOWNLOAD_DIR | --temp-download-dir | Download tracks to a temporary directory first
| Key (config) | commandline parameter | Description |
| -------------------------- | ---------------------------- | ----------------------------------------------------------------------------- |
| CREDENTIALS_LOCATION | --credentials-location | The location of the credentials.json |
| OUTPUT | --output | The output location/format (see below) |
| SONG_ARCHIVE | --song-archive | The song_archive file for SKIP_PREVIOUSLY_DOWNLOADED |
| ROOT_PATH | --root-path | Directory where Zotify saves music |
| ROOT_PODCAST_PATH | --root-podcast-path | Directory where Zotify saves podcasts |
| SPLIT_ALBUM_DISCS | --split-album-discs | Saves each disk in its own folder |
| DOWNLOAD_LYRICS | --download-lyrics | Downloads synced lyrics in .lrc format, uses unsynced as fallback. |
| MD_ALLGENRES | --md-allgenres | Save all relevant genres in metadata |
| MD_GENREDELIMITER | --md-genredelimiter | Delimiter character used to split genres in metadata |
| DOWNLOAD_FORMAT | --download-format | The download audio format (aac, fdk_aac, m4a, mp3, ogg, opus, vorbis) |
| DOWNLOAD_QUALITY | --download-quality | Audio quality of downloaded songs (normal, high, very_high*) |
| TRANSCODE_BITRATE | --transcode-bitrate | Overwrite the bitrate for ffmpeg encoding |
| SKIP_EXISTING_FILES | --skip-existing-files | Skip songs with the same name |
| SKIP_PREVIOUSLY_DOWNLOADED | --skip-previously-downloaded | Use a song_archive file to skip previously downloaded songs |
| RETRY_ATTEMPTS | --retry-attempts | Number of times Zotify will retry a failed request |
| BULK_WAIT_TIME | --bulk-wait-time | The wait time between bulk downloads |
| OVERRIDE_AUTO_WAIT | --override-auto-wait | Totally disable wait time between songs with the risk of instability |
| CHUNK_SIZE | --chunk-size | Chunk size for downloading |
| DOWNLOAD_REAL_TIME | --download-real-time | Downloads songs as fast as they would be played, should prevent account bans. |
| LANGUAGE | --language | Language for spotify metadata |
| PRINT_SPLASH | --print-splash | Show the Zotify logo at startup |
| PRINT_SKIPS | --print-skips | Show messages if a song is being skipped |
| PRINT_DOWNLOAD_PROGRESS | --print-download-progress | Show download/playlist progress bars |
| PRINT_ERRORS | --print-errors | Show errors |
| PRINT_DOWNLOADS | --print-downloads | Print messages when a song is finished downloading |
| TEMP_DOWNLOAD_DIR | --temp-download-dir | Download tracks to a temporary directory first |
*very-high is limited to premium only
### Output format
With the option `OUTPUT` (or the commandline parameter `--output`) you can specify the output location and format.
With the option `OUTPUT` (or the commandline parameter `--output`) you can specify the output location and format.
The value is relative to the `ROOT_PATH`/`ROOT_PODCAST_PATH` directory and can contain the following placeholder:
| Placeholder | Description
|-----------------|--------------------------------
| {artist} | The song artist
| {album} | The song album
| {song_name} | The song name
| {release_year} | The song release year
| {disc_number} | The disc number
| {track_number} | The track_number
| {id} | The song id
| {track_id} | The track id
| {ext} | The file extension
| {album_id} | (only when downloading albums) ID of the album
| {album_num} | (only when downloading albums) Incrementing track number
| {playlist} | (only when downloading playlists) Name of the playlist
| {playlist_num} | (only when downloading playlists) Incrementing track number
| Placeholder | Description |
| -------------- | ----------------------------------------------------------- |
| {artist} | The song artist |
| {album} | The song album |
| {song_name} | The song name |
| {release_year} | The song release year |
| {disc_number} | The disc number |
| {track_number} | The track_number |
| {id} | The song id |
| {track_id} | The track id |
| {ext} | The file extension |
| {album_id} | (only when downloading albums) ID of the album |
| {album_num} | (only when downloading albums) Incrementing track number |
| {playlist} | (only when downloading playlists) Name of the playlist |
| {playlist_num} | (only when downloading playlists) Incrementing track number |
Example values could be:
~~~~