Hallo,
habe mit der Winamp Steuerung 2 Probleme:
1.) Wann ich die Playlist öffnen lasse liest er mir 1 - Aktueller Titel aus statt 1 - Letzter Playlisttitel
2.) Da ich eine LED Laufschrift eingebaut habe und wann die aktualisiert wird flackert manches zb icons, labels, etc.
In der rar datei liegt folgendes bei:
* au3
* icons
* Includes [Winamp_Library.au3, LEDTXT.au3]
--- EDIT ---
Kann die au3 nicht als Spoiler anhängen danach löscht es mir den Ganzen Text von dem Beitrag...
--- EDIT ---
Flackern gelöst danke Mars
Problem 1 auch gelöst:
Spoiler anzeigen
;If Not @error Then $aRet_Array[0][0] = $aCurrent_Track[0] + 1 ;Deaktiviert damit alle Ausgelesen werden!
[/autoit][autoit]Func _Winamp_GetPlayListToArray($h_Winamp_Wnd = 0)
Local $aRet_Array[1][1]
Local $hWinamp, $iWinamp_PID, $iNull, $pAddress_Title, $pAddress_FPath, $hUser32Dll, $iNumTracks, $aCurrent_Track
$hWinamp = WinGetHandle($sWINAMP_CLASS)
If IsHWnd($h_Winamp_Wnd) Then $hWinamp = $h_Winamp_Wnd
If Not IsHWnd($hWinamp) Then Return SetError(1, 0, 0)
[/autoit] [autoit][/autoit] [autoit]$iWinamp_PID = WinGetProcess($hWinamp)
[/autoit] [autoit][/autoit] [autoit];Return number of tracks in playlist
$iNumTracks = DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWinamp, "int", _
$WM_WA_IPC, "int", 0, "int", $IPC_GETLISTLENGTH)
If @error Then Return SetError(2, 0, 0)
$iNumTracks = $iNumTracks[0]
[/autoit] [autoit][/autoit] [autoit]$aRet_Array[0][0] = $iNumTracks
ReDim $aRet_Array[$iNumTracks + 1][2]
;Return current playlist position (zero based)
$aCurrent_Track = DllCall("user32.dll", "int", "SendMessage", _
"hwnd", $hWinamp, "int", $WM_WA_IPC, "int", 0, "int", $IPC_GETLISTPOS)
;If Not @error Then $aRet_Array[0][0] = $aCurrent_Track[0] + 1 ;Deaktiviert damit alle Ausgelesen werden!
[/autoit] [autoit][/autoit] [autoit];IMPORTANT - First song will be skipped without this
$iNull = __API_GetInfoByAddress(0, 0)
If @error Then Return SetError(3, 0, 0)
$hUser32Dll = DllOpen("user32.dll")
If $hUser32Dll = -1 Then Return SetError(4, 0, 0)
For $i = 0 To $iNumTracks - 1
$pAddress_Title = 0
$pAddress_FPath = 0
;Return memory address (pointer) of track title
$pAddress_Title = DllCall($hUser32Dll, "int", "SendMessage", _
"hwnd", $hWinamp, "int", $WM_WA_IPC, "int", $i, "int", $IPC_GET_PLAYLISTTITLE)
If @error Then ContinueLoop
$aRet_Array[$i + 1][0] = __API_GetInfoByAddress($pAddress_Title[0], $iWinamp_PID)
If @error Then Return SetError(3, 0, 0)
;Return memory address (pointer) of track file path
$pAddress_FPath = DllCall($hUser32Dll, "int", "SendMessage", _
"hwnd", $hWinamp, "int", $WM_WA_IPC, "int", $i, "int", $IPC_GETPLAYLISTFILEW)
If @error Then ContinueLoop
$aRet_Array[$i + 1][1] = __API_GetInfoByAddress($pAddress_FPath[0], $iWinamp_PID)
If @error Then Return SetError(3, 0, 0)
Next
DllClose($hUser32Dll)
[/autoit] [autoit][/autoit] [autoit]Return $aRet_Array
EndFunc ;==>_Winamp_GetPlayListToArray