Repository for neat file name string patterns and tagger script snippets

Great to hear that you’ve been able to use part of the script and adapt it to your needs, and expand it to get the desired results.

  1. I think I would use the track title because then it should still provide something in the event that you’re processing a non-album track / standalone recording. In fact, you can use both by adding the track title to your $if2 command as:
$set(_nSNT,$if2(%album%,%track%,%_cUnknownSingle%))
  1. Leftover code. I really should clean that up. :wink:
1 Like

Thanks, that is exactly what I was looking for.

Update 8 Days later: Its finally working and separating Dupes and incomplete Albums, the perfect match just goes to the Root Folder

$get(_extension)/

$if($is_complete(),
,$if($lt($matchedtracks(),%_totalalbumtracks%),_Incomplete/,_Dupes/)
)



$if($eq(%musicbrainz_albumartistid%,89ad4ac3-39f7-470e-963a-56509c546377),
$left($if2(%albumartistsort%, %artistsort%),30)/$upper($firstalphachar($if2(%album%, %albumsort%),#))/$left(%album%,40)/$if($gt(%totaldiscs%,1),CD$num(%discnumber%,2)-)$num(%tracknumber%,3) $left(%title%,40),
$upper($firstalphachar($if2(%albumartistsort%, %artistsort%),#))/$left($if2(%albumartistsort%, %artistsort%),30)/$left(%album%,40)/$if($gt(%totaldiscs%,1),CD$num(%discnumber%,2)-)$num(%tracknumber%,3) $left(%title%,40)
)

Its just basic stuff that works like this:

Filetype/First Alphachar or Various/(if Various First Alphachar again) or Dupes/Incomplete Folder (and than everything from the beginning)/ Album/ Tracks with Namepattern: CD Number-Tracknumber Trackname. It looks like this:

FLAC/_Incomplete/Various\D\Dream Dance 25\CD02-007 Summer Sound System (radio edit)
Or
mp3\C\Cascada\Everytime We Touch\015 Everytime We Touch (Club Mix)

Separating by Single and the like doesnt make sense if you have collections from series like Final Fantasy or Harry Potter…it just mixes them all, so i wait for Musicbrainz to add an series Tag like Discogs or an Franchise Tag like VGM DB so that the Tagger can use this Tag in Filenaming Scripts.

Have Fun with this small Newbie Script :slight_smile:

1 Like

hello I am new to this wonderfull thread, the best I’ve seen on the subject!!!

Anyways, could you guide me as to where should I include these code lines in v2.6c of the magic script? :arrow_double_up: :arrow_double_up: :arrow_double_up:

also I have a lot of DJ Mixes and DJ Compilation mixes (Fabric live, essential mixes, cafe del mar and the likes…) I would like to be able to have some kind of sorting that would separate DJ compilations and normal compilations) I now have it setup to put most of the 'albums which have the compilation tag in the Various artists folder but i’d like something better.

any ideas?

i have a problem with the script: It’s concerning compilations:

I do NOT want the compilations to split and create a folder for every artist on the compilation, why does it do that?

I am novice in coding but been using MBP for quite a few years now

The reason it splits the artists on a compilation is you’re using %artist% instead of %albumartist%. %albumartist% is the same for all tracks on the album, while %artist% can vary from track to track.

To split DJ compilations from VA’s (or to treat any group of albums differently), you can use what I call “control tags”.

  1. Create a script in the Scripting tab of Options called “Set DJ compilation”
  2. In that script put the line: $set(DJCompilation, 1)
  3. Make sure the checkbox next to the script is not checked.
  4. In your file naming script you can use $if(%DJCompilation%, … to divide the things you want to happen to DJ comps from the VA comps.
  5. Now pull up your DJ comps in Picard and select all.
  6. Right-click on them, select Run Script and click “Set DJ compilation”
  7. Now they’ll all have the control variable and it will be written to the files as a custom tag.
  8. You should also create a script with $delete(DJCompilation) in case you want to remove the tag from some of your files.
2 Likes

Ive tried to find how to do thin in the naming script i’m using which is rdswift’s naming script, but i dont know in which section to actually add these, I’m really new to scripting, learning fast, but there’s a lot! could tou please help me so I don’t fuckit up again!

also in his script the date goes before the title of the album I would like it after, for better sorting and searching since i am rarely searching by release year.

thanks

When I say to add a script, I’m talking about adding it here:

2 Likes

Oh thanks!
Concerning my original post how would i go about using %albumartist% in the magic scriptv6?

I just happened to look in here, as I’m fixing a bunch of tracks from an archive … and wanted to see something on why my script isn’t replacing the colons in the filenames with the UTF8 equal… ∶ because I’m getting / substitutes in just the filenames, not the pathnames. That’s working properly.

$noop(★ : ➡ ∶)
$set(_titleForFilename,$replace(%_titleForFilename%,:,∶))
$set(_albumForFilename,$replace(%_albumForFilename%,:,∶))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,:,∶))
$set(_artistForFilename,$replace(%_artistForFilename%,:,∶))
$set(_albumartistForFilename,$replace(%_albumartistForFilename%,:,∶))
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,:,∶))
$set(_albumartistsortForFilename,$replace(%_albumartistsortForFilename%,:,∶))

I think it’s something in there, with the _titleForFilename except that you can see where it’s even working in the screenshot, and the timecode in the same filename [xx∶xx] is showing correctly.

It’s been several months since I looked at this thing.

Post a sample of what it’s doing and what you want with dates, order of segments, whatever and I’ll see what config options I have that might do it, or even at least make it work that the suggestion from @Billy_Yank

The small red circles are where it’s doing it, and not doing it. The first instance of : is changed, as is the second, but the resulting filename is giving me / in place of the first one, and the second one is correct.

I think I need to change a variable name, or more like do the same thing on an additional something to do with the filename string.

Beware, my Picard build may have different looking things in the UI, it’s a specific build, but all the script functions work, with one exception. How it handles duplicate files. It’s talked about in one of my earlier posts)

The YA Magic Script is a lot more flexible when you’ve got Keyboard Maestro or such (Macro Generator) to match up with it. I’ve got the scripts accessible via an added menu on the menu bar so that I can refer to them by name / menu path

instead of playing voodoo with making contextual menus

