spotDL / spotify-downloader

Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
https://spotdl.readthedocs.io/en/latest/
MIT License
17.48k stars 1.6k forks source link

Add option to automatically create output folder based on playlist or album name. #1265

Closed djkool closed 3 years ago

djkool commented 3 years ago

An option should be added to the command line arguments to automatically create the output folder based on the playlist or album name retrieved from Spotify.

Problem

Having to create the output folder based on album or playlist name ahead of time is just too much work, even though that seems to be the general workflow. That process could lead to album typos and incorrect matching for music libraries. Downloading directly into a music library that is constantly being scanned will also cause problems as individual songs might get detected before the album is finished.

Solution

ghost commented 3 years ago

Closing in favour of #1266. That feature itself will be implemented a little later

MN4444 commented 1 year ago

you can do {artist}{track-number} - {title}.{output-ext}. This will tell spotdl to make a subfolder with the name of the artist. You can use any output variable to use as the subfolder name. You can use this with --output or define it in your config file.

jmanc3 commented 1 year ago

For anyone reading in the future, the actual command to run is:

spotdl --output "{artist}/{album}/{track-number} - {title}.{output-ext}" "YOUR_URL_HERE"

Notice all you have to do to create sub-folders is use "/".

The other data available to use are: {title}, {artists}, {artist}, {album}, {album-artist}, {genre}, {disc-number}, {disc-count}, {duration}, {year}, {original-date}, {track-number}, {tracks-count}, {isrc}, {track-id}, {publisher}, {list-length}, {list-position}, {list-name}, {output-ext}

V8gaming commented 1 year ago

You can also do this in the config file at "~/.spotdl/config.json", changing "output": "{artists} - {title}.{output-ext}", to for example "output": "{album}/{artists} - {title}.{output-ext}".

For anyone reading in the future, the actual command to run is:

spotdl --output "{artist}/{album}/{track-number} - {title}.{output-ext}" "YOUR_URL_HERE"

Notice all you have to do to create sub-folders is use "/".

The other data available to use are: {title}, {artists}, {artist}, {album}, {album-artist}, {genre}, {disc-number}, {disc-count}, {duration}, {year}, {original-date}, {track-number}, {tracks-count}, {isrc}, {track-id}, {publisher}, {list-length}, {list-position}, {list-name}, {output-ext}

skyway22 commented 11 months ago

@V8gaming and @jmanc3 the command you guys say, for me returns that the folder doesn't exist.. are you sure it works for you?

xnetcat commented 11 months ago

@V8gaming and @jmanc3 the command you guys say, for me returns that the folder doesn't exist.. are you sure it works for you?

you are probably using an outdated version try pip install -U spotdl or download new exe from the releases tab

skyway22 commented 11 months ago

@V8gaming and @jmanc3 the command you guys say, for me returns that the folder doesn't exist.. are you sure it works for you?

you are probably using an outdated version try pip install -U spotdl or download new exe from the releases tab

thank you! indeed that was the issue.. i'm using ubuntu, so a simple sudo pip3 install --upgrade spotdl solved the issue!