# sldl An automatic downloader for Soulseek built with Soulseek.NET. Accepts CSV files as well as Spotify and YouTube urls. Supports playlist and album downloads; selects the best files according to user-configured file conditions and heuristics. See the [usage examples](#examples-1). ## Index - [Options](#options) - [Input types](#input-types) - [CSV file](#csv-file) - [YouTube](#youtube) - [Spotify](#spotify) - [Bandcamp](#bandcamp) - [Search string](#search-string) - [List](#list) - [Download modes](#download-modes) - [Normal](#normal) - [Album](#album) - [Aggregate](#aggregate) - [Album Aggregate](#album-aggregate) - [Searching](#searching) - [File conditions](#file-conditions) - [Name format](#name-format) - [Configuration](#configuration) - [Shortcuts \& interactive mode](#shortcuts--interactive-mode) - [Examples](#examples-1) - [Notes](#notes) - [Docker](#docker) ## Options ``` Usage: sldl [OPTIONS] ``` #### Required Arguments ``` A url, search string, or path to a local CSV file. Run --help "input" to view the accepted inputs. Can also be passed with -i, --input --user Soulseek username --pass Soulseek password ``` #### General Options ``` -p, --path Download directory --input-type [csv|youtube|spotify|bandcamp|string|list] --name-format Name format for downloaded tracks. See --help name-format -n, --number Download the first n tracks of a playlist -o, --offset Skip a specified number of tracks -r, --reverse Download tracks in reverse order -c, --config Set config file location. Set to 'none' to ignore config --profile Configuration profile(s) to use. See --help ""config"". --concurrent-downloads Max concurrent downloads (default: 2) --write-playlist Create an m3u playlist file in the output directory --playlist-path Override default path for m3u playlist file --no-skip-existing Do not skip downloaded tracks --no-write-index Do not create a file indexing all downloaded tracks --index-path Override default path for sldl index --skip-check-cond Check file conditions when skipping existing files --skip-check-pref-cond Check preferred conditions when skipping existing files --skip-music-dir Also skip downloading tracks found in a music library by comparing filenames. Not 100% reliable. --skip-not-found Skip searching for tracks that weren't found on Soulseek during the last run. --listen-port Port for incoming connections (default: 49998) --on-complete Run a command whenever a file is downloaded. Available placeholders: {path} (local path),{title},{row} {artist},{album},{uri},{length},{failure-reason},{state}. Prepend a state number to only run in specific cases: 1:, 2:, 3:, 4: for the Downloaded, Failed, Exists, and NotFoundLastTime states respectively. E.g: '1:' will only run the command if the file is downloaded successfully. Prepend 's:' to use the system shell to execute the command. Prepend 'a:' to run it only on album downloads. --print