88 lines
No EOL
3.4 KiB
YAML
88 lines
No EOL
3.4 KiB
YAML
# This example shows how to download and format a Soundcloud artist's
|
|
# discography with tags and album art. We will configure this to make
|
|
# the output directory formatted as:
|
|
#
|
|
# /path/to/music
|
|
# /The Be Sharps
|
|
# /[2020] My first upload
|
|
# 01 - My first upload.mp3
|
|
# folder.jpg
|
|
# /[2021] My first album
|
|
# 01 - Track one.mp3
|
|
# 02 - Track two.mp3
|
|
# folder.jpg
|
|
# /Another artist
|
|
# ...
|
|
#
|
|
configuration:
|
|
working_directory: '.ytdl-sub-downloads'
|
|
|
|
presets:
|
|
soundcloud_discography:
|
|
# Download using the multi_url strategy
|
|
download:
|
|
download_strategy: "multi_url"
|
|
urls:
|
|
# The first URL will be all the artist's tracks.
|
|
# Treat these as singles - an album with a single track
|
|
- url: "{artist_url}/tracks"
|
|
variables:
|
|
track_number: "1"
|
|
track_number_padded: "01"
|
|
track_count: "1"
|
|
album: "{title}"
|
|
album_sanitized: "{title_sanitized}"
|
|
album_year: "{upload_year}"
|
|
# Set the second URL to the artist's albums. If a track belongs both
|
|
# to an album and tracks (in the URL above), it will resolve to this
|
|
# URL and include the album metadata we set below.
|
|
- url: "{artist_url}/albums"
|
|
variables:
|
|
track_number: "{playlist_index}"
|
|
track_number_padded: "{playlist_index_padded}"
|
|
track_count: "{playlist_count}"
|
|
album: "{playlist_title}"
|
|
album_sanitized: "{playlist_title_sanitized}"
|
|
album_year: "{playlist_max_upload_year}"
|
|
|
|
# For advanced YTDL users only; set any YTDL parameter here.
|
|
# Let us set the format to download the best mp3.
|
|
ytdl_options:
|
|
format: 'bestaudio[ext=mp3]'
|
|
|
|
# For each song downloaded, set the file and thumbnail name here.
|
|
# The output directory stores all artists in a shared {music_directory}.
|
|
# We store the audio file in its respective {album_directory_name} folder
|
|
# with the track number and title. The (thumbnail) album art is stored
|
|
# in the album folder.
|
|
#
|
|
# Set maintain_download_archive=True. This will tell YTDL not to
|
|
# re-download them on a successive invocation.
|
|
output_options:
|
|
output_directory: "{music_directory}"
|
|
file_name: "{album_path}/{track_file_name}.{ext}"
|
|
thumbnail_name: "{album_path}/folder.{thumbnail_ext}"
|
|
maintain_download_archive: True
|
|
|
|
# For each song downloaded, populate the audio file with music tags.
|
|
# Tagging should work with most audio file formats. See
|
|
# https://ytdl-sub.readthedocs.io/en/latest/config.html#music-tags
|
|
# for more details.
|
|
music_tags:
|
|
tags:
|
|
artist: "{artist}"
|
|
albumartist: "{artist}"
|
|
title: "{title}"
|
|
album: "{album}"
|
|
track: "{track_number}"
|
|
year: "{album_year}"
|
|
genre: "Unset"
|
|
|
|
# Overrides is a section where we can define our own variables, and use them in
|
|
# any other section. We define our music directory and album directory names here,
|
|
# which gets reused above for the audio file name and album art path.
|
|
overrides:
|
|
album_directory_name: "[{album_year}] {album_sanitized}"
|
|
track_file_name: "{track_number_padded} - {title_sanitized}"
|
|
album_path: "{artist_sanitized}/{album_directory_name}"
|
|
music_directory: "/path/to/music" |