Skip to content

gigamicro/dl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

85903b2 · Jan 2, 2025
Dec 29, 2024
Jan 6, 2024
May 3, 2022
Jul 18, 2024
Dec 29, 2024
Oct 24, 2024
Sep 10, 2024
Nov 18, 2024
Sep 10, 2024
Jul 28, 2023
Aug 13, 2024
Dec 29, 2024
Jul 10, 2023
Aug 13, 2024
Jul 20, 2024
Sep 21, 2023
Jan 2, 2025
Dec 29, 2024
Dec 29, 2024
Dec 29, 2024
Jun 15, 2024
Dec 29, 2024
Aug 13, 2024
Aug 3, 2024
Oct 29, 2022
Jun 25, 2024
Jan 6, 2024
Aug 2, 2024
Nov 18, 2024
Jul 8, 2024
Apr 13, 2024
Jul 18, 2024
Apr 13, 2024
Jul 28, 2023
Jun 4, 2024
Jan 2, 2025
Apr 13, 2024
Dec 29, 2024
May 18, 2024
Jun 15, 2024
Aug 2, 2024
Aug 2, 2024

Repository files navigation

Requirements

  • ffmpeg
  • yt-dlp

Scripts, Files, & Directories (alphabetical)

.gitignore: ignore *.sublime-workspace

albums.m3u: playlists.m3u for albums

archivecheck.sh: finds downloads in archivedir with their IDs also in basedir (recursive); stdout is paths to each archive duplicate

archivecheckloose.sh: finds downloads in archivedir with their titles also in basedir, with similar metadata

archivecheckstrict.sh: finds downloads in archivedir with their filenames also in basedir (recursive); stdout is paths to each archive duplicate

archivedir: contains the location at which the archive will be kept

archiveduplicatecheck.sh: finds downloads in archivedir with their IDs in archivedir at least twice (recursive); stdout is paths to all but one of each ID

artists.m3u: playlists.m3u for artists

basedir: contains the location at which the downloads will be kept

covercheck.sh: finds duplicate and unnecessary covers in basedir/*; stdout is either 'redundant: ' or 'missing : ' followed by the path to each audio file

crossdupecheck.sh: lists items in basedir with the same id, in a different subfolder

cull.sh: deletes directories in $1, ignoring cover.*, *.m3u, and *.archive

dl.sh: For a set of playlists (listed in playlists.m3u), will download to basedir/<the playlist's name>/; lists the order in basedir/<name>/<name>.m3u

duplicatecheck.sh: lists items in basedir with the same id, in the same subfolder

faV.m3u: individual song listing; listed in playlists.m3u

faVduplicatecheck.sh: finds and prints listings that are duplicates between basedir/faV/faV.m3u and basedir/*/*.m3u

fromfaV.sh: comments lines from faV.m3u ending in lines from stdin; removes downloads with matching video IDs from basedir/faV/

ignore/: contains yt-dlp .archive-format lists of videos to ignore, per playlist

init.sh: uses the other scripts; init.sh z to enable changes other than dl.sh and more minor cleanups

LICENSE: MIT License (may change?)

m3ucheck.sh: finds files (apart from cover.* & *.m3u) in basedir/* that are not listed in basedir/*/*.m3u

music.sublime-project: trivial Sublime Text project

nametoignores.sh: turns list of filenames from stdin to ytdl .archive list

playlists.m3u: contains playlist locators, one per line; either .m3u or online

README.md: this readme

recentinlog.sh: follows logs in /tmp/dl/link/* and prints download numbers until program with pid $1 exits

square.sh: Crops image $1 to square, centered, inplace; required for dl.sh covers

squarecheck.sh: finds downloads with non-square covers in basedir

tailexisting.sh: tail log of currently running pids in waitlist

toalbums.sh: tolists.sh albums.m3u

toarchive.sh: moves */* (from stdin) to archivedir/*/*

toartists.sh: tolists.sh artists.m3u

TODO: list of things to do at some point

tofaV.sh: adds stdin to top of faV.m3u, converting YouTube links to youtu.be links

toignore.sh: adds stdin elements to ignore/*.archive

tolists.sh: adds stdin to $1.m3u, stripping certain parts of YouTube links

toplaylists.sh: tolists.sh playlists.m3u

untouchedcheck.sh: lists m3u files that weren't touched since $1 (unix timestamp) or one hour ago

untrash.sh: renames android-style trashed files to no longer be trashed (ie '.trashed-##########-...' -> '...')

whichlogs.sh: which log files have not yet created a log link?

About

downloader for yt music playlists

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages