How to get multiple album titles in single directory

OK, Next question. I use an audio application that can show several albums in a single directory, they get sorted CD1 CD2 CD3, etc… but it is only showing 1 album cover because it thinks they are all the same album. Let’s say it’s a boxset of classic albums and every album has its own separate name, the program can read each name. example: “Rush Boxset” would be at the top then it should say something like
CD1 - Moving Pictures
CD2 - Exit Stage Left
etc…
how do I get the album subtitles that would be on the folder subtitles to appear in the album titles so each album would be different and I would see all the album covers for each individual album?

The subtitle of the discs is available as variable discsubtitle. So you could write this to the album tag like this:

$if(%discsubtitle%,$set(album,%album%: %discsubtitle%))

Now you probably still want to use only the album name without subtitle for the folder. In this case you should store your preferred folder name before changing the album tag:

$set(_albumfolder,%album%)
$if(%discsubtitle%,$set(album,%album%: %discsubtitle%))

Then in your naming script use %_albumfolder% instead of %album% for the folder.

1 Like

Thanks for the quick reply, I added it to my script but it is making individual folders for every album, My guess is there is a conflict within my script but I need to figure out why?

You could start by showing us your script :wink: Are you using %_albumfolder% as I described above?

2 Likes

Sorry, this is what I am using…