Because the heck with that crap. It’s just totally maddening. Though I suppose during Covid Lockdown you’ll have an alternate way to deal with haircuts… you’ll just pull all your hair out trying to make that contextual crap work with scripts.

Hello again wonderfull people!

say I want to have 3 more scripts to organise m,y compilations just like this one:

I use this one for compilations "curated by, prepared by… (Buddah bar, cafe del mar etc…)

$set(albumartist,Various Artists)
$set(albumartistsort,Various Artists)
$set(musicbrainz_albumartistid,89ad4ac3-39f7-470e-963a-56509c546377)

1- One for Soundtracks: (Various artists + Soundtrack release type)

2- One for dj mix / live dj set ie: non-compilation, non album, Recorded live dj-set not part of an album types ???
NOT LIKE THIS:>>> https://musicbrainz.org/series/f4c40be4-3eb2-416b-83ea-af00119eb99b

3- One For what I call dj-compilations series which are mixed by a dj (Fabric, dj kicks): https://musicbrainz.org/release-group/1ce91abd-bf21-38e2-ab17-7fecb6c69337

I searched for the Soundtrack/dj-mix release types MBID but couldn’t find a list of MBID’s?

how would I go about finding this info?

Or can someone help me please?

thanks in advance

How did you customise the ui like this?

What i’d like to achieve in the end is something like this:

I am currently using a variation of the BP Magic-Script - v0.4.2 > ★ By Ski-lleR ★
But it’s not doing what I need/want.

If anyone could give me pointers of help I would be forever grateful!

Revised MBP YA Magic-Script that does more stuff too. v2.7

• Fixed Stupid Issue where it was resetting it’s filenames midway through. :man_facepalming:
• Re-arranged and clarified some of the settings/config options
• Added some more examples to the config/settings options
• Added option to NOT sort by Artist First/Last Initial. **

** $set(_orderTypeForArtist,3)
This skips …/A/Artist… and goes straight to …/Artist
I have not checked this function against many other options, it feels like it’s working as intended though.

The header is Chopped Off - It won’t fit in a single post. The Rest is in the next post.

$noop(★ MBP YA Magic-Script that does more stuff too. - v2.7  - amd/17500mph ★)
$noop(★											★)
$noop(★ INSERT COIN ★)
 
$noop(Configuration Section - 0-Disable / 1-Enable)

$noop(★ For Development Only -  ★)
$noop(★ Variable Settings in Subsections      - ★)
$noop(★  - Audio Metrics Only at this Time    - ★)
$noop(★ This should be 0 for proper function! - ★)
$set(_devMode,0)

