Code: Select all
Option Explicit
Dim sVersion : sVersion = "1.1.1.33"
' 1.1.1.33 (2013-01-01)
' - Add: elyrics.net as source
' - Update: change LyricsSongs to the actual new name of the service(Letras)
' - Fix: Letras, LyricsMode, Mp3Lyrics, MetroLyrics, SeekALyric working again
' - Fix: AZLyrics, LyrDB, MetroLyrics, ELyrics, Mp3Lyrics, LyricsMode, SeekALyric support single quote in artist and song title
' - Fix: removed MySql warnings from lyrics returned by LyrDB
' 1.1.1.32 (2013-03-28)
' - Add: lyricsmode.com, lyrics.com, seekalyric.com, metrolyrics.com as sources
' 1.1.1.31 (2010-12-16)
' - Add: AZLyrics.com and LyrDB.com as sources
' - Add: Option to remove "The" and "Ft,Ft.,feat,feat.,featuring" from artist and/or title.
' - Add: Toolbar icon
' - Add: "Legend" on output window
' - Add: "Lyric sources" to output window
' - Add: "Lyric stats" to output window
' - Add: "Lyrics provided by" to lyrics
' - Add: "Time out" feature
' - Add: "Update" feature (Tools -> Extension -> Find Updates)
' - Add: colour coding of sites in results
' - Fix: LyricWikia.org (now Lyric.wikia.com) & Lyrics-songs.com (now Letras.Terra.com.br)sources
' - Fix: "Duplicate Artist Search" bug
' - Fix: "Percent Sign/Ampersand in ID3" bug
' - Fix: "Source Selection" bug
' - Update: Enabled "multi domain searching" again
' - Update: Move a few things about in options
' - Update: Replaced LyricsPlugin with LyricsVIP.com (Cuts out "the middle man")
' - Update: Tweaked the log file and the internal workings
' - Update: Lyric text cleanup
Dim sPath : sPath = sdb.ApplicationPath & "Scripts\Auto\lyricator.vbs"
'Dim sHTML : sHTML = sdb.ApplicationPath & "Scripts\Lyricator\temp.html"
Dim sHTML : sHTML = sdb.TemporaryFolder & "Lyricator.htm"
'Dim sAppPath: sAppPath = Replace(Mid(sdb.ApplicationPath,3) & "Scripts\Lyricator\", "\", "\\")
'Dim sAppPath: sAppPath = Mid(sdb.ApplicationPath,3) & "Scripts\Lyricator\"
Dim sAppPath: sAppPath = sdb.ApplicationPath & "Scripts\Lyricator\"
Dim sLyrMOO : sLyrMOO = sAppPath & "moo.js"
Dim sLyrJS : sLyrJS = sAppPath & "lyricator.js"
Dim sLyrCSS : sLyrCSS = sAppPath & "lyricator.css"
Dim sLoad : sLoad = sAppPath & "loading.gif"
Dim sLOG : sLOG = sdb.ApplicationPath & "Scripts\Lyricator\" & "Lyricator.log"
Const mmAnchorRight = 4
Const mmAnchorBottom = 8
Const mmAlignTop = 1
Const mmAlignBottom = 2
Const mmAlignClient = 5
Const mmListDropdown = 2
Const mmFormScreenCenter = 4
' Initialize for fso, html & log
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim fLog
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Destroy
SDB.Objects("LyricatorForm") = Nothing
SDB.Objects("LyricatorWB") = Nothing
SDB.Objects("LyricatorTracks") = Nothing
SDB.Objects("LyricatorStatus") = Nothing
If fso.FileExists(sHTML) Then
fso.DeleteFile(sHTML)
End If
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub OnSave(Btn)
log("")
log("Saving")
Btn.Caption = SDB.Localize("Saving ...")
Btn.Common.Enabled = False
Dim ini : Set ini = SDB.IniFile
Dim TryAutoClose : TryAutoClose = ini.BoolValue("Lyricator", "TryAutoClose")
Dim ToolbarIcon : ToolbarIcon = ini.BoolValue("Lyricator", "ToolbarIcon")
Dim doc : Set doc = SDB.Objects("LyricatorWB").Interf.Document
Dim tracks: Set tracks = SDB.Objects("LyricatorTracks")
Dim status : Set status = SDB.Objects("LyricatorStatus")
Dim cnt : cnt = 0
Dim interval : interval = 1
If tracks.count > 10000 Then
interval = 100
ElseIf tracks.count > 1000 Then
interval = 25
ElseIf tracks.count > 100 Then
interval = 10
End If
Dim i
For i = 0 to tracks.count - 1
'Keep GUI responsive
SDB.ProcessMessages
'Update progress bar
If (i + 1) Mod interval = 0 Then
status.Caption = SDB.Localize("Writing " & (i+1) & "/" & (tracks.count) & " ...")
End If
Dim t : Set t = doc.getElementById(tracks.Item(i).ID)
Dim d : Set d = t.getElementsByTagName("div")
Dim c : Set c = d(0).getElementsByTagName("input")(0)
Dim ti: ti = d(1).innerHTML
If clng(ti) = i Then
If c.checked Then
cnt = cnt + 1
Dim l : l = Replace(d(4).innerHTML, "<BR>", vbNewLine)
l = Replace(l, "<BR/>", vbNewLine)
l = Replace(l, "<BR />", vbNewLine)
tracks.Item(i).Lyrics = l
tracks.Item(i).UpdateDB
tracks.Item(i).WriteTags
t.innerHTML = Replace(t.innerHTML, "<DIV class=lyrics>", "<div class=Saved>")
log("Saved Track[" & i & "] ID[" & tracks.Item(i).ID & "] Lyric[" & Left(l, 60) &"]")
End If
Else
log("Save Aborted Track[" & i & "] ID[" & tracks.Item(i).ID & "] Index[" & ti & "]")
End If
Next
log("Finished")
status.Caption = cnt & " Lyrics Saved"
If TryAutoClose Then
Destroy
End If
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub OnCancel(Btn)
Destroy
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub OnAbort(Btn)
log("")
log("Abort")
SDB.Objects("LyricatorWB") = Nothing
Btn.Caption = SDB.Localize("C&lose")
Btn.OnClickFunc = "OnCancel"
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub log(sText)
' Open log for append, create if needed, unicode
Set fLog = fso.OpenTextFile(sLOG, 8, true, -1)
fLog.WriteLine sText
fLog.Close
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Lyricator()
If fso.FileExists(sLOG) Then ' Remove log if needed
fso.DeleteFile(sLOG)
End If
log("Lyricator v" & sVersion & " started")
log("Log: " & sLOG)
log("App: " & sAppPath)
Dim ini : Set ini = SDB.IniFile
Dim UI : Set UI = SDB.UI
Dim TryAllArtists : TryAllArtists = ini.BoolValue("Lyricator", "TryAllArtists")
Dim TryCommaArtists : TryCommaArtists = ini.BoolValue("Lyricator", "TryCommaArtists")
Dim TryCleanupWhiteSpace : TryCleanupWhiteSpace = ini.BoolValue("Lyricator", "TryCleanupWhiteSpace")
Dim TryRejectSingleLine : TryRejectSingleLine = ini.BoolValue("Lyricator", "TryRejectSingleLine")
Dim TrySingleLineSearch : TrySingleLineSearch = ini.StringValue("Lyricator", "TrySingleLineSearch")
Dim TrySingleLineReplace : TrySingleLineReplace = ini.StringValue("Lyricator", "TrySingleLineReplace")
Dim TryParensA : TryParensA = ini.BoolValue("Lyricator", "TryParensA")
Dim TryBracketsA : TryBracketsA = ini.BoolValue("Lyricator", "TryBracketsA")
Dim TryBracesA : TryBracesA = ini.BoolValue("Lyricator", "TryBracesA")
Dim TryQuotesA : TryQuotesA = ini.BoolValue("Lyricator", "TryQuotesA")
Dim TryTheA : TryTheA = ini.BoolValue("Lyricator", "TryTheA")
Dim TryFeatA : TryFeatA = ini.BoolValue("Lyricator", "TryFeatA")
Dim TrySplitArrayA : TrySplitArrayA = ini.StringValue("Lyricator", "TrySplitArrayA")
Dim TryBlackListA : TryBlackListA = ini.StringValue("Lyricator", "TryBlackListA")
Dim TryParensT : TryParensT = ini.BoolValue("Lyricator", "TryParensT")
Dim TryBracketsT : TryBracketsT = ini.BoolValue("Lyricator", "TryBracketsT")
Dim TryBracesT : TryBracesT = ini.BoolValue("Lyricator", "TryBracesT")
Dim TryQuotesT : TryQuotesT = ini.BoolValue("Lyricator", "TryQuotesT")
Dim TryTheT : TryTheT = ini.BoolValue("Lyricator", "TryTheT")
Dim TryFeatT : TryFeatT = ini.BoolValue("Lyricator", "TryFeatT")
Dim TrySplitArrayT : TrySplitArrayT = ini.StringValue("Lyricator", "TrySplitArrayT")
Dim TryBlackListT : TryBlackListT = ini.StringValue("Lyricator", "TryBlackListT")
Dim tryAZLyrics : tryAZLyrics = ini.BoolValue("Lyricator", "tryAZLyrics")
Dim tryLyricWikia : tryLyricWikia = ini.BoolValue("Lyricator", "tryLyricWikia")
Dim tryLyrDB : tryLyrDB = ini.BoolValue("Lyricator", "tryLyrDB")
Dim tryLyricsVIP : tryLyricsVIP = ini.BoolValue("Lyricator", "tryLyricsVIP")
Dim tryLetras : tryLetras = ini.BoolValue("Lyricator", "tryLetras")
Dim tryLyricsMode : tryLyricsMode = ini.BoolValue("Lyricator", "tryLyricsMode")
Dim tryMp3Lyrics : tryMp3Lyrics = ini.BoolValue("Lyricator", "tryMp3Lyrics")
Dim trySeekALyric : trySeekALyric = ini.BoolValue("Lyricator", "trySeekALyric")
Dim tryMetroLyrics : tryMetroLyrics = ini.BoolValue("Lyricator", "tryMetroLyrics")
Dim tryELyrics : tryELyrics = ini.BoolValue("Lyricator", "tryELyrics")
Dim ToolbarIcon : ToolbarIcon = ini.BoolValue("Lyricator", "ToolbarIcon")
Dim TryAutoClose : TryAutoClose = ini.BoolValue("Lyricator", "TryAutoClose")
Dim FormWidth : FormWidth = 800
Dim FormHeight : FormHeight = 600
Dim frmMain : Set frmMain = UI.NewForm
frmMain.Common.SetRect 50, 50, FormWidth, FormHeight
frmMain.Common.MinWidth = 200
frmMain.Common.MinHeight = 150
frmMain.FormPosition = mmFormScreenCenter
frmMain.Caption = SDB.Localize("Lyricator")
frmMain.StayOnTop = True
frmMain.Common.Visible = True
Dim WB : Set WB = UI.NewActiveX(frmMain, "Shell.Explorer")
WB.Common.Align = mmAlignClient
WB.Common.ControlName = "WB"
WB.Interf.Navigate(sLoad)
Dim pnlFooter : Set pnlFooter = UI.NewPanel(frmMain)
pnlFooter.Common.Align = mmAlignBottom
pnlFooter.Common.Height = 37
Dim lblStatus : Set lblStatus = UI.NewLabel(pnlFooter)
lblStatus.Caption = ""
lblStatus.Common.SetRect FormWidth - 450, 16, 120, 25
lblStatus.Common.Anchors = mmAnchorRight + mmAnchorBottom
Dim btnSave : Set btnSave = UI.NewButton(pnlFooter)
btnSave.Caption = SDB.Localize("&Save")
btnSave.Common.SetRect FormWidth - 280, 6, 120, 25
btnSave.Common.Anchors = mmAnchorRight + mmAnchorBottom
btnSave.UseScript = sPath
btnSave.OnClickFunc = "OnSave"
btnSave.Default = true
Dim btnCancel : Set btnCancel = UI.NewButton(pnlFooter)
btnCancel.Caption = SDB.Localize("C&lose")
btnCancel.Common.SetRect FormWidth - 150, 6, 120, 25
btnCancel.Common.Anchors = mmAnchorRight + mmAnchorBottom
btnCancel.UseScript = sPath
btnCancel.OnClickFunc = "OnCancel"
btnCancel.Cancel = true
btnSave.Caption = SDB.Localize("Loading ...")
btnSave.Common.Enabled = False
btnCancel.Caption = SDB.Localize("Abort")
btnCancel.OnClickFunc = "OnAbort"
SDB.Objects("LyricatorStatus") = lblStatus
SDB.Objects("LyricatorForm") = frmMain
SDB.Objects("LyricatorWB") = WB
Dim tracks : Set tracks = SDB.SelectedSongList
Dim html : html = ""
html = html & "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"
html = html & "<html>"
html = html & " <head>"
html = html & " <script type=""text/javascript"" src=""" & sLyrMOO & """></script>"
html = html & " <script type=""text/javascript"" src=""" & sLyrJS & """></script>"
html = html & " <link type=""text/css"" rel=""stylesheet"" href=""" & sLyrCSS & """ />"
html = html & "<script type=""text/javascript"">"
log("Settings:")
If TryAllArtists Then
html = html & "tryAllArtists = true;"
log("tryAllArtists")
End If
If TryCommaArtists Then
html = html & "tryCommaArtists = true;"
log("tryCommaArtists")
End If
If TryCleanupWhiteSpace Then
html = html & "tryCleanupWhiteSpace = true;"
log("tryCleanupWhiteSpace")
End If
If TryRejectSingleLine Then
html = html & "tryRejectSingleLine = true;"
log("tryRejectSingleLine")
End If
If TrySingleLineSearch <> "" Then
html = html & "trySingleLineSearch = '" & TrySingleLineSearch & "';"
log("trySingleLineSearch = '" & TrySingleLineSearch & "'")
End If
If TrySingleLineReplace <> "" Then
html = html & "trySingleLineReplace = '" & TrySingleLineReplace & "';"
log("trySingleLineReplace = '" & TrySingleLineReplace & "'" )
End If
If TryParensA Then
html = html & "tryParensA = true;"
log("tryParensA")
End If
If TryBracketsA Then
html = html & "tryBracketsA = true;"
log("tryBracketsA")
End If
If TryBracesA Then
html = html & "tryBracesA = true;"
log("tryBracesA")
End If
If TryQuotesA Then
html = html & "tryQuotesA = true;"
log("tryQuotesA")
End If
If TryTheA Then
html = html & "tryTheA = true;"
log("tryTheA")
End If
If TryFeatA Then
html = html & "tryFeatA = true;"
log("tryFeatA")
End If
If TrySplitArrayA <> "" Then
html = html & "trySplitArrayA = '" & TrySplitArrayA & "';"
log("trySplitArrayA = '" & TrySplitArrayA & "'")
End If
If TryBlackListA <> "" Then
html = html & "tryBlackListA = '" & TryBlackListA & "';"
log("tryBlackListA = '" & TryBlackListA & "'")
End If
If TryParensT Then
html = html & "tryParensT = true;"
log("tryParensT")
End If
If TryBracketsT Then
html = html & "tryBracketsT = true;"
log("tryBracketsT")
End If
If TryBracesT Then
html = html & "tryBracesT = true;"
log("tryBracesT")
End If
If TryQuotesT Then
html = html & "tryQuotesT = true;"
log("tryQuotesT")
End If
If TryTheT Then
html = html & "tryTheT = true;"
log("tryTheT")
End If
If TryFeatT Then
html = html & "tryFeatT = true;"
log("tryFeatT")
End If
If TrySplitArrayT <> "" Then
html = html & "trySplitArrayT = '" & TrySplitArrayT & "';"
log("trySplitArrayT = '" & TrySplitArrayT & "'")
End If
If TryBlackListT <> "" Then
html = html & "tryBlackListT = '" & TryBlackListT & "';"
log("tryBlackListT = '" & TryBlackListT & "'")
End If
If tryAZLyrics Then
html = html & "tryAZLyrics = true;"
log("tryAZLyrics")
End If
If tryLyricWikia Then
html = html & "tryLyricWikia = true;"
log("tryLyricWikia")
End If
If tryLyrDB Then
html = html & "tryLyrDB = true;"
log("tryLyrDB")
End If
If tryLyricsVIP Then
html = html & "tryLyricsVIP = true;"
log("tryLyricsVIP")
End If
If tryLetras Then
html = html & "tryLetras = true;"
log("tryLetras")
End If
If tryLyricsMode Then
html = html & "tryLyricsMode = true;"
log("tryLyricsMode")
End If
If tryMp3Lyrics Then
html = html & "tryMp3Lyrics = true;"
log("tryMp3Lyrics")
End If
If trySeekALyric Then
html = html & "trySeekALyric = true;"
log("trySeekALyric")
End If
If tryMetroLyrics Then
html = html & "tryMetroLyrics = true;"
log("tryMetroLyrics")
End If
If tryELyrics Then
html = html & "tryELyrics = true;"
log("tryELyrics")
End If
html = html & "lyricatorLog ='" & Replace(sLog,"\","\\") & "';"
html = html & "loadinggif ='" & Replace(sLoad,"\","\\") & "';"
log("")
html = html & "</script>"
html = html & " </head>"
html = html & " <body>"
html = html & " <div id=""Header""><div id=""Legend""></div></div>"
html = html & " <div id=""Popup""></div>"
html = html & " <div id=""Hidden""></div>"
html = html & " <div id=""Status""></div>"
html = html & " <div id=""DataScroll"">"
html = html & " <div id=""Data"">"
Dim abort : abort = false
Dim interval : interval = 1
log(tracks.count & " Tracks Selected")
If tracks.count > 10000 Then
interval = 100
ElseIf tracks.count > 1000 Then
interval = 25
ElseIf tracks.count > 100 Then
interval = 10
ElseIf tracks.count = 0 Then
Debug "No Tracks selected"
log("No Tracks selected")
Destroy
Exit Sub
End If
Dim status : Set status = SDB.Objects("LyricatorStatus")
Dim i
Dim i2: i2 = 0
For i = 0 to tracks.count - 1
SDB.ProcessMessages
If SDB.Objects("LyricatorWB") is nothing Then
abort = true
Exit For
End If
If (i + 1) Mod interval = 0 Then
status.Caption = SDB.Localize("Loading " & (i+1) & "/" & (tracks.count) & " ...")
End If
With tracks.item(i)
If .ID <> -1 Then
i2 = i2 + 1
html = html & "<div id=""" & .ID & """ class=""track"">"
html = html & "<div class=""checkbox""><input type=""checkbox"" disabled=""true"" /></div>"
html = html & "<div class=""trackindex"">" & i & "</div>"
html = html & "<div class=""artist"">" & .ArtistName
If TryAllArtists Then
If .Conductor <> "" And .Conductor <> .ArtistName Then html = html & ";" & .Conductor End If
If .InvolvedPeople <> "" And .InvolvedPeople <> .ArtistName Then html = html & ";" & .InvolvedPeople End If
If .Lyricist <> "" And .Lyricist <> .ArtistName Then html = html & ";" & .Lyricist End If
If .MusicComposer <> "" And .MusicComposer <> .ArtistName Then html = html & ";" & .MusicComposer End If
If .OriginalArtist <> "" And .OriginalArtist <>.ArtistName Then html = html & ";" & .OriginalArtist End If
If .OriginalLyricist <> "" And .OriginalLyricist <> .ArtistName Then html = html & ";" & .OriginalLyricist End If
End If
html = html & "</div>"
html = html & "<div class=""title"">" & .Title & "</div>"
html = html & "<div class=""lyrics""></div>"
html = html & "</div>"
log("i[" & i & "] ID[" & .ID & "] A[" & .ArtistName & "] T[" & .Title & "]")
Else
log("Error i[" & i & "] ID[" & .ID & "] A[" & .ArtistName & "] T[" & .Title & "]")
End If
End With
Next
html = html & " </div>"
html = html & " </div>"
html = html & " </body>"
html = html & "</html>"
status.Caption = ""
SDB.ProcessMessages
SDB.Objects("LyricatorTracks") = tracks
html = Replace(html, ChrW(-257), "")
if i2 = 0 Then
log("No library tracks to process")
abort = true
End If
If abort Then
log("Lyricator aborted")
Destroy
Else
log("Starting temp.html")
Dim f : Set f = fso.OpenTextFile(sHTML, 2, true, -1) 'Owyn - Needs to be opened for Unicode
f.WriteLine html
f.close
Set f = Nothing
Set fLog = Nothing
btnSave.Caption = SDB.Localize("&Save")
btnSave.Common.Enabled = True
btnCancel.Caption = SDB.Localize("C&lose")
btnCancel.OnClickFunc = "OnCancel"
WB.Interf.Navigate(sHTML)
End If
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function INIDefault(v, d)
If v = "" Or v = "False" Then
Debug v
v = d
End If
INIDefault = v
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Debug(s)
Call SDB.MessageBox(s, mtInformation, Array(mbOk))
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub OnStartUp
Dim i : i = SDB.UI.AddOptionSheet("Lyricator", Script.ScriptPath, "InitSheet", "SaveSheet", -3)
Dim but : Set but = SDB.Objects("LyricatorIcon")
If (but Is Nothing) Then
Set but = SDB.UI.AddMenuItem(SDB.UI.Menu_TbStandard,0,0)
but.Caption = "Lyricator"
but.IconIndex = SDB.RegisterIcon("Scripts\Lyricator\App.ico",0)
but.UseScript = Script.ScriptPath
but.OnClickFunc = "Toolbar"
Set SDB.Objects("LyricatorIcon") = but
End If
Dim ini : Set ini = SDB.IniFile
but.Visible = ini.BoolValue("Lyricator","ToolbarIcon")
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Toolbar(but)
Call Lyricator()
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub InitSheet(Sheet)
Dim UI : Set UI = SDB.UI
Dim ini : Set ini = SDB.IniFile
Dim TryAllArtists : TryAllArtists = ini.BoolValue("Lyricator", "TryAllArtists")
Dim TryCommaArtists : TryCommaArtists = ini.BoolValue("Lyricator", "TryCommaArtists")
Dim TryCleanupWhiteSpace : TryCleanupWhiteSpace = ini.BoolValue("Lyricator", "TryCleanupWhiteSpace")
Dim TryRejectSingleLine : TryRejectSingleLine = ini.BoolValue("Lyricator", "TryRejectSingleLine")
Dim TrySingleLineSearch : TrySingleLineSearch = ini.StringValue("Lyricator", "TrySingleLineSearch")
Dim TrySingleLineReplace : TrySingleLineReplace = ini.StringValue("Lyricator", "TrySingleLineReplace")
Dim TryParensA : TryParensA = ini.BoolValue("Lyricator", "TryParensA")
Dim TryBracketsA : TryBracketsA = ini.BoolValue("Lyricator", "TryBracketsA")
Dim TryBracesA : TryBracesA = ini.BoolValue("Lyricator", "TryBracesA")
Dim TryQuotesA : TryQuotesA = ini.BoolValue("Lyricator", "TryQuotesA")
Dim TryTheA : TryTheA = ini.BoolValue("Lyricator", "TryTheA")
Dim TryFeatA : TryFeatA = ini.BoolValue("Lyricator", "TryFeatA")
Dim TrySplitArrayA : TrySplitArrayA = ini.StringValue("Lyricator", "TrySplitArrayA")
Dim TryBlackListA : TryBlackListA = ini.StringValue("Lyricator", "TryBlackListA")
Dim TryParensT : TryParensT = ini.BoolValue("Lyricator", "TryParensT")
Dim TryBracketsT : TryBracketsT = ini.BoolValue("Lyricator", "TryBracketsT")
Dim TryBracesT : TryBracesT = ini.BoolValue("Lyricator", "TryBracesT")
Dim TryQuotesT : TryQuotesT = ini.BoolValue("Lyricator", "TryQuotesT")
Dim TryTheT : TryTheT = ini.BoolValue("Lyricator", "TryTheT")
Dim TryFeatT : TryFeatT = ini.BoolValue("Lyricator", "TryFeatT")
Dim TrySplitArrayT : TrySplitArrayT = ini.StringValue("Lyricator", "TrySplitArrayT")
Dim TryBlackListT : TryBlackListT = ini.StringValue("Lyricator", "TryBlackListT")
Dim tryAZLyrics : tryAZLyrics = ini.BoolValue("Lyricator", "tryAZLyrics")
Dim tryLyricWikia : tryLyricWikia = ini.BoolValue("Lyricator", "tryLyricWikia")
Dim tryLyrDB : tryLyrDB = ini.BoolValue("Lyricator", "tryLyrDB")
Dim tryLyricsVIP : tryLyricsVIP = ini.BoolValue("Lyricator", "tryLyricsVIP")
Dim tryLetras : tryLetras = ini.BoolValue("Lyricator", "tryLetras")
Dim tryLyricsMode : tryLyricsMode = ini.BoolValue("Lyricator", "tryLyricsMode")
Dim tryMp3Lyrics : tryMp3Lyrics = ini.BoolValue("Lyricator", "tryMp3Lyrics")
Dim trySeekALyric : trySeekALyric = ini.BoolValue("Lyricator", "trySeekALyric")
Dim tryMetroLyrics : tryMetroLyrics = ini.BoolValue("Lyricator", "tryMetroLyrics")
Dim tryELyrics : tryELyrics = ini.BoolValue("Lyricator", "tryELyrics")
Dim TryAutoClose : TryAutoClose = ini.BoolValue("Lyricator", "TryAutoClose")
Dim ToolbarIcon : ToolbarIcon = ini.BoolValue("Lyricator", "ToolbarIcon")
Dim a : Set a = UI.NewGroupBox(Sheet) : a.Caption = "Artist Settings" : a.Common.SetRect 10, 12, 220, 240
Dim t : Set t = UI.NewGroupBox(Sheet) : t.Caption = "Title Settings" : t.Common.SetRect 240, 12, 230, 210
Dim l : Set l = UI.NewGroupBox(Sheet) : l.Caption = "Lyrics" : l.Common.SetRect 10, 257, 220, 170
Dim s : Set s = UI.NewGroupBox(Sheet) : s.Caption = "Sources" : s.Common.SetRect 240, 223, 230, 220
Dim g : Set g = UI.NewGroupBox(Sheet) : g.Caption = "General" : g.Common.SetRect 240, 450, 230, 55
Dim ls : Set ls = UI.NewGroupBox(l) : ls.Caption = "Single-Line Lyrics" : ls.Common.SetRect 10, 68, 205, 100
Dim e
Set e = UI.NewLabel(Sheet)
e.Caption = "v" & sVersion & " "
e.Common.Align = 4 ' Right
e.Common.FontColor = &HF0 'Dark red
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 60, 250, 20
e.Common.ControlName = "TryBracesT"
e.Common.Hint = "Remove anything within braces {}"
e.Caption = Translate("Remove Within Braces")
e.Checked = TryBracesT
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 20, 250, 20
e.Common.ControlName = "TryParensA"
e.Common.Hint = "Remove anything within parentheses ()"
e.Caption = Translate("Remove Within Parentheses")
e.Checked = TryParensA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 40, 250, 20
e.Common.ControlName = "TryBracketsA"
e.Common.Hint = "Remove anything within brackets []"
e.Caption = Translate("Remove Within Brackets")
e.Checked = TryBracketsA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 60, 250, 20
e.Common.ControlName = "TryBracesA"
e.Common.Hint = "Remove anything within braces {}"
e.Caption = Translate("Remove Within Braces")
e.Checked = TryBracesA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 80, 250, 20
e.Common.ControlName = "TryQuotesA"
e.Common.Hint = "Ignore single- and double-quotation marks"
e.Caption = Translate("Ignore Single/Double Quotes")
e.Checked = TryQuotesA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 100, 250, 20
e.Common.ControlName = "TryTheA"
e.Common.Hint = "Try removing 'The'. Example 'The Offsping' to 'Offsping'."
e.Caption = Translate("Try removing 'The' from results")
e.Checked = TryTheA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 120, 250, 20
e.Common.ControlName = "TryFeatA"
e.Common.Hint = "Try removing 'Feat'. Example 'The Offsping' to 'Offsping'."
e.Caption = Translate("Try removing 'Featuring' combinations")
e.Checked = TryFeatA
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 140, 250, 20
e.Common.ControlName = "TryAllArtists"
e.Common.Hint = "Attempt all artists (separated by semi-colon)"
e.Caption = Translate("Attempt All Artists")
e.Checked = TryAllArtists
Set e = UI.NewCheckbox(a)
e.Common.SetRect 15, 160, 250, 20
e.Common.ControlName = "TryCommaArtists"
e.Common.Hint = "Convert ""Surname, Name"" to ""Name Surname"""
e.Caption = Translate("Fix Comma Surnames")
e.Checked = TryCommaArtists
Set e = UI.NewLabel(a)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 190, 200, 20
e.Caption = Translate("Delimiter Array") & ":"
Set e = ui.NewEdit(a)
e.Common.SetRect 100, 187, 100, 17
e.Common.ControlName = "TrySplitArrayA"
e.Common.Hint = "Semi-colon-separated delimeter array"
e.Text = TrySplitArrayA
Set e = UI.NewLabel(a)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 215, 200, 20
e.Caption = Translate("Black List") & ":"
Set e = ui.NewEdit(a)
e.Common.SetRect 100, 212, 100, 17
e.Common.ControlName = "TryBlackListA"
e.Common.Hint = "Semi-colon-separated Black List (ignore these words)"
e.Text = TryBlackListA
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 20, 250, 20
e.Common.ControlName = "TryParensT"
e.Common.Hint = "Remove anything within parentheses ()"
e.Caption = Translate("Remove Within Parentheses")
e.Checked = TryParensT
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 40, 250, 20
e.Common.ControlName = "TryBracketsT"
e.Common.Hint = "Remove anything within brackets []"
e.Caption = Translate("Remove Within Brackets")
e.Checked = TryBracketsT
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 60, 250, 20
e.Common.ControlName = "TryBracesT"
e.Common.Hint = "Remove anything within braces {}"
e.Caption = Translate("Remove Within Braces")
e.Checked = TryBracesT
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 80, 250, 20
e.Common.ControlName = "TryQuotesT"
e.Common.Hint = "Ignore single- and double-quotation marks"
e.Caption = Translate("Ignore Single/Double Quotes")
e.Checked = TryQuotesT
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 100, 250, 20
e.Common.ControlName = "TryTheT"
e.Common.Hint = "Try removing 'The'. Example 'The Offsping' to 'Offsping'."
e.Caption = Translate("Try removing 'The' from results")
e.Checked = TryTheT
Set e = UI.NewCheckbox(t)
e.Common.SetRect 15, 120, 250, 20
e.Common.ControlName = "TryFeatT"
e.Common.Hint = "Try removing 'Feat'. Example 'The Offsping' to 'Offsping'."
e.Caption = Translate("Try removing 'Featuring' combinations")
e.Checked = TryFeatT
Set e = UI.NewLabel(t)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 150, 200, 20
e.Caption = Translate("Delimiter Array") & ":"
Set e = ui.NewEdit(t)
e.Common.SetRect 100, 147, 100, 17
e.Common.ControlName = "TrySplitArrayT"
e.Common.Hint = "Semi-colon-separated delimeter array"
e.Text = TrySplitArrayT
Set e = UI.NewLabel(t)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 180, 200, 20
e.Caption = Translate("Black List") & ":"
Set e = ui.NewEdit(t)
e.Common.SetRect 100, 177, 100, 17
e.Common.ControlName = "TryBlackListT"
e.Common.Hint = "Semi-colon-separated Black List (ignore these words)"
e.Text = TryBlackListT
Set e = UI.NewCheckbox(l)
e.Common.SetRect 15, 20, 250, 20
e.Common.ControlName = "TryCleanupWhiteSpace"
e.Common.Hint = "Consolidate excess white-space (e.g. three or more line breaks)"
e.Caption = Translate("Cleanup Whitespace")
e.Checked = TryCleanupWhiteSpace
Set e = UI.NewCheckbox(ls)
e.Common.SetRect 15, 20, 250, 20
e.Common.ControlName = "TryRejectSingleLine"
e.Common.Hint = "Ignore lyrics that contain only one single line"
e.Caption = Translate("Ignore")
e.Checked = TryRejectSingleLine
Set e = UI.NewLabel(ls)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 50, 200, 20
e.Caption = Translate("Search String") & ":"
Set e = ui.NewEdit(ls)
e.Common.SetRect 100, 47, 100, 17
e.Common.ControlName = "TrySingleLineSearch"
e.Common.Hint = "Single-Line Search String"
e.Text = TrySingleLineSearch
Set e = UI.NewLabel(ls)
e.Alignment = 0
e.Autosize = False
e.Common.SetRect 15, 80, 200, 20
e.Caption = Translate("Replace String") & ":"
Set e = ui.NewEdit(ls)
e.Common.SetRect 100, 75, 100, 17
e.Common.ControlName = "TrySingleLineReplace"
e.Common.Hint = "Single-Line Replace String"
e.Text = TrySingleLineReplace
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 20, 250, 20
e.Common.ControlName = "tryAZLyrics"
e.Common.Hint = "Search using www.AZLyrics.com"
e.Caption = Translate("www.AZLyrics.com")
e.Checked = tryAZLyrics
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 40, 250, 20
e.Common.ControlName = "tryLyricWikia"
e.Common.Hint = "Search using Lyric.Wikia.com"
e.Caption = Translate("Lyric.Wikia.com")
e.Checked = tryLyricWikia
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 60, 250, 20
e.Common.ControlName = "tryLyrDB"
e.Common.Hint = "Search using www.LyrDB.com"
e.Caption = Translate("www.LyrDB.com")
e.Checked = tryLyrDB
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 80, 250, 20
e.Common.ControlName = "tryLyricsVIP"
e.Common.Hint = "Status of site is unknown but doesn't appear to work anymore. May get removed."
e.Caption = Translate("www.LyricsVIP.com (no longer works)")
e.Checked = tryLyricsVIP
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 100, 250, 20
e.Common.ControlName = "tryLetras"
e.Common.Hint = "Search using letras.mus.br. Site can sometimes give odd lyric results, so scrutinize any matches from here."
e.Caption = Translate("letras.mus.br (Can be Unreliable)")
e.Checked = tryLetras
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 120, 250, 20
e.Common.ControlName = "tryLyricsMode"
e.Common.Hint = "Search using www.lyricsmode.com"
e.Caption = Translate("www.lyricsmode.com")
e.Checked = tryLyricsMode
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 140, 250, 20
e.Common.ControlName = "tryMp3Lyrics"
e.Common.Hint = "Search using www.mp3lyrics.org"
e.Caption = Translate("www.mp3lyrics.org")
e.Checked = tryMp3Lyrics
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 160, 250, 20
e.Common.ControlName = "trySeekALyric"
e.Common.Hint = "Search using www.seekalyric.com"
e.Caption = Translate("www.seekalyric.com")
e.Checked = trySeekALyric
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 180, 250, 20
e.Common.ControlName = "tryMetroLyrics"
e.Common.Hint = "Search using www.metrolyrics.com"
e.Caption = Translate("www.metrolyrics.com")
e.Checked = tryMetroLyrics
Set e = UI.NewCheckbox(s)
e.Common.SetRect 15, 200, 250, 20
e.Common.ControlName = "tryELyrics"
e.Common.Hint = "Search using www.elyrics.net"
e.Caption = Translate("www.elyrics.net")
e.Checked = tryELyrics
Set e = UI.NewCheckbox(g)
e.Common.SetRect 15, 15, 250, 20
e.Common.ControlName = "TryAutoClose"
e.Common.Hint = "Auto-Close when done saving lyrics"
e.Caption = Translate("Auto-Close After Save")
e.Checked = TryAutoClose
Set e = UI.NewCheckbox(g)
e.Common.SetRect 15, 35, 250, 20
e.Common.ControlName = "ToolbarIcon"
e.Common.Hint = "Create a short on the toolbar to run Lyricator"
e.Caption = Translate("Enabletoolbar icon")
e.Checked = ToolbarIcon
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub SaveSheet(Sheet)
Dim ini : Set ini = SDB.IniFile
ini.BoolValue("Lyricator", "TryAllArtists") = Sheet.Common.ChildControl("TryAllArtists").Checked
ini.BoolValue("Lyricator", "TryCommaArtists") = Sheet.Common.ChildControl("TryCommaArtists").Checked
ini.BoolValue("Lyricator", "TryCleanupWhiteSpace") = Sheet.Common.ChildControl("TryCleanupWhiteSpace").Checked
ini.BoolValue("Lyricator", "TryRejectSingleLine") = Sheet.Common.ChildControl("TryRejectSingleLine").Checked
ini.StringValue("Lyricator", "TrySingleLineSearch") = Sheet.Common.ChildControl("TrySingleLineSearch").Text
ini.StringValue("Lyricator", "TrySingleLineReplace") = Sheet.Common.ChildControl("TrySingleLineReplace").Text
ini.BoolValue("Lyricator", "TryParensA") = Sheet.Common.ChildControl("TryParensA").Checked
ini.BoolValue("Lyricator", "TryBracketsA") = Sheet.Common.ChildControl("TryBracketsA").Checked
ini.BoolValue("Lyricator", "TryBracesA") = Sheet.Common.ChildControl("TryBracesA").Checked
ini.BoolValue("Lyricator", "TryQuotesA") = Sheet.Common.ChildControl("TryQuotesA").Checked
ini.BoolValue("Lyricator", "TryTheA") = Sheet.Common.ChildControl("TryTheA").Checked
ini.BoolValue("Lyricator", "TryFeatA") = Sheet.Common.ChildControl("TryFeatA").Checked
ini.StringValue("Lyricator", "TrySplitArrayA") = Sheet.Common.ChildControl("TrySplitArrayA").Text
ini.StringValue("Lyricator", "TryBlackListA") = Sheet.Common.ChildControl("TryBlackListA").Text
ini.BoolValue("Lyricator", "TryParensT") = Sheet.Common.ChildControl("TryParensT").Checked
ini.BoolValue("Lyricator", "TryBracketsT") = Sheet.Common.ChildControl("TryBracketsT").Checked
ini.BoolValue("Lyricator", "TryBracesT") = Sheet.Common.ChildControl("TryBracesT").Checked
ini.BoolValue("Lyricator", "TryQuotesT") = Sheet.Common.ChildControl("TryQuotesT").Checked
ini.BoolValue("Lyricator", "TryTheT") = Sheet.Common.ChildControl("TryTheT").Checked
ini.BoolValue("Lyricator", "TryFeatT") = Sheet.Common.ChildControl("TryFeatT").Checked
ini.StringValue("Lyricator", "TrySplitArrayT") = Sheet.Common.ChildControl("TrySplitArrayT").Text
ini.StringValue("Lyricator", "TryBlackListT") = Sheet.Common.ChildControl("TryBlackListT").Text
If Not Sheet.Common.ChildControl("trySeekALyric").Checked And Not Sheet.Common.ChildControl("tryAZLyrics").Checked And Not Sheet.Common.ChildControl("tryLyricsVIP").Checked And Not Sheet.Common.ChildControl("tryLyricWikia").Checked And Not Sheet.Common.ChildControl("tryLyrDB").Checked And Not Sheet.Common.ChildControl("tryLetras").Checked And Not Sheet.Common.ChildControl("tryLyricsMode").Checked And Not Sheet.Common.ChildControl("tryMp3Lyrics").Checked And Not Sheet.Common.ChildControl("tryMetroLyrics").Checked And Not Sheet.Common.ChildControl("tryELyrics").Checked Then
Debug "You Must Have One Lyric Server Checked" & vbnewline & vbnewline & "Enabling: AZLyrics.com, Lyric.Wikia.com, LyrDB.com and LyricsVIP.com"
Sheet.Common.ChildControl("tryAZLyrics").Checked = True
Sheet.Common.ChildControl("tryLyricWikia").Checked = True
Sheet.Common.ChildControl("tryLyrDB").Checked = True
Sheet.Common.ChildControl("tryLyricsVIP").Checked = True
Sheet.Common.ChildControl("tryLyricsMode").Checked = True
Sheet.Common.ChildControl("tryMp3Lyrics").Checked = True
Sheet.Common.ChildControl("trySeekALyric").Checked = True
Sheet.Common.ChildControl("tryMetroLyrics").Checked = True
Sheet.Common.ChildControl("tryELyrics").Checked = True
End If
ini.BoolValue("Lyricator", "tryAZLyrics") = Sheet.Common.ChildControl("tryAZLyrics").Checked
ini.BoolValue("Lyricator", "tryLyricWikia") = Sheet.Common.ChildControl("tryLyricWikia").Checked
ini.BoolValue("Lyricator", "tryLyrDB") = Sheet.Common.ChildControl("tryLyrDB").Checked
ini.BoolValue("Lyricator", "tryLyricsVIP") = Sheet.Common.ChildControl("tryLyricsVIP").Checked
ini.BoolValue("Lyricator", "tryLetras") = Sheet.Common.ChildControl("tryLetras").Checked
ini.BoolValue("Lyricator", "tryLyricsMode") = Sheet.Common.ChildControl("tryLyricsMode").Checked
ini.BoolValue("Lyricator", "tryMp3Lyrics") = Sheet.Common.ChildControl("tryMp3Lyrics").Checked
ini.BoolValue("Lyricator", "trySeekALyric") = Sheet.Common.ChildControl("trySeekALyric").Checked
ini.BoolValue("Lyricator", "tryMetroLyrics") = Sheet.Common.ChildControl("tryMetroLyrics").Checked
ini.BoolValue("Lyricator", "tryELyrics") = Sheet.Common.ChildControl("tryELyrics").Checked
ini.BoolValue("Lyricator", "TryAutoClose") = Sheet.Common.ChildControl("TryAutoClose").Checked
ini.BoolValue("Lyricator", "ToolbarIcon") = Sheet.Common.ChildControl("ToolbarIcon").Checked
Dim but : Set but = SDB.Objects("LyricatorIcon")
but.Visible = ini.BoolValue("Lyricator","ToolbarIcon")
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Translate(str)
Translate = str
Dim dic : Set dic = SDB.Objects("LyrDict")
If Not (dic Is Nothing) Then
If dic.Exists(str) Then
Translate = dic.Item(str)
End If
End If
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Install()
Dim iniFile : iniFile = SDB.ApplicationPath & "Scripts\Scripts.ini"
Dim f : Set f = SDB.Tools.IniFileByPath(iniFile)
If Not (f Is Nothing) Then
f.StringValue("Lyricator", "Filename") = "Auto\lyricator.vbs"
f.StringValue("Lyricator", "Procname") = "Lyricator"
f.StringValue("Lyricator", "Order") = "99"
f.StringValue("Lyricator", "DisplayName") = "Lyricator"
f.StringValue("Lyricator", "Description") = "Batch Import Lyrics"
f.StringValue("Lyricator", "Language") = "VBScript"
f.StringValue("Lyricator", "ScriptType") = "0"
SDB.RefreshScriptItems
End If
Dim ini : Set ini = SDB.IniFile
If Not ini.BoolValue("Lyricator", "TryAllArtists") Then ini.BoolValue("Lyricator", "TryAllArtists") = False End If
If Not ini.BoolValue("Lyricator", "TryCommaArtists") Then ini.BoolValue("Lyricator", "TryCommaArtists") = True End If
If Not ini.BoolValue("Lyricator", "TryCleanupWhiteSpace") Then ini.BoolValue("Lyricator", "TryCleanupWhiteSpace") = True End If
If Not ini.BoolValue("Lyricator", "TryRejectSingleLine") Then ini.BoolValue("Lyricator", "TryRejectSingleLine") = False End If
If ini.StringValue("Lyricator", "TrySingleLineSearch") = "" Then ini.StringValue("Lyricator", "TrySingleLineSearch") = "Instr" End If
If ini.StringValue("Lyricator", "TrySingleLineReplace") = "" Then ini.StringValue("Lyricator", "TrySingleLineReplace") = "[Instrumental]" End If
If Not ini.BoolValue("Lyricator", "TryParensA") Then ini.BoolValue("Lyricator", "TryParensA") = True End If
If Not ini.BoolValue("Lyricator", "TryBracketsA") Then ini.BoolValue("Lyricator", "TryBracketsA") = True End If
If Not ini.BoolValue("Lyricator", "TryBracesA") Then ini.BoolValue("Lyricator", "TryBracesA") = True End If
If Not ini.BoolValue("Lyricator", "TryQuotesA") Then ini.BoolValue("Lyricator", "TryQuotesA") = True End If
If Not ini.BoolValue("Lyricator", "TryTheA") Then ini.BoolValue("Lyricator", "TryTheA") = True End If
If Not ini.BoolValue("Lyricator", "TryFeatA") Then ini.BoolValue("Lyricator", "TryFeatA") = True End If
If ini.StringValue("Lyricator", "TrySplitArrayA") = "" Then ini.StringValue("Lyricator", "TrySplitArrayA") = "and;&;+" End If
If ini.StringValue("Lyricator", "TryBlackListA") = "" Then ini.StringValue("Lyricator", "TryBlackListA") = "" End If
If Not ini.BoolValue("Lyricator", "TryParensT") Then ini.BoolValue("Lyricator", "TryParensT") = True End If
If Not ini.BoolValue("Lyricator", "TryBracketsT") Then ini.BoolValue("Lyricator", "TryBracketsT") = True End If
If Not ini.BoolValue("Lyricator", "TryBracesT") Then ini.BoolValue("Lyricator", "TryBracesT") = True End If
If Not ini.BoolValue("Lyricator", "TryQuotesT") Then ini.BoolValue("Lyricator", "TryQuotesT") = True End If
If Not ini.BoolValue("Lyricator", "TryTheT") Then ini.BoolValue("Lyricator", "TryTheT") = True End If
If Not ini.BoolValue("Lyricator", "TryFeatT") Then ini.BoolValue("Lyricator", "TryFeatT") = True End If
If ini.StringValue("Lyricator", "TrySplitArrayT") = "" Then ini.StringValue("Lyricator", "TrySplitArrayT") = "" End If
If ini.StringValue("Lyricator", "TryBlackListT") = "" Then ini.StringValue("Lyricator", "TryBlackListT") = "Medley" End If
If Not ini.BoolValue("Lyricator", "tryAZLyrics") Then ini.BoolValue("Lyricator", "tryAZLyrics") = True End If
If Not ini.BoolValue("Lyricator", "tryLyricWikia") Then ini.BoolValue("Lyricator", "tryLyricWikia") = True End If
If Not ini.BoolValue("Lyricator", "tryLyrDB") Then ini.BoolValue("Lyricator", "tryLyrDB") = True End If
If Not ini.BoolValue("Lyricator", "tryLyricsVIP") Then ini.BoolValue("Lyricator", "tryLyricsVIP") = True End If
If Not ini.BoolValue("Lyricator", "tryLetras") Then ini.BoolValue("Lyricator", "tryLetras") = False End If
If Not ini.BoolValue("Lyricator", "tryLyricsMode") Then ini.BoolValue("Lyricator", "tryLyricsMode") = True End If
If Not ini.BoolValue("Lyricator", "tryMetroLyrics") Then ini.BoolValue("Lyricator", "tryMetroLyrics") = True End If
If Not ini.BoolValue("Lyricator", "tryELyrics") Then ini.BoolValue("Lyricator", "tryELyrics") = True End If
If Not ini.BoolValue("Lyricator", "TryAutoClose") Then ini.BoolValue("Lyricator", "TryAutoClose") = True End If
If Not ini.BoolValue("Lyricator", "ToolbarIcon") Then ini.BoolValue("Lyricator", "ToolbarIcon") = True End If
Debug "You'll need to restart MediaMonkey for Lyrictor to work correctly."
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' "Dreams"/Ideas (Search: *** TO DO ***):
' > Improve "CleanUp" - Remove spaces at end of lines, Auto-Case etc
' > Improve "search" order when bruteforcing - search AlbumArtist THEN add other names (reserve of the current method!)
' > Improve bruteforcing - with track title remove = ,-,(Half Brackets, etc Artist, albumartist
' Add "Lyrics on the fly" option - Save as soon as lyrics are downloaded
' "Use another source" option
' Tag missing album art/id3 info
' Upload to a source if already found to APIs (Help support sites) - or create our own?
' "Hide all tracks that DON'T have lyrics" option
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'####################################################################
' Added by C:\Program Files (x86)\MediaMonkey\Scripts\Auto\RightClickForScripts.vbs
Sub RightClickForScripts_Lyricator(o)
Lyricator
End Sub
'####################################################################