After spending years working on my music collection and constantly seeing spelling errors in song titles, I decided to try and find a spell check for MM. Alas, I was shocked to find a few inquiries, but never a solution. So, I went about creating my own. Now, there are a few caveats:
1) I wrote this up in about an hour
2) You must have Microsoft Word installed.
3) It only does song titles that are selected. I've used it to do over 900 songs in a single batch. Worked great!
4) It only does song titles. It could be expanded to do Artist and Album.
5) I couldn't find an easy way to make the Word spell checker on top, so if you see Word open but can't see the spell checker, alt->tab until you see it. Apparently, there is a way using Window Handles. I'm not that good of a developer with vbscript. Someone care to help?
6) Until you see the message Spell Check is complete, it's still running.....
7) It is invoked by using Ctrl+Alt+C. Change the Scripts.Ini if you want to use something else. Don't use Ctrl+Shift+C, that's the hotkey for MM Converter
Save the following Script in the Script folder of MM:
Code: Select all
' A simple script that checks the spelling of a Song Title
Sub SpellCheck
' Define variables
Dim list, lstItm
Dim objWord, objDoc
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Get list of selected tracks from MediaMonkey
Set list = SDB.CurrentSongList
' Process all selected tracks
For i=0 To list.count-1
Set lstItem = list.Item(i)
Set objDoc = objWord.Documents.Add
objDoc.Activate
objDoc.Content.Text = lstItem.Title
objDoc.CheckSpelling
'remove the last character. Word graciously adds an extra character to the end.
lstItem.Title = Left(objdoc.Content.Text, Len(objDoc.Content.Text) - 1)
objDoc.Saved = False
objDoc.Close (0)
Set objDoc = nothing
Next
' Write all back to DB and update tags
list.UpdateAll
objWord.Quit
Set objWord = Nothing
MsgBox "Spell Check is complete."
End Sub
Code: Select all
[SpellCheck]
FileName=SpellCheck.vbs
ProcName=SpellCheck
Order=31
DisplayName=Spell Check Title
Description=Spell Check Title
Language=VBScript
ScriptType=0
Shortcut=Ctrl+Alt+C