$noop(★ For Sort Only. No Filename Formatting - ★)
$noop(★   Usually for When Saving from Left   - ★)
$noop(★   It's RARE that you would want this  - ★)
$noop(★   Usually for When Saving from Left   - ★)
$set(_quickNoNameFormat,0)


$noop(★ GLOBAL SETTINGS - Things you're likely to want to configure ★)

$noop(  /Licorice Pizza/B/B-52s, The/EP/Wild Planet∶ 2007 Remix EP [CD] [2007] [Promotion] [Planet Clique] [SSMCD005] )
$noop(  /Licorice Pizza/B/B-52s, The/EP/Wild Planet∶ 2007 Remix EP [CD] [_showDate] [_showReleaseStatus] [_showRecordLabel] [_showCatalogueNumber] )
$noop(Configuration Section - 0-Disable / 1-Enable)
$set(_showRecordLabel,1)
$set(_showDate,1)
$set(_showReleaseStatus,1)
$set(_showCatalogueNumber,1)

$noop(★ Values Included before File Ext. ★)
$noop(  01. Quiche Lorraine [S-Express remix][5∶54][320 44100KHz CBR 2ch].m4a  )
$noop(  01. Quiche Lorraine [S-Express remix][_showTime][_showBandwidth].m4a   )
$if($eq(%_quickNoNameFormat%,1),$set(_showTime,0),$set(_showTime,1))
$if($eq(%_quickNoNameFormat%,1),$set(_showBandwidth,0),$set(_showBandwidth,1))


$noop(★ Sort orderTypeForRoot                      ★)
$noop(★ ~/Music/Last.fm Genre/A/Artist/AlbumTitle/ ★)
$noop(★  1: Category [Last.fm.ng]   ★)
$noop(★ ~/Music/A/Artist/AlbumTitle/★)
$noop(★  2: Artist first letter     ★)
$set(_orderTypeForRoot,2)

$noop(★ Sort orderTypeForArtist                ★)
$noop(★  1: First letter of first name         ★)
$noop(★ ~/Music/M/Music Artist/AlbumTitle/     ★)
$noop(★  2: First letter of last name          ★)
$noop(★ ~/Music/A/Artist, Music/AlbumTitle/    ★)
$noop(★  3: No Sub-Separation by Artist Initial★)
$noop(★ ~/Music/Artist, Music/AlbumTitle/      ★)
$set(_orderTypeForArtist,2)

$noop(★ How to designate Complete Albums that contain multiples/extras of at least 1 Track      ★)
$noop(★ 1  They are Sorted as Complete. will show silver starred but not Gold icon on the Right ★)
$noop(★ 0, They are Sorted as InComplete ★)

$set(_extraTrackHandling,1)

$noop(★ 1  Earlier in the Sort Artist Diversion?    ★)
$set(_earlierLevelArtistSeparation,0)
$noop(★ 0  Earlier in the Sort Incomplete Diversion?★)
$set(_earlierPresortForIncompletes,1)

$noop(★ Do you want separation by type / extension at the Root Level?★)
$noop(★ ~/Music/MP3/AlbumTitle/ - ~/Music/FLAC/AlbumTitle/ - ~/Music/M4A/AlbumTitle/ - ~/Music/WNA/AlbumTitle/ ★)
$set(_rootLevelTypeSeparation,0)   

$noop(★ Do you want separatation by type / extension at the Album Level?                                      ★)
$noop(★ ~/Music/AlbumTitle/MP3/ - ~/Music/AlbumTitle/FLAC/ - ~/Music/AlbumTitle/M4A - ~/Music/AlbumTitle/WNA/ ★)
$set(_albumLevelTypeSeparation,1)

$noop(★ Do you want the Album Title added before the type / extension after the Album Level?                         ★)
$noop(★ ~/Music/AlbumTitle/AlbumTitle MP3/ - ~/Music/AlbumTitle/AlbumTitle FLAC/ - ~/Music/AlbumTitleAlbumTitle /M4A ★)
$set(_albumNameAtTypeSeparation,1)

$noop(★ Root Level Sort Against Select Genre Values. ★)
$noop(★ ~/Music/GenreSubSortDirectory/AlbumTitle/AlbumTitle MP3/Single/ - ~/Music/GenreSubSortDirectory/AlbumTitle/AlbumTitle FLAC/EP/ ★)
$set(_isSubSort,1)

$noop(Album Name/EP/Single/Live/Album etc.)
$noop(★ ~/Music/AlbumTitle/AlbumTitle MP3/Single/ - ~/Music/AlbumTitle/AlbumTitle FLAC/EP/ ★)
$set(_separateByTypeInArtistDirectory,1)

$noop(★ Do you want Tribute and Cover Albums Placed with Artist being attributed? ★)
$noop(★ ~/Music/AlbumTitle/AlbumTitle MP3/Cover/ - ~/Music/AlbumTitle/AlbumTitle FLAC/Tribute/ ★)
$noop(★ Requires coverTributeSort tag and albumartistsort Tags ★)
$noop(Set a coverTributeSort tag value of “Tribute” or “Cover”.)
$noop(Enter the associated Artist in the AlbumArtistSort as tag.)
$set(_altArtistSort,1)

$set(_separateAlbum,0) $noop(Albums in SubDirectory as well)
$noop(★ ~/Music/A/Artist/AlbumTitle, ~/Music/A/Artist/Albums/AlbumTitle ★)

$set(_showTrackArtistSeparation,0) $noop(Breakdown by Artist within Album ** Special Case Use / Usually Left Side Compilations)
$noop(★ ~/Music/A/Artist/AlbumTitle/Artist/Track, ~/Music/A/Artist/Albums/AlbumTitle/Artist/Track ★)

$set(_compilationsGSubDirectory,Compilations/)
$noop(★ ~/Music/Compilations/  ★)

$noop(★ SOUNDTRACK/VARIOUS DIRECTORY ★)
$set(_soundTracksDirectory,Soundtrack/)
$set(_variousArtistsDirectory,Various/)
$set(_audiobooksDirectory,Audiobook/)
$set(_incompleteDirectory,Partial)
$set(_podcastSubDirectory,Podcast/)

$noop(★ Multi-Disc ★)

$noop(★ ~/Music/A/Artist, Music/AlbumTitle/Disc01/01 - Tracklist ★)
$set(_useSubDiscDirectory,1)

$noop(★ ~/Music/A/Artist, Music/AlbumTitle/01 - Tracklist ***SKIP SubDiscDirectory if only one Medium in Realease ★)
$set(_mergeDiscWhenNotUsingSubDirectory,0)

$set(_showDiscSubtitle,1)
$set(_nameForTypeCD,Disc)
$set(_nameForTypeVinyl,Side)

$noop(★ ~/Music/A/Artist, Music/AlbumTitle/A1 ,A2 ,B1, B2 Tracklist - ★)
$set(_useMusicBrainzStyleForVinylTrack,1)

$noop(★ Custom Subdirectory Titles at Artist Level ★)
$noop(★ ~/Music/A/Artist, Music/EP/AlbumTitle ~/Music/A/Artist, Music/Live/AlbumTitle ★)

$set(_albumSubDirectory,Albums/)
$set(_compilationsASubDirectory,Compilation/)
$set(_coverSubDirectory,Cover/)
$set(_tributeSubDirectory,Tribute/)
$set(_singlesSubDirectory,Singles/)
$set(_liveSubDirectory,Live/)
$set(_epSubDirectory,EP/)
$set(_broadcastSubDirectory,•Broadcast/)
$set(_interviewSubDirectory,Interview/)
$set(_videoSubDirectory,Video/)
$set(_otherSubDirectory,Others/)
$set(_dupesDirectory,• Duplicates/)
$set(_exportDirectory,• Exports/)
$set(_extDirectory,%_extension%/)

$noop(★ _subSortXXXX are pretty specific        ★)
$noop(★ breakdowns that require setting a value ★)
$noop(★ with a tag titled    %genresort%        ★)
$noop(★ These can be ignored or reduced, just   ★)
$noop(★ keep at least one for an example incase ★)
$noop(★ You want to sort like this later.       ★)
$noop(★ /LicoricePizza/_subSortXXXX/ ....       ★)

$set(_subSortGame,•Arcade/)
$set(_subSortDJBits,•DJBits/)
$set(_subSortClassical,Classical/)
$set(_subSortDemento,Dementia/)
$set(_subSort12Inch,•12 Inch Mix/)
$set(_subSortDisney,Disney/)
$set(_subSortPodcast,Podcast/)
$set(_subSortInterview,•Interview/)
$set(_subSortBroadcast,Broadcast/)
$set(_subSortReserved,•Singles Candidates/)
$set(_subSortPreTag,•No MBID/)
$set(_subSortHoliday,Holiday/)
$set(_subSortCountry,Country/)
$set(_subSortBlues,Blues/)
$set(_subSortJazz,Jazz/)
$set(_subSort2Oct,Spooktacular/)
$set(_subSort2Nov,Fallback/)
$set(_subSort2Dec,Here Comes Santa/)
$set(_subSort2Jan,Wintertime/)
$set(_subSort2Feb,Will You Be My Valentine?/)
$set(_subSort2Mar,Spring is in the Air/)
$set(_subSort2Apr,Foolish/)
$set(_subSort2May,Maybe/)
$set(_subSort2June,SumSumSummertime/)
$set(_subSort2July,Fireworks & Stuff/)
$set(_subSort2Aug,SumSumSummertime/)
$set(_subSort2Sept,SumSumSummertime/)

$noop(★ Detect Genre/SubSort Destinations for above values ★)

$if($in(%genresort%,Holiday),$set(_subSortDirectory,%_subSortHoliday%))
$if($in(%genresort%,*-*),$set(_subSortDirectory,%_subSortReserved%))
$if($in(%genresort%,***),$set(_subSortDirectory,%_subSortPreTag%))
$if($in(%genresort%,Novelty),$set(_subSortDirectory,%_subSortDemento%))
$if($in(%genresort%,DJ Bits),$set(_subSortDirectory,%_subSortDJBits%))
$if($in(%genresort%,Humo),$set(_subSortDirectory,%_subSortDemento%))
$if($in(%genresort%,Demento),$set(_subSortDirectory,%_subSortDemento%))
$if($in(%genresort%,Comedy),$set(_subSortDirectory,%_subSortDemento%))
$if($in(%genresort%,FuMP),$set(_subSortDirectory,%_subSortDemento%))
$if($in(%genresort%,Game),$set(_subSortDirectory,%_subSortGame%))
$if($in(%genresort%,Disney),$set(_subSortDirectory,%_subSortDisney%))
$if($in(%genresort%,odcast),$set(_subSortDirectory,%_subSortPodcast%))
$if($in(%genresort%,nterview),$set(_subSortDirectory,%_subSortInterview%))
$if($in(%genresort%,roadcast),$set(_subSortDirectory,%_subSortBroadcast%))
$if($in(%genresort%,12 Inch),$set(_subSortDirectory,%_subSort12Inch%))
$if($in(%genresort%,Classical),$set(_subSortDirectory,%_subSortClassical%))
$if($in(%genresort%,Country),$set(_subSortDirectory,%_subSortCountry%))
$if($in(%genresort%,Spook),$set(_subSort2Directory,%_subSort2May%))
$if($in(%genresort%,Fall),$set(_subSort2Directory,%_subSort2Nov%))
$if($in(%genresort%,Summer),$set(_subSort2Directory,%_subSort2June%))
$if($in(%genresort%,Firew),$set(_subSort2Directory,%_subSort2July%))
$if($in(%genresort%,Fool),$set(_subSort2Directory,%_subSort2Apr%))
$if($in(%genresort%,Maybe),$set(_subSort2Directory,%_subSort2May%))
$if($in(%genresort%,Spring),$set(_subSort2Directory,%_subSort2Mar%))
$if($in(%genresort%,Santa),$set(_subSort2Directory,%_subSort2Dec%))
$if($in(%genresort%,Blues),$set(_subSortDirectory,%_subSortBlues%))
$if($in(%genresort%,Jazz),$set(_subSortDirectory,%_subSortJazz%))

$noop(####################### Scratch Space ######################)
$noop(★ Unless you're changing appearances, there isn't really anything to do past here ★)
$noop(####################### END SETTINGS #######################)


$noop(########## DETECT MUSIC TYPE ###############################)

$noop(★ Detect Album ★)
$if($in(%releasetype%,album),
  $set(_isAlbum,1)
)
$noop(★ Detect Single ★)
$if($in(%releasetype%,single),
  $set(_isSingle,1)
)
$noop(★ Detect Live ★)
$if($in(%releasetype%,live),
  $set(_isLive,1)
)
$noop(★ Detect EP ★)
$if($in(%releasetype%,ep),
  $set(_isEP,1)
)
$noop(★ Detect Broadcast ★)
$if($in(%releasetype%,broadcast),
  $set(_isBroadcast,1)
)
$noop(★ Detect Interview ★)
$if($in(%releasetype%,interview),
  $set(_isInterview,1)
)
$noop(★ Detect Artist Compilation ★)
$if($in(%releasetype%,compilation),
  $set(_isArtistCompil,1)
)
$noop(★ Detect Audiobook ★)
$if($in(%releasetype%,audiobook),
  $set(_isAudiobook,1)
)
$noop(★ Detect Other ★)
$if($in(%releasetype%,other),
  $set(_isOther,1)
)
$noop(★ Detect Tribute ★)
$if($in(%coverTributeSort%,Tribute),
  $set(_isTribute,1)
)
$noop(★ Detect Cover ★)
$if($in(%coverTributeSort%,Cover),
  $set(_isCover,1)
)
$noop(★ Detect Podcast ★)
$if($in(%genre%,Podcast),
  $set(_isPodcast,1)
)
$noop(★ Detect Soundtrack ★)
$if($in(%releasetype%,soundtrack),
  $set(_isSoundTrack,1)
)
$noop(★ Detect BitRate Split ★)
$if($in(%BitRateSplit%,Yes),
  $set(_addBitRate,1)
)
$noop(★ Detect Incomplete ★)
$if($eq($is_complete(),0),
  $set(_isIncomplete,1)
)
$noop(★ Detect Video ★)
$if($eq($is_video(),0),
  $set(_isVideo,1)
)
$noop(★ Detect Various Artist ★)
$if($eq(%albumartist%,Various Artists),
  $set(_isVarious,1)
)
$noop(★ Re-detect Compilation Type ★)
$if($eq(%compilation%,1),
  $set(_isGlobalCompil,1)
)
$noop(★ Detect Global Compilation ★)
$if($eq(%_isGlobalCompil%,1), $set(_isArtistCompil,0)
)
$noop(★ Get Track Length ★)
$if($eq(%_showTime%,1),
  $set(_trackLength,%_length%)
)
$noop(★ Drop Unused Placeholder Tags ★)
$if($eq(%title%,Title),$delete(title)$delete(titlesort))
$if($eq(%subtitle%,Subtitle),$delete(subtitle))
$if($eq(%discsubtitle%,DiscSubtitle),$delete(discsubtitle))
$if($eq(%artists%,Artist;AdditionalArtists),$delete(artists))
$if($eq(%artistssortorder%,Artist),$delete(artistssortorder))
$if($eq(%album%,Album),$delete(album)$delete(albumsort)$delete(albumartistsort)$delete(albumartist))
$if($eq(%media%,Media),$delete(media))
$if($eq(%label%,Label),$delete(label))
$if($eq(%catalognumber%,Cat#),$delete(catalognumber))

$noop(########## Start File Naming Structure Variables ###########)
$noop(sorted by artist place holder)
$noop(•ByBitRate/%bitrate%)
$noop(★ Typography on file naming only ★)
$set(_titleForFilename,$if2(%titlesort%,%title%))
$set(_albumForFilename,$if2(%albumsort%,%album%))

$set(_discsubtitleForFilename,%discsubtitle%)
$set(_albumartistForFilename,$if2(%albumartist%,%artist%))
$set(_artistForFilename,%artist%)
$set(_albumartistsortForFilename,$if2(%albumartistsort%,%artistsort%,%artist%))
$set(_artistsortForFilename,$if2(%artistsort%,%artist%))

$noop(########## Start TAG Manipulation ##########################)
$noop(★ Organize artist by alphabetical Directories excluding leading The ★)
$set(albumartist,$if($eq($left(%albumartist%,4),The ),%albumartistsort%,%albumartist%))
$noop($set(undersc0riginalFileName,%_filename%))

$noop(########## Start TAG Formatting  ###########################)
$noop(★ Typography for tags: changes will affect tags on media ★)

$noop(★ ... ➡ …)
$set(album,$replace(%album%,...,…))
$set(title,$replace(%title%,...,…))
$set(discsubtitle,$replace(%discsubtitle%,...,…))

$noop(★ No. ➡ №)
$set(album,$replace(%album%, [Nn]o.\\s*\(\\d\), №\\1))
$set(title,$rreplace(%title%, [Nn]o.\\s*\(\\d\), №\\1))
$set(discsubtitle,$replace(%discsubtitle%, [Nn]o.\\s*\(\\d\), №\\1))

$noop(★ [digit]" ➡ [digit]″)
$set(discsubtitle,$rreplace(%discsubtitle%,\(\\d\)",\\1''))

$noop(★ "12" Vinyl" ➡ "12 Inch Vinyl")
$set(media,$rreplace(%media%,\(\\d\)",\\1 Inch))
$set(album,$rreplace(%album%,\(\\d\)",\\1 Inch))
$set(title,$rreplace(%title%,\(\\d\)",\\1 Inch))

$noop(★ "something" ➡ “something” single quote for server/samba)
$set(albumartist,$rreplace(%albumartist%,"\(.*?\)",'\\1'))
$set(artist,$rreplace(%artist%,"\(.*?\)",'\\1'))
$set(albumartistsort,$rreplace(%albumartistsort%,"\(.*?\)",'\\1'))
$set(artistsort,$rreplace(%artistsort%,"\(.*?\)",'\\1'))
$set(album,$rreplace(%album%,"\(.*?\)",'\\1'))
$set(title,$rreplace(%title%,"\(.*?\)",'\\1'))
$set(discsubtitle,$rreplace(%discsubtitle%,"\(.*?\)",'\\1'))

$noop(★ # ➡ ♯)
$set(_titleForFilename,$replace(%_titleForFilename%,#,♯))
$set(_albumForFilename,$replace(%_albumForFilename%,#,♯))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,#,♯))

$noop(★ ;: ➡ h, m,)
$set(_trackLength,$replace(%_trackLength%,:,∶))

$noop(★ : ➡ ∶)
$set(_titleForFilename,$replace(%_titleForFilename%,:,∶))
$set(_albumForFilename,$replace(%_albumForFilename%,:,∶))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,:,∶))
$set(_artistForFilename,$replace(%_artistForFilename%,:,∶))
$set(_albumartistForFilename,$replace(%_albumartistForFilename%,:,∶))
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,:,∶))
$set(_albumartistsortForFilename,$replace(%_albumartistsortForFilename%,:,∶))

$noop(★ ? ➡ ⁇)
$set(_titleForFilename,$replace(%_titleForFilename%,?,⁇))
$set(_albumForFilename,$replace(%_albumForFilename%,?,⁇))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,?,⁇))
$set(_artistForFilename,$replace(%_artistForFilename%,?,⁇))
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,?,⁇))

$set(_titleForFilename,$replace(%_titleForFilename%,|,│))
$set(_albumForFilename,$replace(%_albumForFilename%,|,│))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,|,│))

$set(_titleForFilename,$replace(%_titleForFilename%,>,>))
$set(_albumForFilename,$replace(%_albumForFilename%,>,>))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,>,>))

$set(_titleForFilename,$replace(%_titleForFilename%,<,<))
$set(_albumForFilename,$replace(%_albumForFilename%,<,<))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,<,<))

$set(_titleForFilename,$replace(%_titleForFilename%,*,✱))
$set(_albumForFilename,$replace(%_albumForFilename%,*,✱))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,*,✱))
$set(_artistForFilename,$replace(%_artistForFilename%,*,✱))
$set(_albumartistForFilename,$replace(%_albumartistForFilename%,*,✱))
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,*,✱))
$set(_albumartistsortForFilename,$replace(%_albumartistsortForFilename%,*,✱))

$set(_titleForFilename,$replace(%_titleForFilename%,&,&))
$set(_albumForFilename,$replace(%_albumForFilename%,&,&))
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,&,&))
$set(_artistForFilename,$replace(%_artistForFilename%,&,&))
$set(_albumartistForFilename,$replace(%_albumartistForFilename%,&,&))
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,&,&))
$set(_albumartistsortForFilename,$replace(%_albumartistsortForFilename%,&,&))
$noop(★ For Development Only - Variable Settings in Subsections ★)
$noop(★ Where Available - Audio Metrics Only at this Time ★)

$noop(########### Audio Metrics Setup  ###########################)
$noop(########### DevMode Values Only ############################)

$set(_devMode,0) $noop(Use Standin Data.)

$set(_biitrate,71.426)
$set(_saample_rate,44100)
$set(_biits_per_sample,16)
$set(_chaannels,2)
$set(_tiitle,My Great Score)
$noop(########### CONFIRM DevMode is Disabled for Live Use ########)

$noop(############## Determine Bit Rate Integer Value #############)

$if($eq(%_devMode%,1),FileBit %_biitrate% ---)

$if($eq(%_devMode%,1),$set(_intBitRate,$rreplace(%_biitrate%,\\.\\d*\$,)),$set(_intBitRate,$rreplace(%_bitrate%,\\.\\d*\$,)))

$if($eq(%_devMode%,1),IntBit %_intBitRate% ---)

$if($eq(%_devMode%,1),$set(_bitRateSpeed,%_saample_rate%KHz),$set(_bitRateSpeed,%_sample_rate%KHz))
$if($eq(%_devMode%,1),$set(_bitsPerSample,[%_biits_per_sample%]bit),$set(_bitsPerSample,[%_bits_per_sample%]bit))
$if($eq(%_devMode%,1),$set(_audioChannels,%_chaannels%ch),$set(_audioChannels,%_channels%ch))
$if($eq(%_devMode%,1),$set(_titleForFilename,%_tiitle%),$set(_titleForFilename,%_titleForFilename%))

$set(_bitRateType,$if($eq_any(%_intBitRate%,320,256,224,192,160,128,112,96,80,64,48,40,32,24,16,8),CBR$set(_cbrRateValue,%_intBitRate%)$set(_fileCBRRate,%_intBitRate%),VBR$set(_vbrRateValue,%_intBitRate%)))

$noop(Bitrate factors of 8.0 are most likely CBR with the remainder being VBR)

$if($eq(%_bitRateType%,VBR),
$if($gt(%_vbrRateValue%,339),$set(_fileVBRRate,320+),
$if($gt(%_vbrRateValue%,319),$set(_fileVBRRate,320),
$if($gt(%_vbrRateValue%,260),$set(_fileVBRRate,V0+),
$if($gt(%_vbrRateValue%,220),$set(_fileVBRRate,V0),
$if($gt(%_vbrRateValue%,191),$set(_fileVBRRate,V1),
$if($gt(%_vbrRateValue%,170),$set(_fileVBRRate,V2),
$if($gt(%_vbrRateValue%,150),$set(_fileVBRRate,V3),
$if($gt(%_vbrRateValue%,140),$set(_fileVBRRate,V4),
$if($gt(%_vbrRateValue%,130),$set(_fileVBRRate,V5),
$if($gt(%_vbrRateValue%,120),$set(_fileVBRRate,V6),
$if($gt(%_vbrRateValue%,95),$set(_fileVBRRate,V7),
$if($gt(%_vbrRateValue%,69),$set(_fileVBRRate,V8),
$if($gt(%_vbrRateValue%,44),$set(_fileVBRRate,V9),
$set(_fileVBRRate,%_intBitRate%)
))))))))))))))

$noop(######### File Naming Structure Variables Complete #########)

$noop(★ Pathname Generation Starts Here ★)

$noop(★ Root level Path ★)
$noop(   root = '/Volumes/Drive/Music/ ... [Destination Directory Setting])
$noop(   rootLevelExport Separation/%_exportssDirectory%/MP3/Artist/Album ...)
$if($eq(%_rootLevelExportsSeparation%,1),%_exportDirectory%,)

$noop(   rootLevelDuplicate Separation/%_dupesDirectory%/MP3/Artist/Album ...)
$if($eq(%_rootLevelDupeSeparation%,1),%_dupesDirectory%,)

$noop(★ Separate by Format at root directory ★)
$noop(   rootLevelPath/MP3/Artist/Album ...)
$if($eq(%_rootLevelTypeSeparation%,1),$upper(%_extension%),)

$noop(★ Separate by _setSubSort against Genre tag values ★)
$if($eq(%_isSubSort%,1),%_subSortDirectory%%_subSort2Directory%)

$noop(   Earlier Incomplete Separation for Sorting ...)
$if($eq(%_earlierPresortForIncompletes%,1),$if($eq($is_complete(),0),$if($lt($matchedtracks(),%_totalalbumtracks%),$if($and(%_isIncomplete%,$not($in(%SavePerfectAnyway%,yes))), - %_incompleteDirectory%,))),$if($and(%_isIncomplete%,$not($in(%SavePerfectAnyway%,yes))), - %_incompleteDirectory%,))
$if($in(%SaveIncompleteAnyway%,yes),%_incompleteDirectory%)/
$if($eq(%_earlierLevelArtistSeparation%,1),%_artistForFilename%/)

$noop(★ Soundtrack in custom directory ,after soundtracksDirectory?? ★)
$noop(   root/*/Audio Books/Title ...)
$noop(   root/*/Soundtracks/Title ...)
$noop(   root/*/Podcasts/Title ...)
$if(%_isSoundTrack%,%_soundTracksDirectory%$left($swapprefix($if2(%albumsort%,%album%),A,An,The),1)/,/
$if(%_isAudiobook%,%_audiobooksDirectory%$left($swapprefix($if2(%albumsort%,%album%),A,An,The),1)/,/)
$if(%_isPodcast%,%_podcastDirectory%$left($swapprefix($if2(%albumsort%,%album%),A,An,The),1)/,/)

$noop(★ Various in custom directory ★)
$noop(root/<*>/Various)

$if(%_isVarious%,%_variousArtistsDirectory%$left($swapprefix($if2(%albumsort%,%album%),A,An,The),1)/,/
$if(%_isGlobalCompil%,%_compilationsGSubDirectory%$left($swapprefix($if2(%albumsort%,%album%),A,An,The),1)/,/)

$noop(★ Order root by category ★)
	$if($eq(%_orderTypeForRoot%,1),
	$if2(%albumgrouping%,Unknown)
	)/

$noop(★ Order root by artist ★)
$noop(root/<*>/<Last.FM=>/)
$noop(root/<*>/D/)

$if($eq(%_orderTypeForRoot%,2),
	$if($eq(%_orderTypeForArtist%,1),$upper($firstalphachar($if2(%_albumartistForFilename%,%_artistForFilename%),#1)),
	$if($eq(%_orderTypeForArtist%,2),$if(%_isGlobalCompil%,,$upper($firstalphachar($if2(%_albumartistsortForFilename%,%_artistsortForFilename%),#2)))
	$if($eq(%_orderTypeForArtist%,3),),../
	)))/


$noop(★ Artist with first letter of first name ★)
$noop(root/<*>/B/The B-52's)
$if($eq(%_orderTypeForArtist%,1),$if2(%_artistSort%,%_albumartistForFilename%,%_artistForFilename%))/

$noop(★ Artist with first letter of last name ★)
$noop(root/<*>/B/B-52's, The)
$if($eq(%_orderTypeForArtist%,2),$if(%_isGlobalCompil%,,$if2(%_albumartistsortForFilename%,%_artistsortForFilename%)))/

$noop(★ Order root by category ★)
$if($eq(%_orderTypeForArtist%,3),)/

$noop(★ If Using Alternate Artists Directory For Covers & Tributes  **Uses Order for Album Artist tag ★)

	$noop(root/<*>/O/Oingo Boingo/[Tributes]/DeadBandsParty)
	$if($eq_all(%coverTributeSort%,%_altArtistSort%,%_isTribute%,1),
	$if2(%_artistSort%,%_albumartistForFilename%,%_artistForFilename%)
	)/

	$noop(root/<*>/D/DEVO/[Covers]/Devolution)
	$if($eq_all(%coverTributeSort%,%_altArtistSort%,%_isCover%,1),
	$if2(%_artistSort%,%_albumartistForFilename%,%_artistForFilename%)
	)/
	$noop(★ Organize by type ★)
	$noop(root/<*>/Y/Yes/[Live]/90125 Live)
	$noop(root/<*>/Y/Yes,/90125)
	$if($eq(%_separateByTypeInArtistDirectory%,1),
		$if($eq(%_isArtistCompil%,1),%_compilationsASubDirectory%,
			$if($eq(%_isLive%,1),%_liveSubDirectory%,
				$if($eq(%_isCover%,1),%_coverSubDirectory%,
					$if($eq(%_isTribute%,1),%_tributeSubDirectory%,
						$if($eq(%_isEP%,1),%_epSubDirectory%,
							$if($eq(%_isSingle%,1),%_singlesSubDirectory%,
								$if($eq(%_isBroadcast%,1),%_broadcastSubDirectory%,
							   	$if($eq(%_isInterview%,1),%_interviewSubDirectory%,
										$if($eq(%_isVideo%,1),%_videoSubDirectory%,
											$if($eq(%_isOther%,1),%_otherSubDirectory%,
												$if($eq(%_isAlbum%,1),
													$if($eq(%_separateAlbum%,1),%_albumSubDirectory%))

	)))))))))))))

$noop(root/<*>/B/B-52's, The]/Bouncing off the Satellites/ )
%_albumForFilename%
$noop(★ Bouncing off the Satellites [Media-Type]/ ★)
$noop($if($ne(%media%,CD),$if(%media%,[$rreplace(%media%,["″], Inch)])))
$if(%media%, [$title(%media%]),)

$noop($if($and(%media%,$ne(%media%,CD)),$if($in(%media%,Vinyl),$title( [%media%])),$upper( [%media%])))

$noop(★ Bouncing off the Satellites [Vinyl] [YEAR]/ ★)
$if($eq(%_showDate%,1),$if($if2(%date%,%originalyear%,%originaldate%), [$left($if2(%date%,%originalyear%,%originaldate%),4)],))
$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Release Status]/ ★)
$if(%releasestatus%,$if($eq(%_showReleaseStatus%,1),$title( [%releasestatus%])))

$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [Label]/ ★)
$if(%label%,$if(%_showRecordLabel%, $if(%label%,$title([%label%]))))

$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [CAT-Number]/ ★)
$if(%catalognumber%,$if($eq(%_showCatalogueNumber%,1),$title( [%catalognumber%])))

$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [AB-DC001]/ ★)
$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [AB-DC001] - Incomplete/ ★)

$if($eq(%_extraTrackHandling%,1),$if($eq($is_complete(),0),$if($lt($matchedtracks(),%_totalalbumtracks%),$if($and(%_isIncomplete%,$not($in(%SavePerfectAnyway%,yes))), - %_incompleteDirectory%,))),$if($and(%_isIncomplete%,$not($in(%SavePerfectAnyway%,yes))), - %_incompleteDirectory%,)
)/
$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [AB-DC001]/ MP3 / ★)
$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [AB-DC001]/ Bouncing off the Satellites MP3 / ★) 

$if($eq(%_albumLevelTypeSeparation%,1),$if($eq(%_albumNameAtTypeSeparation%,1),%_albumForFilename%,)$if($eq(%_addBitRate%,1), %_fileVBRRate%%_fileCBRRate% %_bitRateType%)$upper( %_extension%))/

$noop(★ One Last Option to Sort By Author -within- a Left Side Album Compilation/ ★)
$if(%artist%,$if($eq(%_showTrackArtistSeparation%,1),$title(%artist%)))

$noop(★ Bouncing off the Satellites [Vinyl] [1986] [Official] [MCA] [AB-DC001]/ .../ Disc # ★)
$if($gt(%totaldiscs%,1),$noop(
	)$if($lt(%totaldiscs%,10),$set(_discnumber, %discnumber%),$set(_discnumber,$num(%discnumber%,2)))$noop(
	)$if($in(%media%,Vinyl),$noop(
		)$set(_nameForDiscDirectory,@OSLASH@@OBRACKET@%_nameForTypeVinyl%%_discnumber%@CBRACKET@),$noop(
		)$set(_nameForDiscDirectory,@OSLASH@@OBRACKET@%_nameForTypeCD%%_discnumber%@CBRACKET@))$noop(
		)$if($and(%_discsubtitleForFilename%,$eq(%_showDiscSubtitle%,1)),$set(_nameForDiscDirectory,%_nameForDiscDirectory% - %_discsubtitleForFilename%))$noop(
		)$if($eq(%_useSubDiscDirectory%,1),$noop(
			)$set(_nameForDiscDirectory,$replace(%_nameForDiscDirectory%,@OSLASH@@OBRACKET@,/))$noop(
			)$set(_nameForDiscDirectory,$replace(%_nameForDiscDirectory%,@CBRACKET@,)),$noop(
			)$if($eq(%_mergeDiscWhenNotUsingSubDirectory%,1),$noop(
				)$unset(_nameForDiscDirectory),$noop(
				)$set(_nameForDiscDirectory,$replace(%_nameForDiscDirectory%,@OSLASH@@OBRACKET@,[))$noop(
			)$set(_nameForDiscDirectory,$replace(%_nameForDiscDirectory%,@CBRACKET@,]))$noop(
		))$noop(
	))$noop(
)$if(%_nameForDiscDirectory%,%_nameForDiscDirectory%))/

$noop(★ Track # Title --%_filebr% -- %bitrate% -- %BRType% -- %BrVBR% --  ★)
$if($in(%media%,Vinyl),$noop(
	)$if($eq(%_useMusicBrainzStyleForVinylTrack%,1),$noop(
		)$if(%_musicbrainz_tracknumber%,%_musicbrainz_tracknumber%. )$noop(
	)),$noop(
	)$if(%tracknumber%,$if($gt(%totaldiscs%,1),$if($and($eq(%_useSubDiscDirectory%,0),$eq(%_mergeDiscWhenNotUsingSubDirectory%,1)),%discnumber%))$num(%tracknumber%,2). ))

$noop(★ GAME OVER ★)

$if($eq(%_quickNoNameFormat%,0),%_titleForFilename%,%_filename%)

$noop(★ Insert Coin for Extra Metrics ★)

[%_trackLength%]

$if($eq(%_quickNoNameFormat%,0),$if($eq(%_showBandwidth%,1),[%_fileCBRRate%%_fileVBRRate% %_bitRateSpeed% %_bitRateType% %_audioChannels%],$if($eq(%_showBandwidth%,1),[%_fileCBRRate%%_fileVBRRate% %_bitRateType%])))

$noop(★ 00 CREDITS ★)

This is the non-truncated text for the script in the previous post. This belongs at the TOP of the file. This does not make a difference in functionality, but it should stay with it.

$noop(★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★)
$noop(★ MBP YA Magic-Script that does more stuff too. - v2.7 -  amd/17500mph ★)
$noop(★																											 ★)
$noop(★ Here is a script for music renaming in MusicBrainz Picard            ★)
$noop(★																											 ★)
$noop(★ Note: Destination Director Setting                                   ★)
$noop(★       /Volumes/3TB/Licorice Pizza                                    ★)
$noop(★																											 ★)
$noop(★ Features :                                                           ★)
$noop(★                                                                      ★)
$noop(★   Individualy Selectable Root Directory Organization Options:        ★)
$noop(★																											 ★)
$noop(★ • Directories by [A]rtist Name / [N]ame, Artist or last.fm** category★)
$noop(★ • subDirectory for each main type [Album/Single/EP...]               ★)
$noop(★ • Separate Root directory for compilations [!various]                ★)
$noop(★ • Single Artist Compilations go in Artist Directory                  ★)
$noop(★ • Root directory Audio Books, Podcasts, Others                       ★)
$noop(★ • Root directory Genre PreSort                                       ★)
$noop(★																											 ★)
$noop(★  ~/MusicRoot/[O]/Oingo Boingo/[Artist Compilations]/                 ★)
$noop(★  ~/MusicRoot/Compilations/K-Tel Hits of the 1980s Vol. 1             ★)
$noop(★  ~/MusicRoot/Audio Books/Ready Player One                            ★)
$noop(★  ~/MusicRoot/Podcasts/Mad Mad Music #29                              ★)
$noop(★																											 ★)
$noop(★ - Alphabetize artist without leading "The"                           ★)
$noop(★ - Show Album Release Status on Album Directory                       ★)
$noop(★ - Show Record Label on Directory Name Directory                      ★)
$noop(★ - Show Catalogue Number in Album Directory Name                      ★)
$noop(★ - Show Track Duration in Filename                                    ★)
$noop(★ - Filtered character for files & directory naming                    ★)
$noop(★ - Include media type in directory name [when its not CD]             ★)
$noop(★ - Multi-Disc SubDirectory per Disc in Album Directory                ★)
$noop(★ - Custom directory tag for multi-disc CD/Vinyl [CD1/Disc1 by default]★)
$noop(★ - Put multi-CD release in same directory [names become 101/102/201..]★)
$noop(★ - Vinyl can use musicbrainz style for track [A1/A2/B1...]            ★)
$noop(★ - File Type SubDirectory in Album Directory                          ★)
$noop(★																											 ★)
$noop(★ - For Sort Directory Overrides: titlesort, artistsort, albumsort     ★)
$noop(★																											 ★)
$noop(★ ** Optional Plugin Needed for Last.fm [for category trending]        ★)
$noop(★   -> https://github.com/fdemmer/Picard-Last.fm.ng-Plugin             ★)
$noop(★																											 ★)
$noop(★ - 'For Sort Only'                                                    ★)
$noop(★   Do not format filename, optional limited [0m00s] [128 CBR]         ★)
$noop(★																											 ★)
$noop(★ - DevMode:                                                           ★)
$noop(★   Allows better simulation control of variables for debugging        ★)
$noop(★																											 ★)
$noop(★ Do Not Taunt The Happy Tagging Ball                                  ★)
$noop(★																											 ★)
$noop(★----------------------------------------------------------------------★)
$noop(★   Based on the MBP Magic Script  By Ski-lleR                         ★)
$noop(★   Thanks to avibrazil for his filter                                 ★)
$noop(★ > https://github.com/avibrazil/picard-scripting                      ★)
$noop(★----------------------------------------------------------------------★)
$noop(★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★)
$noop(★ INSERT COIN ★)

tdiaz,

This has been a great script. I’m a first time user to musicBrainz trying to organize a library of 15000 mp3s collected over 20 years. Thanks for all the 1/0 toggle features.

One question, is there a way I can make the podcasts and audiobooks much simpler? It’s nice having music sorted by A, B, C, etc. However, my list of Audiobooks and Podcats is much smaller, so they don’t need that. For example, I have this: Audiobook\C\C\C. S. Lewis\The Chronicles of Narnia_ The Magician's Nephew [CD] [2007] [Tyndale House Publishers]\MP3\[Disc 1].

I would prefer just to cut out the C\C\C. S. Lewis and MP3\[Disc 1] I’ve gone through the script for 15 minutes, but just didn’t see if this script had an easy way to disable all that.

Hmm… There might be. I’m working on the computer/desk area at the moment … but once I’m done, I’ll look at it. I need to use the nice big monitor…

I should say there is a way, but … I need to see just how massively “ugly” it’s might be. :slight_smile: Though the more I think about it, I think maybe not so bad.

I wonder if I’m going to cause a Script Core Meltdown with this thing if I keep cramming more stuff in there… it’s already too big for a single post here.

MP3\ can be disabled, that is sort by extension. Like wise, I think [Disc x] (IIRC, %disctitle%) has a toggle too.

I agree about it getting bloated. :slight_smile: I was impressed someone worked this hard on an organizer already. The script can’t scale forever.

I was thinking an easier way may be just to do in a 2 parter. First run your script to put them all into various directories. Then restart MusicBrainz, and only load in the he Audiobooks and Podcasts directories, then reprocess those files using an easier script? It’s a bit cumbersome, but may be easier than trying to make one script do everything.

… but until that doesn’t work, it’s less work this way :sunglasses:

It kind of just … morphed. Hmm… I got it to do this … what about that, oh, hey, wait I can do this before that and … you should see the tagger script set for all this, and the macros and F-keys make it so much fun!

Point, Click, Select, Bam!