I was wondering if it is possible to standarize words like feat. ft (feat) f. rmx (remix) remix (rmx) and any other words like that that aren't consistantly named. I was hoping for the auto tagger to pick up on this and rename the songs to say the same thing because it's annoying when u have to of the same song one labelled with a different ending then the other.

Now all necessary corrections work for both Title and ArtistName (because things like "featuring" can be in both).
It works more careful so it won't change anything to an artist named "Defeaturing"...).

Cheers
Steegy

Last edited by Steegy on Sun Apr 02, 2006 10:22 pm, edited 2 times in total.

Hi
I have tried Your script. It seems that album artist is not updated correctly. When exceuting the script the album artist field is updated, but when shifting focus, and back to the same album or artists, the change has reverted. I manage to fix this by issuing an itm.UpdateAlbum after itm.UpdateArtists. I do not know if this is suppose to work this way, or if it is a bug in the scripting tool, as none of these should be necessary according to the scripting help as (itm.UpdateDB) should be enough ?
Thanks Joern

as none of these should be necessary according to the scripting help as (itm.UpdateDB) should be enough ?

These separate functions normally only need to be called in case you're only changing the casing (UpdateDB alone doesn't update casing, if that's the only change).
I must say this slipped my mind. (if that's correct English )
First only the Artist field (and thus it's capitalisation) could be changed. After I changed the script to also handle the AlbumArtist field, I forgot to add the function you mentioned.

If artist <> "" And artist <> itm.artistName Then holdArtist.add itm, artist End If If albumArtist <> "" And albumArtist <> itm.albumArtistName Then holdAlbumArtist.add itm, albumArtist End If If title <> itm.title Then holdTitle.add itm, title End If If album <> "" And album <> itm.albumName Then holdAlbum.add itm, album End If If genre <> itm.genre Then holdGenre.add itm, genre End If If trackOrder <> itm.trackOrder Then holdTrackOrder.add itm, trackOrder End If

str = holdArtist.item(itm) If Not items.exists(itm) Then items.add itm, itm End If itm.artistName = str If Not artistNames.exists(str) Then sql = "UPDATE Artists SET Artists.Artist = " & rdQS(str) & " WHERE Artists.Artist= " & rdQS(Itm.ArtistName) SDB.database.execSQL(sql) ' This will affect ALL instances of this artist, including album artist, and on other tracks. artistNames.add str, str End If Next 'itm

str = holdAlbum.item(itm) If Not items.exists(itm) Then items.add itm, itm End If itm.albumName = str If Not albumNames.exists(str) Then sql = "UPDATE Albums SET Albums.Album = " & rdQS(str) & " WHERE Albums.Album= " & rdQS(Itm.AlbumName) SDB.database.execSQL(sql) ' This will affect ALL instances of this album, including other tracks. albumNames.add str, str End If Next 'itm

For Each itm In holdTitle

str = holdTitle.item(itm) If Not items.exists(itm) Then items.add itm, itm End If itm.title = str Next 'itm

For Each itm In holdGenre

str = holdGenre.item(itm) If Not items.exists(itm) Then items.add itm, itm End If itm.genre = str Next 'itm

For Each itm In holdTrackOrder

str = holdTrackOrder.item(itm) If Not items.exists(itm) Then items.add itm, itm End If itm.trackOrder = str Next 'itm

Dim list Set list = SDB.NewSongList For Each itm In items list.Add(itm) Next

I updated the script so it shows a progress bar while loading the preview/changes, and when done, it shows the form.Unfortunately it was impossible to add a good progress indicator for the actual tagging of the tracks, because the part that takes time is one single MM command. So there's no iteration and so no progress bar.It would be MediaMonkey's resposibility to provide a progress indicator for that.

@Devs:A progress indicator for the SDBSongData.UpdateX commands would be nice.

Really thanks for this script.
I was thinking of creating the script for myself, but then I thought somebody else might have, and here you see...... Made some adjustments for myself of course, but for the rest it's a super script!!!