Releases: onnowhere/youtube_music_playlist_downloader
Releases · onnowhere/youtube_music_playlist_downloader
1.4.0
Changelog:
- Upgrade yt-dlp to version 2025.1.15 to fix issues with downloading
- Add threading support
- Add config file option
use_threading
: Whether to use threading for faster song downloading and updating at the cost of more CPU and memory usage (default:true
) - Add config file option
thread_count
: Number of threads to use for threading - if set to 0, this value will be dynamically determined (default:0
)
1.3.3
Changelog:
- Upgrade yt-dlp to version 2024.3.10
- Fixes HTTP 400 bug with downloading through yt-dlp
- Add config file option
retain_missing_order
: Whether to retain the current order of missing or deleted songs if a local copy exists or move them to the end of the album (default:false
)
1.3.2
1.3.1
Changelog:
- Updated lyrics support for finer lyrics selection
- Removed config file option
lyrics_lang
- Added config file option
lyrics_langs
: A list of language codes in order of priority to determine which lyrics to select if any are unavailable - leave empty for automatic selection (default:[]
)- Language codes support regex and are matched to the full string, for example:
"en.*"
is interpreted as"^en.*$"
before regex matching - Example:
["en.*", "ja"]
means select the first language with prefixen
, else select the language that exactly matchesja
if it exists
- Language codes support regex and are matched to the full string, for example:
- Added config file option
strict_lang_match
: Whether to avoid selecting lyrics automatically given no language matches (default:false
) - Adjust errors and messages regarding lyrics
- Fixed bug with incorrect track number matching when updating a single song
1.3.0
Changelog:
- Added lyrics support by automatically download subtitles and converting into synced and unsynced lyrics in mp3 metadata
- If a music playback program supports it, synced and unsynced lyrics will be displayed
- Synced lyrics will be highlighted live line by line to sync to the current timestamp in the song
- Note that Apple Music does not support custom synced lyrics (an arbitrary limitation) and will only display the unsynced lyrics
- An example desktop program that supports displaying synced lyrics: https://www.getmusicbee.com/
- Added config file option
include_metadata
->lyrics
: Include lyrics metadata (default:true
) - Added config file option
lyrics_lang
: The language code to get lyrics for - leave empty for automatic selection (default: "") - Added config file option
overrides
: A mapping of custom individual song config overrides - additional entries can be added for each song[video_id]
: A mapping of overridden config values for this specific song - a unique alphanumeric YouTube video id...
: All config values from above are valid here with exception tourl
,reverse_playlist
,sync_folder_name
, andoverrides
- Config options provided will override the default options for particular songs
- A default example labelled
EXAMPLE_VIDEO_ID_HERE
will be prepopulated with the same config options as the base config options
- Added option to forcefully update all metadata for a single song in a playlist
- Fix missing error message when YouTube returns "This video is not available"
- Fix nested config options not copying properly
- Fix 403 error when downloading with yt-dlp
1.2.3
Changelog:
- Add config file option
image_format
: The song cover art image format - for better quality but larger file size, use"png"
(default:"jpeg"
) - Add config file option
include_metadata
: A mapping of metadata fields and whether to include them in song metadatatitle
: Include title metadata (default:true
)cover
: Include cover art (default:true
)track
: Include track number metadata (default:true
)artist
: Include artist metadata (default:true
)album
: Include album metadata (default:true
)date
: Include date metadata (default:true
)
- Separate update and modify settings options to allow for quick updates without additional questions
- Fix force update not working
1.2.2
Changelog:
- Add config file option
sync_folder_name
: Whether to automatically sync the name of the playlist folder to the YouTube playlist name (default:true
) - Add config file option
audio_quality
: The audio quality to be used by yt-dlp while converting audio formats (default:"5"
) - Add config file option
cookie_file
: The path to the cookie file for yt-dlp to use (default:""
) - Add config file option
cookies_from_browser
: The name of the browser to load cookies from for yt-dlp to use (default:""
) - Add option to change target folder path to main menu
- Adjust wording when script finishes executing to better indicate that
Enter
will return to main menu - Fix non-mp3 audio codec failing to properly index due to metadata error
1.2.1
1.2.0
Changelog:
- Modified menu design
- Program will now run in single playlist mode if the current working directory contains
.playlist_config.json
- Added option to generate an album folder with a default config file for initial set up before downloading
- Track number and video id are now checked via data stored in the file metadata instead of the file name
- Added option to use title instead of track name for title metadata field
- Added option to forcefully update file names and metadata for all songs in an album folder
- Added support for custom name formatting in config using yt-dlp output template format
- Added option to disable including track number in name formatting
- Added config options to modify the format and codec used by yt-dlp to download the song
- Added config option to enable verbose debug messages from yt-dlp
- Added YouTube link and upload date to metadata
- Added double Ctrl+C to quit program
- Better error handling
UPDATING TO 1.2.0
This update changes how video IDs are saved to the song files. In order to update existing album folders to be supported in this version without redownloading the playlist, please download and run the updater script in the parent folder containing your album folders:
An additional optional script has also been provided in any scenario where you may need to download a single song with the proper URL metadata included to be able to be inserted into any album folder and be recognized by the program when updating the album.
1.1.0
Changelog:
- Add option to update existing playlists
- Add option to use either the playlist name or per-song album name as the metadata album name
- Add option to use either the uploader or the artist name if available as the metadata artist name
- A config file is now created in playlist folders to store data for ease of playlist updating
- Better handling for unavailable videos such as if they are private or deleted
- Better handling for updating metadata