Hallo!
Ich bin grade dabei fuer mein Xfire ein Addon zu machen das es schon gibt
Ich wills halt einfach nur nachbaun, auch wenns einfach scheint
Ich rede von dem Musicplugin, auf https://autoit.de/www.xfireplus.com kann man sich das holen.
Des Bewirkt das man, wenn man musik hoert, seinen status auf den Titel + ein nerviges "http://xfireplus.com" dran. Darum auch der nachbau =)
Also ich krieg zb "Oomph - Mein Herz http://xfireplus.com" als status.
Nicht sehr prikelnd
Naja ich wollte mir Winamp anfang und spaeter versuchen mehr Musikplayer zu unterstuetzen, unteranderem mienen geliebten VLC Media Player
Gut nun zu meinem eigentlichen anliegen:
Nach den ersten 4 sekunden bin ich auf die Idee zu kommen nach einem Fenster mit "Winamp" drin zu suchen und mir, wenn vorhanden, den Titel geben zu lassen. Leider bekam ich "Playlist editor - Winamp" wieder
Also hab ich
Versucht und nach dem class name gesucht. Dies scheint ganz gut zu funzen. Aber ich weiß nicht ob der classname ueberall gleich ist (bin nicht so erfahren ^^) darum poste ich hier. Einfach mal Des kleine bissl Code mit eurem Winamp austesten und mir eine Rueckmeldung geben.
Spoiler anzeigen
;~ Erster Versuch: Ein WinAmp Fenster erkennen und den Titel so zu Filtern das das lied titel ding zurueckbleibt
;~ -Beginn: Suchen nach einem Fenster das eiglich nur des Winamp hauptfenster sein kann.
;~ -Dazu Filtere ich nach dem Speziellen classname und hoffe das es keine mutliplen fenster damit gibt
;~ -
;SCRIPT (so einfach es auch ist, ich habs so leicht nicht gepackt IST VON leviathan!!
AutoItSetOption("WinTitleMatchMode", 4) ; für "classname=CLASSNAME" um das Winampfenster zu bekommen
dim $Title ; Varibale deklarieren
$Title = WinGetTitle("classname=Winamp v1.x") ;ließt den Titel aus über classname vom Winampfenster also
$Title = StringRegExpReplace ($Title, "[0-9]", "") ; das ist ein Regulärer Ausdruck - am besten mal wikipedia schauen, dieser löscht die Nummer von dem Track z.B. "2047. the hives - die all right - Winamp"
$Title = StringTrimLeft ($Title, 2) ; Leerzeichenlöschen indem er vom String also dem Titel die ersten beiden chars von links löscht
$Title = StringTrimRight ($Title, 9); das - Winamp löschen
Msgbox(0,"",$Title)
Nebenbei: So ein dummes Variablen spiel kommt bei mir immer rum :-/
Hat wer tipps wie ich das etwas sinnvoller Strukturieren kann?
Ps: Nicht gleich auspeitschen wenn ich was katastrophal falsch verwende
Edit:
Das ganze ist geplahnt zur uebung mit Controls Wenn ich was mit Controls etc lese kommt mir das zu Kryptisch vor, deswegen will ich da mal was tun. Der status bei xfire scheint per controlfeld aenderbar, darum der ansatz
Edit2:
Die frage fuer mich ist, ob Class bei anderen Winamp fenstern auch einen uebereinstimmung findet, und so den Falschen titel filtert Auch frage ich mich ob das was mit der Winamp version zu tun hat Meine version kenn ich leider nicht... muss mal gucken
HMPF Edit3:
Sry @ 3tes mal edit, aber naja,
Hab schon wen gefunden ders mir testet. Bei ihm kam ein "error: Variable used without declared" bei der $Fenster_Titel variable. Das schaetze ich mal kommt durch den classname.
bei mir ist dieser "Winamp v1.x". darum ein anderer aufruf: an die tester die den selben error kriegen, bitte einmal Au3info ding dran lassen und mir den !genauen! classnamen liefern. Danköööö