

Gracenote for winamp full#
If NOT StringRegExp ( $szTempKey, $szRegEx ) Then ContinueLoop Read the DLL GUID $szGUID = RegRead ( "HKCR\" & $szTempKey & "\CLSID", "" ) If Then ContinueLoop Read the DLL path from the GUID key $szDLLPath = RegRead ( "HKCR\CLSID\" & $szGuid & "\InProcServer32", "" ) If Then $szDLLPath = RegRead ( "HKCR\WOW6432Node\CLSID\" & $szTempKey & "\InProcServer32", "" ) If Then ContinueLoop EndIf If NOT FileExists ( $szDLLPath ) Then ContinueLoop Get the filename from the full path $aDLLName = StringRegExp ( $szDLLPath, "(+)(?!)$", 1 ) If NOt IsArray ( $aDLLName ) Then ContinueLoop $szDLLName = $aDLLName Check if we don't have this DLL already $iTempBound = UBound ( $aOrigDLLNames ) If _ArraySearch ( $aOrigDLLNames, $szDLLName, 1, $iTempBound ) - 1 Then ContinueLoop EndIf Array is filled already, enlarge it If $aOrigDLLNames = $iTempBound - 1 Then ReDim $aOrigDLLNames ReDim $aOrigDLLPaths EndIf $aOrigDLLNames += 1 $aOrigDLLPaths += 1 $aOrigDLLNames ] = $szDLLName $aOrigDLLPaths ] = $szDLLPath WEnd If $aOrigDLLNames Then $aNameList = $aOrigDLLNames $aPathList = $aOrigDLLPaths Return SetError ( 0, $aOrigDLLNames, 1 ) EndIf Return SetError ( 1, 0, 0 ) EndFunc Edited Februby danielkza The second instances end with an '.1', and these will be ignored. #ce - #include #include Global $aNameList, $aPathList $iPathListOK = GetDLLList ( $aNameList, $aPathList, "(?i)CDDB.+NSWinamp\.+(?!\.1)$" ) IF NOT $iPathListOK Then $aNameList = _FileListToArray ( & "\plugins\gracenote", "*.dll", 1 ) Else For $i = 1 To $aPathList RunWait ( StringFormat ( 'regsvr32 /s /u "%s"', $aPathList ) ) Next EndIF For $i = 1 To $aNameList RunWait ( StringFormat ( 'regsvr32 /s "%s"', & "\plugins\gracenote\" & $aNameList ) ) Next RunWait ( & "\winamp.exe" ) For $i = 1 To $aNameList RunWait ( StringFormat ( 'regsvr32 /s /u "%s"', & "\plugins\gracenote\" & $aNameList ) ) Next IF $iPathListOK Then For $i = 1 To $aPathList RunWait ( StringFormat ( 'regsvr32 /s "%s"', $aPathList ) ) Next EndIf Backup Original DLL Paths Func GetDLLList ( ByRef $aNameList, ByRef $aPathList, $szRegEx ) Local $iEnumPos = 1, $szTempKey, $szGUID, $szDLLPath, $aDLLName, $iTempBound Local $aOrigDLLNames =, $aOrigDLLPaths = While True Enumerate key $szTempKey = RegEnumKey ( "HKCR", $iEnumPos ) If Then ExitLoop $iEnumPos += 1 Check if it's one of the CDDB keys Keys are repeated.
Gracenote for winamp portable#
Properly register CDDB DLLs for portable Winamp Installations. You should have received a copy of the GNU General Public License

GNU General Public License for more details. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program is distributed in the hope that it will be useful,īut WITHOUT ANY WARRANTY without even the implied warranty of
Gracenote for winamp software#
The Free Software Foundation, either version 3 of the License, or It under the terms of the GNU General Public License as published by This program is free software: you can redistribute it and/or modify Expand collapse popup #cs -Ĭopyright 2009: Daniel Quadros de Miranda (aka danielkza)