$upper(%_extension%)/
$swapprefix($if2(%_artists_album_primary_std%,%artist%),The,Die,Le)/
$if($eq($or(%originaldate%,%date%),1),$left($if2(%originaldate%,%date%),4) - )
$replace($replace($replace($replace($replace($replace($swapprefix($if2(%albumartist%,%artist%),The,Die,Le), and , & ),+,&), with , & ), _ , & ), vs , & ), vs. , & ) - $replace($truncate(%album%,100),:,-)
$set(album,$if($title(%_releasecomment%),%album% \($title(%_releasecomment%)\),%album%))
$if($gt(%totaldiscs%,1), %totaldiscs%CD
$if($eq(%media%,LP), [Vinyl])
$if($eq(%media%,Vinyl), [Vinyl]))
$if($eq(%media%,7" Vinyl), [Vinyl])
$if($eq(%media%,10" Vinyl), [Vinyl])
$if($eq(%media%,12" Vinyl), [Vinyl])
$if($eq(%media%,Cassette), [Cassette])
$if($eq(%releasestatus%,promotion), [Promo])
$if($eq(%releasestatus%,bootleg), [Bootleg])
$if(%releasecountry%, [%releasecountry%],)
$if($eq(%media%,SHM-CD), [SHM-CD],)
$if(%label%, [%label%],)
$if(%catalognumber%, [$rsearch(%catalognumber%,\(.+?\)\(?:; |\$\))])
$if(%date%, [%date%],)
$if($eq(%releasetype%,album), [Album],
$if($eq(%releasetype%,single), [Single],
$if($eq(%releasetype%,ep), [EP],
$if($eq(%releasetype%,broadcast), [FM],
$if($eq(%releasetype%,other), [Other],
$if($inmulti(%releasetype%,dj-mix), [DJ Mix],
$if($inmulti(%releasetype%,remix), [Remix],
$if($inmulti(%releasetype%,soundtrack), [OST],
$if($inmulti(%releasetype%,live), [Live],
$if($inmulti(%releasetype%,mixtape/street), [Mixtape],
$if($inmulti(%releasetype%,compilation), [Compilation],)))))))))))
$if($eq($left(%_bitrate%,5),$right(%_bitrate%,5)), [CBR $left(%_bitrate%,3), [VBR$if(%_bits_per_sample%, %_bits_per_sample%,))]
$if($gt(%_bits_per_sample%,16), %_bits_per_sample%bit,)
$if($gt(%_sample_rate%,48000), $div(%_sample_rate%,1000)kHz,)
/$if($gt(%totaldiscs%,1),CD$num(%discnumber%,2)$if(%discsubtitle%, - %discsubtitle%,))
/$num(%tracknumber%,2). $if(%_multiartist%,%artist% - ,)%title%

Try this tagger script (it replaces album with discsubtitle):

$if(%discsubtitle%,$set(album,%discsubtitle%))

How it’s working? Add an album and save it with your script. Then turn off (rename files and move files):


If you do not do this, each discsubtitle will be put in a separate folder. Activate the script, refresh release and save. Discsubtitle will be saved as an album with suitable cover.

Finally, do not forget to disable the script and activate options: rename files and move files.

OMG! @hbrtkp That worked like a charm, WOW thanks so much. I guess I have to take all these steps every time I do a Boxset. So cool Thank so much!

Unfortunately, yes. At the moment I do not know a better solution and it seems to me that it does not exist.

How about enclosing the $if(%discsubtitle%,$set(album,%discsubtitle%)) within an appropriate test such as $if($gt(%totaldiscs%,1),$if(%discsubtitle%,$set(album,%discsubtitle%))) ?

@rdswift Your suggestion is good but it does not solve the problem.

Discsubtitle is used as an annotation for a given disc and as album names in compilations. Examples:

Good one (for this thread):

Bad one:

The solution would be a new special TAG with the name of the original album only in compilations, anthologies, etc. At least i think so.

I outlined one solution above, maybe I have to explain a bit more detailed. The reason why you get each disc in a separate folder now is because you change the album tag to also contain the disc subtitle. And the album tag is also used in your naming script to create the folder.

The solution is therefore to not use the modified album tag in your naming script but the original one without subtitle. This can be achieved by saving the original value of the album tag to a different variable before modifying the album tag with the disc subtitle:

$set(_albumfolder,%album%)
$if(%discsubtitle%,$set(album,%album%: %discsubtitle%)) 

This saves the original album value to the variable _albumfolder. The underscore at the start makes this a hidden variable that will not be written to the files, but it is available in your naming script.

Currently your naming script contains the following:

$replace($truncate(%album%,100),:,-)

This uses the album tag as part of the folder. Replace %album% with our new %_albumfolder% variable:

$replace($truncate(%_albumfolder%,100),:,-)
1 Like

WOW, @outsidecontext Your way worked even easier, Thanks so much for the shortcut! :grinning:

1 Like

OK, New problem can someone check this and see why my release comments are not capitalizing the 1st letters, They look right to me?
It appears release comment is not working either?

$if($eq($or(%originaldate%,%date%),1),$left($if2(%originaldate%,%date%),4) - )
$replace($replace($replace($replace($replace($replace($swapprefix($if2(%albumartist%,%artist%),The,Die,Le), and , & ),+,&), with , & ), _ , & ), vs , & ), vs. , & ) - $replace($truncate(%_albumfolder%,100),:,-)
$set(album,$if($title(%_releasecomment%),%album% ($title(%_releasecomment%)),%album%))

I think that should be $if(%_releasecomment%,… I would think that extra $title call is messing up your $if statement.

Ba Humbug didn’t work, Here’s my whole script I kinda pieced it together to suit my needs maybe someone can browse it and tell any changes I may need to make. Thanks in advance for everybody’s input greatly appreciated.

$if($eq($or(%originaldate%,%date%),1),$left($if2(%originaldate%,%date%),4) - )
$replace($replace($replace($replace($replace($replace($swapprefix($if2(%albumartist%,%artist%),The,Die,Le), and , & ),+,&), with , & ), _ , & ), vs , & ), vs. , & ) - $replace($truncate(%_albumfolder%,100),:,-)
$set(album,$if(%_releasecomment%,%album% ($title(%_releasecomment%)),%album%))
$if($gt(%totaldiscs%,1), %totaldiscs%CD
$if($eq(%media%,LP), [Vinyl])
$if($eq(%media%,Vinyl), [Vinyl]))
$if($eq(%media%,7" Vinyl), [Vinyl])
$if($eq(%media%,10" Vinyl), [Vinyl])
$if($eq(%media%,12" Vinyl), [Vinyl])
$if($eq(%media%,Cassette), [Cassette])
$if($eq(%releasestatus%,promotion), [Promo])
$if($eq(%releasestatus%,bootleg), [Bootleg])
$if(%releasecountry%, [%releasecountry%],)
$if($eq(%media%,SHM-CD), [SHM-CD],)
$if($eq(%media%,Digital Media), [WEB],)
$if($eq(%media%,Blu-spec CD), [Blu-Spec],)
$if(%label%, [%label%],)
$if(%catalognumber%, [$rsearch(%catalognumber%,(.+?)(?:; |$))])
$if(%date%, [%date%],)
$if($eq(%releasetype%,album), [Album],
$if($eq(%releasetype%,single), [Single],
$if($eq(%releasetype%,ep), [EP],
$if($eq(%releasetype%,broadcast), [FM],
$if($eq(%releasetype%,other), [Other],
$if($inmulti(%releasetype%,dj-mix), [DJ Mix],
$if($inmulti(%releasetype%,remix), [Remix],
$if($inmulti(%releasetype%,soundtrack), [OST],
$if($inmulti(%releasetype%,live), [Live],
$if($inmulti(%releasetype%,mixtape/street), [Mixtape],
$if($inmulti(%releasetype%,compilation), [Compilation],)))))))))))
$if($gt(%_bits_per_sample%,16), %_bits_per_sample%bit,)
$if($gt(%_sample_rate%,48000), $div(%_sample_rate%,1000)kHz,)
$if($eq($left(%_bitrate%,5),$right(%_bitrate%,5)), [CBR $left(%_bitrate%,3), [VBR$if(%_bits_per_sample%, %_bits_per_sample%,))]

The following snippet has no affect in your script:

$set(album,$if($title(%_releasecomment%),%album% ($title(%_releasecomment%)),%album%))

This just modified the album variable, but that is never used again afterwards. What you probably wanted instead:

$if(%_releasecomment%, \($title(%_releasecomment%)\),)

This will output the relessecomment in parantheses if set. Just replace the above snippet with the below one.

2 Likes

TaDaaaa! @outsidecontext You did it, worked perfectly. Thanks again as usual :wink:

1 Like

A small explanation.

$set(album,$if(%_releasecomment%,%album% \($title(%_releasecomment%)\),%album%))

Works as should ONLY when its added into script tagger:

Script adds release comment into album tag (and into folders, BTW):


obraz

@outsidecontext solution adds releasecomment only into folder.

@hbrtkp Today I completed making my changes to your script and it has all the things I wanted in it. I pieced a lot of it from other scripts but it does what I need it to. Just wanted to say thanks for the healthy start and all your help! If I need more I probably will call upon everyone again :wink: