yaronzz / Tidal-Media-Downloader-PRO

Download 'TIDAL' Music On Windows/Linux/MacOs (PYTHON/C#)
http://yaronzz.com/post/tidal_dl_installation/
Apache License 2.0
1.21k stars 123 forks source link

Add Parser for Folder and File Naming please; Allows a MAJOR improvement. #33

Closed Wim1975 closed 4 years ago

Wim1975 commented 4 years ago

Album ID can be added to the album foldername, but only in front... I'd like it in the back because I already add the album year in front to sort by year but the album-id messes this sort up.

Now we have these options in the setting screen :

"Add Year" (Before/After/None) Choose : "Add artist-name before title" "Add album-id before album-folder" Track : "Add track number" "Add hyphen between" "Add [explicit]"

These are a lot of options and one does still not have a lot of control over folder and file naming...

so I was thinking a parser would be much better as it simplifies the settings screen (less options shown) while it makes all kinds of folder and track naming possible

So it could be better by replacing ALL of the options above by TWO text fields where one can type a parser string

Track Folder name : [ ] Track name : [ ]

with

%AI = Album ID (the number tidal uses to look up albums) %AT = Album Title %AY = Album Year %AF = Album Format (Albums, Compilations, EP & Singles, Live Albums) *** remark see bottom

%RI = aRtist ID (the number Tidal uses to look up artists) %RN = aRtist Name (I chose R as it sounds the same as "ar" and as the A is already taken by "album")

%TT = Track Title %TN = Track Number %EX = "[Explicit]"

(These possibilities should of course be showed next to the text fields. I guess there are more %xx for other properties ? )

This way the user has FULL control where and how he wants to save; some examples :

Folder name : %AF\%RN[%AY]%AT [%AI]
=> "Compilations\Abba[1993]Abba Gold [1771744]" => "EP & Singles\Abba[2014]Knowing me, Knowing you [32782200]" Track name : %TN - %TT%EX
=> "01 - Dancing Queen" => "01 - Knowing Me, Knowing You (Live)"

Folder name : %AY\%RN\%AT (ID:%AI)
=> "1993\Abba\Abba Gold (ID-1771744)" !! warning !! parser should also replace illegal characters by '-' !! => "2014\Abba\Knowing me, Knowing you (ID-32782200)" Track name : %RN - %TN %TT
=> "Abba - 01 Dancing Queen" => "Abba - 01 Knowing Me, Knowing You (Live)"

Folder name : %RN\%AF[%AY]%AN (ID:%AI)
=> "Abba\Compilations[1993]Abba Gold (ID-1771744)" => "Abba\EP & Singles[2014]Knowing me, Knowing you (ID-32782200)" Track name : %TN %TT
=> "01 Dancing Queen" => "01 Knowing Me, Knowing You (Live)"

So Endless possibilities this way ! And you can make a default string so the program stays compatible with previous releases !

Folder name : %RN\%AN
=> "Abba\Abba Gold" => "Abba\Knowing me, Knowing you" Track name : %TT => "Dancing Queen" => "Dancing Queen" => "Knowing Me, Knowing You (Live)"

!!! REMARK For Album Type !!! !!! It looks like some albums can be multiple types : https://tidal.com/browse/album/138264 (Artist : Blondie; Album : "Bite Size Blondie") occurs under "EP & Singles" AND under "Compilations"

So I guess Tidal uses some kind byte? and does OR-ing ? f.i. if 0x00000010 = "EP & Singles"; 0x00000100 ="Compilations"; then 0x00000110 would be both ?

If that is the case => just pick ONE type by priority : Albums>Compilations>EP & Singles>Live Albums ! In our case the Blondie album "Bite Size Blondie" would be considered of the type "Compilations" and not "EP & Singles" for our folder naming as "Compilations" has a higher priority

P.S. Another question ! The program now uses ONE path for All Albums; Playlists and Videos (is there anything else?) I would like to choose 3 different paths myself

Maybe this option could be added with a checkbox :

Path : [d:\tidl]
[ ] Use different for Albums, Playlists and Videos Album Path : [d:\Tidl\Albums] (disabled) Playlist Path : [e:\Tidl\Playlists] (disabled) Video Path : [x:\Tidl\Videos] (disabled)

When checkbox is not checked only Path is enabled and the other three disabled and the program can be working like it is already. When checked Path : [ ] text field gets disabled and the three others enabled and one can choose 3 different folders

Wim1975 commented 4 years ago

I was just thinking I forgot to mention the master tags... so those should also be added as well (when they apply of course)

so besides the %EX there should also be a %MA %EX = "[E]" (explicit tag) %MA = "[M]" (master tag)

(and those two should be in the default settings)

Folder name : %RN%MA%AN => "Abba\Abba Gold" => "Abba\[M]Knowing me, Knowing you" if this album contains master tracks ... Track name : %MA%TT => "Dancing Queen" => "[M]Knowing Me, Knowing You (Live)"

This made me realize the program currently only marks M for albums, and not for their tracks. There are a lot of albums marked as Master on Tidal, where only a few tracks are Master ones, so for files the M should only be there for those that are actually MQA ones. but for folders the M should be there always if the album contains one or more MQA files !

yaronzz commented 4 years ago

fixed

vad62 commented 4 years ago

fixed

Which line to add the folder name to the setting(albumfolderformat), so that it would be like this: {ArtistName}-{Flag}{AlbumTitle}[{AlbumYear}] Now with this format, the {ArtistName} field is not filled.

obeliksgall commented 4 years ago

If I want an album name (AlbumFolderFomat): Year Album - Flag (this mean E/M?) AlbumID I type in the (GUI) field: [{AlbumYear}] {AlbumTitle} - {Flag} [{AlbumID}] - it's fine

And for file name like(TrackFileFormat): 01 - artist - album - year - title {TrackNumber} - {ArtistName} - {AlbumTitle} - {AlbumYear} - {TrackTitle}{ExplicitFlag} - but here i have: 03 - LP - {AlbumTitle} - {AlbumYear} - Lost on You - why album tags can't be read?