yxyx und ich hatten da auch mal was angefangen
"b" = Fahrrad fahren
yxyx und ich hatten da auch mal was angefangen
"b" = Fahrrad fahren
Sorry hatte mich da falsch ausgedrückt , ich meinte einen Filehoster (megaupload,rapidshare,etc..)
Ist ganz OK , kannst du mir sagen wie du den Setup gemacht hast?
Würde ich zu gern für mein Radio benutzen
Der Download ist übrigens sehr langsam , ich würde lieber einen Freehoster benutzen.
Zitatin gleichstarke Teams nach dem Zufallsprinzip.
Quest: Finde den Widerspruch
Naja i-wann wird die Engine released und früher oder später wird sich herausstellen ob es fake ist oder nicht , ich gebe ihr eine chance , da ich
ohne selber einen blick daraufgeworfen zu haben (also live) nichts beurteilen kann.
Naja die detailtiefe ist ja dennoch beeindruckend , oder hast du schonmal so eine spielegrafik gesehen?
Das mit dem unlimited kauf ich denen ja auch nicht so ab , aber die grafik der objekte ist ja echt der hammer
Bin letztens auf dieses Projekt aufmerksam geworden , das sieht ja sehr vielversprechend aus , meint ihr das wird unsere Videospiele in zukunft revolutionieren?
Der Minecraft-Entwickler (notch oder so) ist da eher skeptisch...
Für die paar Befehle die mein Script nutzt reicht es , läuft nämlich einwandfrei , hab FF6
Hallo Leute,
ich möchte euch mal eins meiner ersten Werke vorstellen , welches immernoch in Entwicklung ist. (Je nachdem wieviel Zeit ich übrig hab)
Es ist ein Web-Radio welches zusätzlich das Abspielen von Youtube-Titel unterstützt.
Würde gern wissen wies so ankommt und was man noch verbessern könnte bzw. ein paar Fragen hätte ich sogar schon.
Das einzige was ihr dazu braucht ist FF und das Plugin "Mozrepl".
Ich habe jetzt erstmal bewusst Sachen wie Mozrepldetector und Updater rausgelassen , da ich die eh neu schreiben muss.
Hier mal ein Screen:
http://imageshack.us/photo/my-images/716/swrscreen.png/
Uploaded with ImageShack.us
Source:
#include <WinAPI.au3>
#include "SliderTip.au3"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <Misc.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <GuiListView.au3>
#include <Date.au3>
#include <GuiMenu.au3>
#include <Array.au3>
#include "ModernMenuRaw.au3"
#include "_FF_YouTube_API.au3"
#include "FF.au3"
If _Singleton("SWR", 1) = 0 Then
MsgBox(16, "Fehler", "Ste`s Web-Radio wird bereits ausgeführt.")
Exit
EndIf
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode",3)
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)
AutoItSetOption("GUICloseOnESC", 0)
OnAutoItExitRegister("_cleanUp")
;###To Do###
;Auf "Variablen-Zombies" überprüfen
;FFRestarter_fixen (_FFTabClose broken)
;Neuen Updater schreiben
;Alle Bilder in Dll packen(vereinfacht updates)
;###########
;//Vars
Global $num = 0, $Label, $ff, $WMP, $iPos = 0, $YoutubeIsRunning = 0, $editForm, $all_stop, $sURL, $RadioIsRunning = 0, _
$path = @ScriptDir & "/Daten/radio.ini", $Input1, $Input2, $addForm, $stopurl = "about:blank", $vSlider, $iOld = -9, _
$delgui, $list, $dpath = @ScriptDir & "/Daten", $pauseico = $dpath & "/pause.bmp", $playico = $dpath & "/play.bmp", _
$volumeicon, $stopcurrenttimer = 0, $ytctlabel, $Hour, $Mins, $Secs, $sTime, $Time, $max, $ytmaxtime, $ytbufferlabel, $ytctimeslider, _
$readyttime, $Form1, $index, $eInput1, $eInput2, $menu1, $Capture = False, $tooltip, $stitle, $ismaxtime, $neterror = 0, $ended = 0, _
$adlib1, $sspeed = 1.5, $WinToWait = "The Book of Mozilla, 11:9 - Mozilla Firefox" , $WinFF = "SWR_FOX"
Dim $senderinfo[99][4]
Global $Version = "v.0.8.1", _
$muteico = @ScriptDir & "/Daten/Mute.bmp", _
$vlowico = @ScriptDir & "/Daten/Volumen_Lowr.bmp", _
$vmidico = @ScriptDir & "/Daten/Volumen_Middler.bmp", _
$vhighico = @ScriptDir & "/Daten/Volumen_Highr.bmp"
;//
$Youtube = IniReadSection($path, "Youtube")
$Radio = IniReadSection($path, "Radio")
$Other = IniReadSection($path, "Other")
$Form1 = GUICreate("Loading...", 253, 149, 990, 30, -1, $WS_EX_TOPMOST)
GUISetBkColor(0x4169E1)
$cBG = GUICtrlCreatePic($dpath & "/bck.jpg", 0, 0, 253, 149, $WS_CLIPSIBLINGS)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetOnEvent(-3, "_Exit")
$WMP = ObjCreate("WMPlayer.OCX")
$Play = GUICtrlCreatePic($playico, 184, 50, 32, 32)
$stop = GUICtrlCreatePic($dpath & "/stop.bmp", 218, 51, 32, 32)
GUICtrlSetOnEvent(-1, "_stop")
$Label = GUICtrlCreateLabel("CheckingNet...", 25, 14, 300, 16)
GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0x00FF00)
#region Youtube Controls
$ytctimeslider = _GuiCtrlCreateTransSlider1(5, 105, 242, 25, $Form1)
GUICtrlSetOnEvent(-1, "_seek")
$ytctlabel = GUICtrlCreateLabel("00:00", 13, 110, 40, 25)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFF0000)
$ytmaxtime = GUICtrlCreateLabel("/ 00:00", 48, 110, 55, 25)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFF0000)
$ytbufferlabel = GUICtrlCreateLabel("", 165, 112, 120, 25)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFF0000)
#endregion Youtube Controls
$Group1 = GUICtrlCreateGroup("", 0, 38, 253, 11)
$vSlider = _GuiCtrlCreateTransSlider2(5, 75, 140, 30, $Form1)
$volumeicon = GUICtrlCreatePic($dpath & "/Volumen_Middler.bmp", 146, 50, 32, 32)
GUICtrlSetOnEvent(-1, '_mute')
$menu1 = GUICtrlCreateMenu("&Titel")
SetBlueMenuColors()
$menu2 = GUICtrlCreateMenu("Extras")
SetBlueMenuColors()
_CreateSideZeug($menu1, "Titel")
_CreateSideZeug($menu2, "Extras")
$senderlist = _GUICtrlCreateODMenuItem("Radiosender suchen", $menu2, "shell32.dll", -210)
GUICtrlSetOnEvent(-1, '_Senderlist')
$senderlist2 = _GUICtrlCreateODMenuItem("Youtubetitel suchen", $menu2, @ScriptDir & "/Daten/youtube.ico")
GUICtrlSetOnEvent(-1, '_Senderlist2')
$add = _GUICtrlCreateODMenuItem("Titel hinzufügen", $menu2, "shell32.dll", -217)
GUICtrlSetOnEvent(-1, "_addtitle")
$edit = _GUICtrlCreateODMenuItem("Titel bearbeiten/löschen", $menu2, "shell32.dll", -132)
GUICtrlSetOnEvent(-1, "_DeleteOrEditTitle")
$Updateitem = _GUICtrlCreateODMenuItem("Update", $menu2, "shell32.dll", -14)
GUICtrlSetOnEvent(-1, '_update')
$creditz = _GUICtrlCreateODMenuItem("Credits", $menu2, "shell32.dll", -222)
GUICtrlSetOnEvent(-1, '_creditz')
_GUICtrlCreateODMenuItem("", $menu2)
$exit = _GUICtrlCreateODMenuItem("Beenden", $menu2, "shell32.dll", -28)
GUICtrlSetOnEvent(-1, "_Exit")
$titem = TrayCreateItem("Stumm schalten")
TrayItemSetOnEvent(-1, '_mute')
$titem2 = TrayCreateItem("Beenden")
TrayItemSetOnEvent(-1, '_Exit')
;//Radio(*asx)
For $i = 1 To UBound($Radio) - 1
$handle = _GUICtrlCreateODMenuItem($Radio[$i][0], $menu1, "shell32.dll", -139)
GUICtrlSetOnEvent(-1, "_identify")
$senderinfo[$i][0] = $Radio[$i][0]
$senderinfo[$i][1] = $Radio[$i][1]
$senderinfo[$i][2] = $handle
$senderinfo[$i][3] = "Radio"
$num += 1
Next
;//Youtube
For $i = 1 To UBound($Youtube) - 1
$handle = _GUICtrlCreateODMenuItem($Youtube[$i][0], $menu1, @ScriptDir & "/Daten/youtube.ico")
GUICtrlSetOnEvent(-1, "_identify")
$num += 1
$senderinfo[$num][0] = $Youtube[$i][0]
$senderinfo[$num][1] = $Youtube[$i][1]
$senderinfo[$num][2] = $handle
$senderinfo[$num][3] = "Youtube"
Next
;//Other
For $i = 1 To UBound($Other) - 1
$handle = _GUICtrlCreateODMenuItem($Other[$i][0], $menu1, "shell32.dll", -176) ; -211
GUICtrlSetOnEvent(-1, "_identify")
$num += 1
$senderinfo[$num][0] = $Other[$i][0]
$senderinfo[$num][1] = $Other[$i][1]
$senderinfo[$num][2] = $handle
$senderinfo[$num][3] = "Other"
Next
GUICtrlSetState($menu1, $GUI_DISABLE)
GUICtrlSetState($menu2, $GUI_DISABLE)
_DisableYTControls()
GUICtrlSetCursor($ytctimeslider, 0)
GUICtrlSetCursor($vSlider, 0)
GUISetState(@SW_SHOW)
_StartUpNetCheck()
GUICtrlSetData($Label, "Online")
$ff = _FFStart("about:mozilla", "default", 1, True,Default,Default,$WinToWait)
WinSetTitle($WinToWait,"",$WinFF)
If $ff = 0 Then
MsgBox(16+262144,"Fehler","Es konnte keine Verbindung hergestellt werden , bitte überprüfen Sie Ihre Interneteinstellungen.")
WinKill($WinFF)
Exit
EndIf
_FFPrefSet("browser.link.open_newwindow", 2)
WinSetTitle($Form1, "", "Ste`s Web-Radio " & $Version)
GUICtrlSetState($menu1, $GUI_ENABLE)
GUICtrlSetState($menu2, $GUI_ENABLE)
AdlibRegister("_volume", 50)
AdlibRegister("_NetChecker", 1000)
;~ Run(@ScriptDir & "/Updater.exe")
While Sleep(40)
_RadioMode()
_YTMode()
WEnd
Func _Senderlist()
__FFStartProcess("http://www.surfmusik.de/bundesland.htm", True)
EndFunc ;==>_Senderlist
Func _Senderlist2()
__FFStartProcess("http://www.youtube.com/?gl=DE&hl=de", True)
EndFunc ;==>_Senderlist2
Func _creditz()
MsgBox(64, "Credits", "Dieses Tool wurde gecoded von: S.Della Volpe" & @CRLF & "Scriptsprache: AutoIt" & @CRLF & "Besucht das deutsche Forum: http://www.autoit.de/" & @CRLF & @CRLF & "Icons von: http://findicons.com/" & @CRLF & "Sollte ich in irgend einer Weise gegen Copyright verstoßen, sagen Sie bitte bescheid, ich behebe es sofort!" & @CRLF & "Bei Bedarf kontaktieren Sie mich bitte über das Forum.")
EndFunc ;==>_creditz
Func _CreateSideZeug($param, $text)
Local $nSideItem
$nSideItem = _CreateSideMenu($param)
_SetSideMenuText($nSideItem, $text)
_SetSideMenuColor($nSideItem, __GCR_ColorConvert(0xFFFFFF))
_SetSideMenuBkColor($nSideItem, __GCR_ColorConvert(0x3399FF))
_SetSideMenuBkGradColor($nSideItem, __GCR_ColorConvert(0xFF0000))
EndFunc ;==>_CreateSideZeug
Func __GCR_ColorConvert($nColor);RGB to BGR or BGR to RGB
Return _
BitOR(BitAND($nColor, 0xFF000000), _
BitShift(BitAND($nColor, 0x000000FF), -16), _
BitAND($nColor, 0x0000FF00), _
BitShift(BitAND($nColor, 0x00FF0000), 16))
EndFunc ;==>__GCR_ColorConvert
Func _Exit()
Exit
EndFunc ;==>_Exit
#region main
Func _identify()
$adlib1 = 0
AdlibUnRegister("_Laufschrift")
GUICtrlSetData($Label, "Loading...")
For $i = 0 To UBound($senderinfo) - 1
If @GUI_CtrlId = $senderinfo[$i][2] Then _core($i)
Next
EndFunc ;==>_identify
Func _core($ID)
_FFRestarter()
_FF_YT("stopVideo")
$stitle = $senderinfo[$ID][0]
$sURL = $senderinfo[$ID][1]
$RadioIsRunning = 0
If $WMP.playstate <> 0 Then $WMP.controls.stop()
Switch $senderinfo[$ID][3]
Case "Youtube"
#region Yt-LinkChecker
GUICtrlSetData($ytbufferlabel, " Linkcheck...")
InetRead($sURL)
If @error Then
MsgBox(16 + 262144, "Fehler", "Der Titel '" & $stitle & "' ist nicht mehr verfügbar.")
_stop()
Return
EndIf
GUICtrlSetData($ytbufferlabel, "")
#endregion Yt-LinkChecker
_FFOpenURL($sURL, False)
AdlibRegister('_ytloadcheck', 20)
Case "Radio"
_FFOpenUrl($stopurl, False)
$WMP.URL = $sURL
$WMP.controls.play()
_setControls(1)
AdlibRegister('_loadcheck', 20)
Case "Other"
_FFOpenURL($sURL)
_setControls()
Sleep(1500)
GUICtrlSetData($Label, $stitle)
$adlib1 = 1
AdlibRegister("_Laufschrift")
EndSwitch
EndFunc ;==>_core
Func _ytloadcheck()
If _FF_YT("getPlayerState") = 1 Then
AdlibUnRegister('_ytloadcheck')
_setControls(2)
$iOld -= 1
GUICtrlSetData($Label, $stitle)
$adlib1 = 1
AdlibRegister("_Laufschrift")
GUICtrlSetImage($Play, $pauseico)
EndIf
EndFunc ;==>_ytloadcheck
Func _loadcheck()
If $WMP.playstate = 3 Then
$RadioIsRunning = 1
AdlibUnRegister('_loadcheck')
$iOld -= 1
GUICtrlSetData($Label, $stitle)
$adlib1 = 1
AdlibRegister("_Laufschrift")
GUICtrlSetImage($Play, $pauseico)
EndIf
EndFunc ;==>_loadcheck
Func _radiopause()
$WMP.controls.pause()
GUICtrlSetOnEvent($Play, "_radioplay")
GUICtrlSetImage($Play, $playico)
EndFunc ;==>_radiopause
Func _radioplay()
If $all_stop = 1 Then Return
$WMP.controls.play()
GUICtrlSetOnEvent($Play, "_radiopause")
GUICtrlSetImage($Play, $pauseico)
EndFunc ;==>_radioplay
Func _stop()
If GUICtrlRead($Label) = "Online" Then Return
$ended = 0
$adlib1 = 0
AdlibUnRegister("_Laufschrift")
GUICtrlSetData($Label, "Stopping...")
_SliderTip_UnRegisterToolTip($ytctimeslider, $hWnd_Slider)
AdlibUnRegister('_loadcheck')
AdlibUnRegister('_ytloadcheck')
_FFAction("stop")
_FFOpenUrl($stopurl)
If $YoutubeIsRunning = 1 Then
$YoutubeIsRunning = 0
_DisableYTControls()
Else
$RadioIsRunning = 0
$WMP.controls.stop()
EndIf
GUICtrlSetData($ytbufferlabel, "")
GUICtrlSetImage($Play, $playico)
GUICtrlSetData($Label, "Online")
$all_stop = 1
EndFunc ;==>_stop
#endregion main
Func _addtitle()
If WinExists("Hinzufügen") Then Return
$addForm = GUICreate("Hinzufügen", 391, 158, 403, 131, -1, $WS_EX_TOPMOST)
GUISetBkColor(0x4169E1)
GUISetOnEvent(-3, "_gdelete1")
$Button1 = GUICtrlCreateButton("Speichern", 8, 80, 369, 38)
GUICtrlSetOnEvent(-1, "_add")
$Button2 = GUICtrlCreateButton("Radiosender aus asx-Datei importieren", 8, 123, 369, 28, 0)
GUICtrlSetOnEvent(-1, "_ReadChannelfromASX")
$Label1 = GUICtrlCreateLabel("Titel:", 16, 16, 39, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Input1 = GUICtrlCreateInput("", 64, 16, 313, 21)
$Label2 = GUICtrlCreateLabel("URL:", 16, 48, 38, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Input2 = GUICtrlCreateInput("", 64, 48, 313, 21)
GUISetState(@SW_SHOW)
EndFunc ;==>_addtitle
Func _add()
Local $section
$rtitle = GUICtrlRead($Input1)
$rUrl = GUICtrlRead($Input2)
If $rtitle = "" Or $rUrl = "" Then
MsgBox(16, "Fehler", "Bitte füllen Sie alle Felder aus.")
Return
ElseIf Not StringInStr(StringLeft($rUrl, 7), "http://") Then
MsgBox(16, "Fehler", "Bitte geben Sie eine vollständige URL-Adresse ein. (http://..)")
Return
EndIf
$section = _what($rUrl)
IniWrite($path, $section, $rtitle, $rUrl)
$num += 1
$senderinfo[$num][0] = $rtitle
$senderinfo[$num][1] = $rUrl
Switch $section
Case "Youtube"
$handle = _GUICtrlCreateODMenuItem($rtitle, $menu1, @ScriptDir & "/Daten/youtube.ico")
Case "Radio"
$handle = _GUICtrlCreateODMenuItem($rtitle, $menu1, "shell32.dll", -139)
Case "Other"
$handle = _GUICtrlCreateODMenuItem($rtitle, $menu1, "shell32.dll", -176)
EndSwitch
GUICtrlSetOnEvent(-1, "_identify")
$senderinfo[$num][2] = $handle
$senderinfo[$num][3] = $section
_gdelete1()
MsgBox(64 + 262144, "", "Der Titel '" & $rtitle & "' wurde hinzugefügt.")
EndFunc ;==>_add
Func _DeleteOrEditTitle()
;~ _ArrayDisplay($senderinfo)
If WinExists("Titel bearbeiten/löschen") Then Return
$delgui = GUICreate("Titel bearbeiten/löschen", 276, 296, 468, 181)
GUISetBkColor(0x4169E1)
GUISetOnEvent(-3, '_gdelete2')
$list = GUICtrlCreateListView("Titel ", 8, 16, 257, 201)
_GUICtrlListView_SetColumnWidth($list, 0, 250)
For $i = 1 To $num
GUICtrlCreateListViewItem($senderinfo[$i][0], $list)
Next
$Button1 = GUICtrlCreateButton("Löschen", 8, 232, 120, 49)
GUICtrlSetOnEvent(-1, "_delete")
$Button2 = GUICtrlCreateButton("Bearbeiten", 140, 232, 120, 49)
GUICtrlSetOnEvent(-1, "_edit")
GUISetState(@SW_SHOW)
EndFunc ;==>_DeleteOrEditTitle
Func _edit()
$selectedItemtext = StringTrimRight(GUICtrlRead(GUICtrlRead($list)), 1)
If $selectedItemtext = "" Then
MsgBox(16, "Fehler", "Bitte wählen Sie einen Titel aus.")
Return
EndIf
If WinExists("Titel bearbeiten") Then Return
$index = _ArraySearch($senderinfo, $selectedItemtext)
$editForm = GUICreate("Titel bearbeiten", 391, 121, 406, 134, -1, $WS_EX_TOPMOST)
GUISetBkColor(0x4169E1)
GUISetOnEvent(-3, "_gdelete3")
$Button1 = GUICtrlCreateButton("Speichern", 8, 80, 369, 25)
GUICtrlSetOnEvent(-1, "_change")
$Label1 = GUICtrlCreateLabel("Titel:", 16, 16, 39, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$eInput1 = GUICtrlCreateInput($senderinfo[$index][0], 64, 16, 313, 21)
$Label2 = GUICtrlCreateLabel("URL:", 16, 48, 38, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$eInput2 = GUICtrlCreateInput($senderinfo[$index][1], 64, 48, 313, 21)
GUISetState(@SW_SHOW)
EndFunc ;==>_edit
Func _change()
$title = GUICtrlRead($eInput1)
$url = GUICtrlRead($eInput2)
If $title = "" Or $url = "" Then
MsgBox(16, "Fehler", "Bitte füllen Sie alle Felder aus.")
Return
ElseIf $title == $senderinfo[$index][0] And $url == $senderinfo[$index][1] Then
MsgBox(16, "Fehler", "Es wurden keine Änderungen vorgenommen.")
Return
ElseIf Not StringInStr(StringLeft($url, 7), "http://") Then
MsgBox(16, "Fehler", "Bitte geben Sie eine vollständige URL-Adresse ein. (http://..)")
Return
EndIf
_gdelete2()
IniDelete($path, $senderinfo[$index][3], $senderinfo[$index][0])
;~ _ArrayDisplay($senderinfo)
$section = _what($url)
$senderinfo[$index][0] = $title
$senderinfo[$index][1] = $url
$senderinfo[$index][3] = $section
IniWrite($path, $senderinfo[$index][3], $senderinfo[$index][0], $senderinfo[$index][1])
_GUICtrlODMenuItemSetText($senderinfo[$index][2], $senderinfo[$index][0])
Switch $section
Case "Youtube"
_GUICtrlODMenuItemSetIcon($senderinfo[$index][2], @ScriptDir & "/Daten/youtube.ico", 0)
Case "Radio"
_GUICtrlODMenuItemSetIcon($senderinfo[$index][2], "shell32.dll", -139)
Case "Other"
_GUICtrlODMenuItemSetIcon($senderinfo[$index][2], "shell32.dll", -176)
EndSwitch
_gdelete3()
EndFunc ;==>_change
Func _delete()
$selectedItemtext = StringTrimRight(GUICtrlRead(GUICtrlRead($list)), 1)
If $selectedItemtext = "" Then
MsgBox(16, "Fehler", "Bitte wählen Sie einen Titel aus.")
Return
EndIf
$index = _ArraySearch($senderinfo, $selectedItemtext)
GUICtrlDelete($senderinfo[$index][2])
IniDelete($path, $senderinfo[$index][3], $selectedItemtext)
_ArrayDelete($senderinfo, $index)
$num -= 1
_GUICtrlListView_DeleteItemsSelected($list)
EndFunc ;==>_delete
Func _volume()
$iVolume = GUICtrlRead($vSlider)
If $iOld <> $iVolume Then
_setVolumeIcon($iVolume)
If $YoutubeIsRunning = 1 Then
_FF_YT("setVolume", $iVolume)
Else
$WMP.settings.volume = $iVolume
EndIf
$iOld = $iVolume
EndIf
EndFunc ;==>_volume
Func _setVolumeIcon($iVolume)
If $iVolume = 0 Then
GUICtrlSetImage($volumeicon, $muteico)
ElseIf $iVolume < 33 Then
GUICtrlSetImage($volumeicon, $vlowico)
ElseIf $iVolume < 66 Then
GUICtrlSetImage($volumeicon, $vmidico)
ElseIf $iVolume > 85 Then
GUICtrlSetImage($volumeicon, $vhighico)
EndIf
EndFunc ;==>_setVolumeIcon
Func _Laufschrift()
If $adlib1 = 0 Then Return
GUICtrlSetData($Label, StringMid($stitle, $iPos) & " " & $stitle)
$iPos += $sspeed
If $iPos > StringLen($stitle) Then $iPos = 0
EndFunc ;==>_Laufschrift
Func _seek()
If _FF_YT("getPlayerState") = 2 Then GUICtrlSetData($ytctlabel, _ytime())
_FF_YT("seekTo", $readyttime)
EndFunc ;==>_seek
Func _update()
Run(@ScriptDir & "/Updater.exe")
EndFunc ;==>_update
Func _ytpause()
_FF_YT("pausevideo")
$stopcurrenttimer = 1
GUICtrlSetOnEvent($Play, "_ytplay")
GUICtrlSetImage($Play, $playico)
EndFunc ;==>_ytpause
Func _ytplay()
If $all_stop = 1 Then Return
_FF_YT("playvideo")
$stopcurrenttimer = 0
GUICtrlSetOnEvent($Play, "_ytpause")
GUICtrlSetImage($Play, $pauseico)
EndFunc ;==>_ytplay
Func _RadioMode()
If $RadioIsRunning = 1 Then
;~ If $WMP.playstate <> 3 Then ToolTip($WMP.playstate)
If $WMP.playstate = 1 Or $WMP.playstate = 10 Then
GUICtrlSetData($ytbufferlabel, "Reconnecting...")
Sleep(700)
$WMP.URL = $sURL
$WMP.controls.play()
;~ While $WMP.playstate <> 3
;~ Sleep(20)
;~ WEnd
GUICtrlSetData($ytbufferlabel, "Reconnected")
Sleep(800)
GUICtrlSetData($ytbufferlabel, "")
EndIf
EndIf
EndFunc ;==>_RadioMode
Func _YTMode()
Local $currenttime
If $YoutubeIsRunning = 1 Then
$readyttime = GUICtrlRead($ytctimeslider)
If _FF_YT("getPlayerState") = 3 Then
If GUICtrlRead($ytbufferlabel) <> " Buffering..." Then GUICtrlSetData($ytbufferlabel, " Buffering...")
Else
If GUICtrlRead($ytbufferlabel) <> "" Then GUICtrlSetData($ytbufferlabel, "")
EndIf
If $stopcurrenttimer = 0 Then
$currenttime = Ceiling(_FF_YT("getCurrentTime"))
If StringInStr($currenttime, "http://") = 0 Then
_TicksToTime($currenttime * 1000, $Hour, $Mins, $Secs)
$sTime = $Time
$Time = StringFormat("%02i:%02i", $Mins, $Secs)
EndIf
If _FF_YT("getPlayerState") = 0 And $currenttime > ($max - 1) And $ended = 0 Then
GUICtrlSetOnEvent($Play, "_ytplay")
GUICtrlSetImage($Play, $playico)
$ended = 1
$sspeed = 0.4
ElseIf _FF_YT("getPlayerState") = 1 And $ended = 1 Then
$ended = 0
$sspeed = 1.5
GUICtrlSetOnEvent($Play, "_ytpause")
GUICtrlSetImage($Play, $pauseico)
EndIf
If $Capture = False And $sTime <> $Time And $currenttime <= $max And $currenttime <> 0 Then
GUICtrlSetData($ytctlabel, $Time)
GUICtrlSetData($ytctimeslider, $currenttime)
EndIf
EndIf ; $stopcurrenttimer-EndIf
EndIf ; $YoutubeIsRunning-EndIf
EndFunc ;==>_YTMode
Func _DisableYTControls()
GUICtrlSetData($ytbufferlabel, "")
GUICtrlSetState($ytctimeslider, $GUI_DISABLE)
GUICtrlSetState($ytctlabel, $GUI_DISABLE)
GUICtrlSetState($ytmaxtime, $GUI_DISABLE)
GUICtrlSetData($ytctimeslider, 0)
GUICtrlSetData($ytctlabel, "00:00")
GUICtrlSetData($ytmaxtime, "/ 00:00")
EndFunc ;==>_DisableYTControls
Func _setControls($Mode = 0)
If $sspeed <> 1.5 Then $sspeed = 1.5
If $Mode <> 2 Then
$YoutubeIsRunning = 0
$stopcurrenttimer = 1
GUICtrlSetData($ytctlabel, "00:00")
GUICtrlSetData($ytmaxtime, "/ 00:00")
GUICtrlSetData($ytctimeslider, 0)
GUICtrlSetState($ytctimeslider, $GUI_DISABLE)
GUICtrlSetState($ytctlabel, $GUI_DISABLE)
GUICtrlSetState($ytmaxtime, $GUI_DISABLE)
_SliderTip_UnRegisterToolTip($ytctimeslider, $hWnd_Slider)
Else
$ended = 0
GUICtrlSetOnEvent($Play, "_ytplay")
$YoutubeIsRunning = 1
$stopcurrenttimer = 0
GUICtrlSetState($vSlider, $GUI_ENABLE)
GUICtrlSetState($Play, $GUI_ENABLE)
GUICtrlSetState($ytctimeslider, $GUI_ENABLE)
GUICtrlSetState($ytctlabel, $GUI_ENABLE)
GUICtrlSetState($ytmaxtime, $GUI_ENABLE)
$max = Ceiling(_FF_YT("getDuration"))
GUICtrlSetLimit($ytctimeslider, $max)
$getmaxtime = _TicksToTime($max * 1000, $Hour, $Mins, $Secs)
$ismaxtime = StringFormat("%02i:%02i", $Mins, $Secs)
GUICtrlSetData($ytmaxtime, "/ " & $ismaxtime)
_SliderTip_RegisterToolTip($ytctimeslider, $hWnd_Slider, "_ytime", True)
EndIf
If $Mode = 0 Then
GUICtrlSetState($vSlider, $GUI_DISABLE)
GUICtrlSetState($Play, $GUI_DISABLE)
ElseIf $Mode = 1 Then
GUICtrlSetOnEvent($Play, "_radioplay")
GUICtrlSetState($vSlider, $GUI_ENABLE)
GUICtrlSetState($Play, $GUI_ENABLE)
EndIf
$all_stop = 0
EndFunc ;==>_setControls
Func _FFRestarter()
If Not WinExists($ff) Then
$ff = _FFStart("www.google.de", "default", 1, False)
_FFTabClose("Google", "label")
_FFPrefSet("browser.link.open_newwindow", 2)
;~ Sleep(100)
;~ WinSetState($ff, "", @SW_DISABLE)
;~ WinSetTrans($ff, "", 0)
;~ WinSetState($ff, "", @SW_HIDE)
EndIf
EndFunc ;==>_FFRestarter
Func _mute()
GUICtrlSetData($vSlider, 0)
EndFunc ;==>_mute
Func _gdelete1()
GUIDelete($addForm)
EndFunc ;==>_gdelete1
Func _gdelete2()
GUIDelete($delgui)
EndFunc ;==>_gdelete2
Func _gdelete3()
GUIDelete($editForm)
EndFunc ;==>_gdelete3
Func _ytime()
_TicksToTime($readyttime * 1000, $Hour, $Mins, $Secs)
$tooltip = StringFormat("%02i:%02i", $Mins, $Secs)
Return $tooltip
EndFunc ;==>_ytime
Func _klick_true()
$a = GUIGetCursorInfo($hWnd_Slider)
If IsArray($a) Then
If $a[4] = $ytctimeslider Then $Capture = True
EndIf
EndFunc
Func _klick_false()
$Capture = False
EndFunc
;//InternetCheck
[/autoit] [autoit][/autoit] [autoit]Func _StartUpNetCheck()
If _INetCheck() = False Then
MsgBox(16, "Fehler", "Keine Internetverbindung verfügbar.")
Exit
EndIf
EndFunc ;==>_StartUpNetCheck
Func _NetChecker()
If _INetCheck() = False Then
$neterror += 1
Else
$neterror = 0
EndIf
If $neterror = 5 Then
AdlibUnRegister("_NetChecker")
MsgBox(16, "Fehler", "Die Verbindung zum Internet wurde getrennt.")
Exit
EndIf
If BitAND(WinGetState($ff), 2) Then
WinSetTrans($ff, "", 0)
WinSetState($ff, "", @SW_HIDE)
EndIf
EndFunc ;==>_NetChecker
Func _INetCheck()
Local Const $NETWORK_ALIVE_LAN = 0x1 ;net card connection
Local Const $NETWORK_ALIVE_WAN = 0x2 ;RAS (internet) connection
Local Const $NETWORK_ALIVE_AOL = 0x4 ;AOL
Local $aRet, $iResult
$aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
If BitAND($aRet[1], $NETWORK_ALIVE_LAN) Then $iResult &= "LAN connected" & @LF
If BitAND($aRet[1], $NETWORK_ALIVE_WAN) Then $iResult &= "WAN connected" & @LF
If BitAND($aRet[1], $NETWORK_ALIVE_AOL) Then $iResult &= "AOL connected" & @LF
Return $iResult
EndFunc ;==>_INetCheck
;//End-InternetCheck
Func _ReadChannelfromASX()
Local $readerror = 0
$choosed = FileOpenDialog("Durchsuchen...", "Wählen Sie Ihre ASX-Datei aus.", "ASX files (*.asx)")
If @error Then Return
$file = FileOpen($choosed)
$text = FileRead($file)
;Name
$name = _StringBetween($text, '<Title >', '</Title>')
If @error Then $name = _StringBetween($text, '<TITLE>', '</TITLE>')
If @error Then $name = _StringBetween($text, '<abstract>', '</abstract>')
If @error Then $readerror += 1
;URL
$url = _StringBetween($text, '<ref href="', '" />')
If @error Then $url = _StringBetween($text, '<REF HREF = "', '"/>')
If @error Then $url = _StringBetween($text, '<Ref href = "', '" />')
If @error Then $readerror += 1
If $readerror > 0 Then
MsgBox(16, "Fehler", "Fehler beim Lesen der Datei.")
FileClose($file)
Return
Else
GUICtrlSetData($Input1, $name[0])
GUICtrlSetData($Input2, $url[0])
FileClose($file)
EndIf
EndFunc ;==>_ReadChannelfromASX
Func _what($sURL)
Local $section
If StringInStr((StringLeft($sURL, 23)), "youtube.com") Then
$section = "Youtube"
ElseIf _isRadioStream($sURL) Then
$section = "Radio"
Else
$section = "Other"
EndIf
Return $section
EndFunc ;==>_what
Func _cleanUp()
If WinExists($WinToWait) Then WinKill($WinToWait)
_SliderTip_UnRegisterToolTip($ytctimeslider, $hWnd_Slider)
If $ff <> 0 Then
_FFPrefSet("browser.link.open_newwindow", 3)
Sleep(100)
_FFQuit()
EndIf
EndFunc ;==>_cleanUp
Func _GuiCtrlCreateTransSlider1($left, $top, $width, $height, $hWnd_Main)
;Slider
Global $hWnd_Slider = GUICreate("", $width, $height, $left, $top, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_LAYERED), $hWnd_Main)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_klick_true");
GUISetOnEvent($GUI_EVENT_PRIMARYUP, "_klick_false");
$cSlider = GUICtrlCreateSlider(0, 0, $width, $height, $TBS_NOTICKS)
GUICtrlSetBkColor(-1, 0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hWnd_Slider, 0xABCDEF)
GUISetState()
GUISwitch($hWnd_Main);
Return $cSlider
EndFunc ;==>_GuiCtrlCreateTransSlider1
Func _GuiCtrlCreateTransSlider2($left, $top, $width, $height, $hWnd_Main)
;Slider
Global $hWnd_vol = GUICreate("", $width, $height, $left, $top, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_LAYERED), $hWnd_Main)
$cSlider = GUICtrlCreateSlider(0, 0, $width, $height, $TBS_NOTICKS)
GUICtrlSetData(-1, 35)
GUICtrlSetBkColor(-1, 0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hWnd_vol, 0xABCDEF)
GUISetState()
GUISwitch($hWnd_Main);
Return $cSlider
EndFunc ;==>_GuiCtrlCreateTransSlider2
Func _isRadioStream($sURL)
Local $bRet = False, $oWMP = ObjCreate("WMPlayer.OCX")
$oWMP.URL = $sURL
$oWMP.controls.play()
Do
Sleep(30)
Until $oWMP.playstate <> 9
If $oWMP.playstate <> 10 Then $bRet = True
$oWMP.controls.stop()
$oWMP = 0
Return $bRet
EndFunc
Dank geht an yxyx und name22 , die mich immer mal wieder unterstützen.
Ich verstehe ehrlich gesagt nicht genau , was du tun möchtest?
Alles Gute!
Ich dachte AutoIt Programme laufen ohnehin nur auf Windows , oder irre ich mich da?
ZitatDavon habe ich auch schon mal gehört - wie geht das denn eigendlich überhaupt, und wie kann man es unterbinden?
Ich weiß nur das man das in C++ mittels "static" unterbindet, in AutoIt scheint es das auch zu geben aber wie ich lese ist das noch verbuggt...
Auf jeden Fall sollte man Passwörter nicht in Globale Variablen speichern.(Hab jetzt deinen Quellcode nicht angeguckt)
Nimm doch einfach ein Windows Media Player-Objekt?
#include <Misc.au3>
$WMP = ObjCreate("WMPlayer.OCX")
$WMP.URL = "http://listen.technobase.fm/tunein-dsl-asx/"
$WMP.controls.play()
while not _ispressed("1B") ;ESC
sleep(20)
wend
Also , für den Anfang ist`s ganz OK
Einen Bug hab ich aber gefunden , wenn du mittels TAB das aktuelle Mapareal verlässt und auch nur ein bisschen zu lang auf TAB bleibst , dann warpt er dich wieder zurück in die map.
Heisst: Bau ein
while _ispressed("weis die zahl grad net")
sleep(20)
wend
ein und dann hat sich die Sache.
Außerdem sollte man das Kaufmenü auch über eine Taste (ESC z.B.) verlassen können.
ZitatWeil wenn ich während der abarbeitung meines Skripts, selber ein Firefox-Fenster aktiv habe (bzw dieses verwende), verwendet das Skript auf einmal diesen... was ja auch logisch is da ich nicht definiert habe welches Fenster er verwenden soll...
Die Methode ist nicht die beste , das ist klar , aber ist dir das damit passiert oder vermutest du nur das es passieren könnte?
Ich zumindest hatte mit diesem Workaround bisher keine Probleme (er verwendet ja automatisch NUR das fenster , welches auch durch _FFStart() erstellt wurde)
Ich habe mit diesem Tool auch schon positive Erfahrung gemacht , natürlich zaubert man damit keine 6k Leitung zu `ner 16k Leitung, aber zumindest was
die optimierung des W-LAN adapters angeht macht man damit nichts falsch...
Machs einfach damit:
Func __FFStartProcess($sURL = "about:blank", $bNewWin = False, $sProfile = "default", $bNoRemote = False, $bHide = False, $iPort = 4242, $iTimeOut = 30000)
Local Const $sFuncName = "__FFStartProcess"
Local $PID = -1
Local $sNoRemote = "", $sNewWin
Local $sProcName = $_FF_PROC_NAME
If $sProfile = "default" Then
$sProfile = ''
Else
$sProfile = ' -P "' & $sProfile & '"'
EndIf
If $bNoRemote Then $sNoRemote = "-no-remote"
If $bNewWin Then $sNewWin = "-new-window"
$sURL = '"' & $sURL & '"'
If $iTimeOut < 2000 Then $iTimeOut = 2000
Local $sHKLM = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox"
Local $sFFExe = RegRead($sHKLM & "\" & RegRead($sHKLM, "CurrentVersion") & "\Main", "PathToExe")
If @error Then
SetError(__FFError($sFuncName, $_FF_ERROR_GeneralError, "Error reading registry entry for FireFox." & @CRLF & _
"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe" & @CRLF & _
"Error from RegRead: " & @error))
Return 0
EndIf
Local $sCommand = StringFormat('"%s" %s %s %s -repl %i %s', $sFFExe, $sNewWin, $sURL, $sNoRemote, $iPort, $sProfile)
$PID = Run($sCommand)
;~ If $bHide Then BlockInput(1)
Local $iTimeOutTimer = TimerInit()
Do
Sleep(20)
If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
SetError(__FFError($sFuncName, $_FF_ERROR_Timeout, "Browser process not exists: " & $sProcName))
;~ BlockInput(0)
Return 0
ExitLoop
EndIf
Until WinExists("Mozilla Firefox")
If $bHide Then
WinSetTrans("Mozilla Firefox", "", 0)
Sleep(200)
WinSetState ("[Last]", "", @SW_HIDE)
EndIf
If $_FF_COM_TRACE Then ConsoleWrite('__FFStartProcess: "' & $sCommand & @CRLF)
[/autoit] [autoit][/autoit] [autoit]SetExtended($PID)
Return 1
EndFunc ;==>__FFStartProcess
Edit: Hatte mich oben beim Fensterhandle verschrieben , ohne UI natürlich, hab`s korrigiert.
ZitatDer versteckte Modus (mit dem ich mich nie sonderlich beschäftigt habe, da ich keine Verwendung dafür habe und sehe)...
Ich habe Verwendung dafür und es gibt genug andere Leute die das auch schon angefragt bzw. bemängelt haben ...
Seit v4 hat FF ein neues Fensterhandle bekommen,deswegen bleibt er auch am
[autoit]WinWaitActive
[/autoit]hängen, und da vorher noch ein blockinput gemacht wird,
bleibt das ganze system hängen...
Das neue Fensterhandle heisst: "[CLASS:MozillaWindowClass]"
Einfach ersetzen und schon müssts gehn..(also so wars bei mir)
Edit: Für das "FF-verstecken-Problem" gibt es leider bisher keine bessere Lösung , bin da momentan im offi Forum am kämpfen
Alles Gute auch von mir