# This example shows how to download and format a music video OR playlist
# of music videos to display in Kodi as a music video. The format will
# look like:
#
#   /path/to/Music Videos
#     Elton John/
#       Elton John - Rocketman-thumb.jpg
#       Elton John - Rocketman.mp4
#       Elton John - Rocketman.nfo
#    System of a Down/
#       System of a Down - Chop Suey-thumb.jpg
#       System of a Down - Chop Suey.mp4
#       System of a Down - Chop Suey.nfo
#       ...
#
configuration:
  working_directory: '.ytdl-sub-downloads'

presets:
  music_video:
    # Set the download details
    download:
      # We will only use a single URL to download music video(s).
      # Make {url} an override variable to set later.
      download_strategy: "url"
      url: "{url}"

    # For advanced YTDL users only; any YTDL parameter can be set here.
    # To download age-restricted videos, you will need to set your cookie
    # file here as a ytdl parameter. For more info, see
    # https://ytdl-sub.readthedocs.io/en/latest/faq.html#download-age-restricted-youtube-videos
    ytdl_options:
      # cookiefile: "path/to/cookie_file.txt
      break_on_existing: True  # Stop downloads if it already exists

    # For each video downloaded, set the file and thumbnail name here.
    # We set both with {music_video_name}, which is a variable we define in
    # the overrides section further below to represent consistent naming format.
    output_options:
      output_directory: "{music_video_directory}"
      file_name: "{music_video_name}.{ext}"
      thumbnail_name: "{music_video_name}-thumb.jpg"
      info_json_name: "{music_video_name}.{info_json_ext}"
      maintain_download_archive: True

    # For each video downloaded, add a music video NFO file for it. Populate it
    # with tags that Kodi will read and use to display it in the music or music
    # videos section.
    nfo_tags:
      nfo_name: "{music_video_name}.nfo"
      nfo_root: "musicvideo"
      tags:
        artist: "{artist}"
        title: "{title}"
        album: "Music Videos"
        year: "{upload_year}"

    # Overrides is a section where we can define our own variables, and use them in
    # any other section. We define our music video directory and episode file name
    # here, which gets reused above for the video, thumbnail, and NFO file.
    # Recommended to override the artist variable since {channel} is not always
    # the artist's exact name.
    overrides:
      music_video_directory: "path/to/Music Videos"
      music_video_name: "{artist_sanitized}/{artist_sanitized} - {title_sanitized}"
      artist: "{channel}"

