Decluttering Artists: scripts for a clean library structure

Discussion about anything that might be of interest to MediaMonkey users.

Moderator: Gurus

Mikazoid

Decluttering Artists: scripts for a clean library structure

Post by Mikazoid »

Hi all

This is my first post but I have been a MM fan for about 12 years now. I'm posting this because I'd like to share my slightly obsessive passion for organizing my music collection.

The customization that I have made is to keep the Artists from filling up with artists from VA albums which I don't even know. Same goes for singles. I mainly keep full albums, the VA albums and singles are thrown on one big pile. If this is not your thing then this topic is probably not for you, although you might find the auto organize string still useful.

With the script below I accomplish the following for the music I select (VA albums):
  • Set Artist value in the Composer field (So I have a way of restoring to the original tag)
    Set Artist field to "~ Various" (I use the ~ so that it appears on top of the list)
    Set Album Artis field to "~ Various"
    Set Title to <Artist> * <Title> (i.e. "Beatles * Help")
Like this I still have all the information on the artist without having to scroll through a huge meaningless list of artists. Clearly the Beatles is a bad example here but you get my drift.
  • For single tracks I change the name of the Album to "~ Singles" manually.
Next I use the following string to organize my file structure as follows:

For singles:
D:\Music\Albums\~ Various\~ Singles\Alter Ego - alter ego - rocker.mp3

For VA albums
D:\Music\Albums\~ Various\2004. Urban Legends\03. Subway.mp3

For regular albums
D:\Music\Albums\Alex Smoke\2006. Paradolia\02. Alex Smoke - Persona.mp3


Auto organize string, this one will work for both VA albums, Singles, and normal albums:

Code: Select all

D:\Music\Albums\<Artist>\$if(<Album>=~ Singles,<Album>,$if(<Year>,<Year>. <Album>,<Album>))\$if(<Track#>,<Track#:2>. ,)$if(<Artist>=~ Various,<Title>,<Artist> - <Title>)
Script to modify the VA Album tags. Place this in the scripts folder and modify the Scripts.ini file as shown below. Put the scripts in a file called CustomRoutines.vbs

Code: Select all

Sub mod_VA_Album
  Dim list, itm, i, tmp
  Set list = SDB.CurrentSongList 
  For i=0 To list.count-1
    Set itm = list.Item(i)
    itm.MusicComposer = itm.ArtistName
    itm.ArtistName = "~ Various"
    itm.AlbumArtistName = "~ Various"
    itm.Title = itm.MusicComposer & " * " & itm.Title
  Next
  list.UpdateAll
End Sub

This script is to shorten the date in all the tags to include only the year, not the month or day. This makes the list of albums per artist sort automatically per year

Code: Select all

Sub ShortDate
  Dim list, itm, i, tmp
  Set list = SDB.CurrentSongList 
  For i=0 To list.count-1
    Set itm = list.Item(i)
      itm.Year = right(itm.Year, 4)
  Next
  list.UpdateAll
End Sub
This is what you should add to the scripts.ini file

Code: Select all

[mod_VA_Album]
FileName=CustomRoutines.vbs
ProcName=mod_VA_Album
Order=60
DisplayName=&Custom 1: Fix tags for VA Album
Description=Merge Artist and Title, move Artist to Composer, set both Artist and Albumartist to Various
Language=VBScript
ScriptType=0

[ShortDate]
FileName=CustomRoutines.vbs
ProcName=ShortDate
Order=91
DisplayName=&Custom 6: Create 4 Digit Date
Description=Sets the date to the left 4 digits of the date (Year)
Language=VBScript
ScriptType=0
If you have a different folder than D:\Music\Albums then obviously you need to modify this bit. Hope this is of help for some of you, if you have any questions let me know!
Mikazoid

Re: Decluttering Artists: scripts for a clean library struct

Post by Mikazoid »

I just realized that the example I gave for the single with file name alter ego was a bad example, here the title already contained the artist name before running the script. Normally you will not see the artist name twice in the file name or Title tag.
Post Reply