Icons aus dll (wieder einmal)

  • Ich will ein paar icons aus einer dll laden.
    Mit der sufu und google hab ich zwar schon etw. gefunden ,hat aber anscheinend nichts gebracht :P

    ich habe folgende dll:
    autoit.de/wcf/attachment/8660/

    und will nun die bilder laden und hier einsetzten:

    [autoit]

    $but1 = _ThumbBar_CreateButton('Play', @ScriptDir & '\Icons\Play.ico', -1, '_Play_Button')
    $but2 = _ThumbBar_CreateButton('Pause', @ScriptDir & '\Icons\Pause.ico', -1, '_Pause_Button')
    $but3 = _ThumbBar_CreateButton('Stop', @ScriptDir & '\Icons\Stop.ico', -1, '_Stop_Button')
    $but4 = _ThumbBar_CreateButton('Close', @ScriptDir & '\Icons\Close.ico', -1, '_Close_Button')

    [/autoit]

    wie stelle ich das am besten an?

  • um die icon id von einem Grop namen zu bekommen habe ich dies mal gebaut IconNameToID


    [autoit]


    #include "_IconNameToID.au3"
    _IconNameToID_Init("pfad zur dll")

    [/autoit][autoit][/autoit][autoit]

    $but1 = _ThumbBar_CreateButton('Play', _IconNameToID_Get("PLAY"), -1, '_Play_Button')
    $but2 = _ThumbBar_CreateButton('Pause', _IconNameToID_Get("PAUSE"), -1, '_Pause_Button')
    $but3 = _ThumbBar_CreateButton('Stop', _IconNameToID_Get("STOP"), -1, '_Stop_Button')
    $but4 = _ThumbBar_CreateButton('Close', _IconNameToID_Get("CLOSE"), -1, '_Close_Button')

    [/autoit]
    • Offizieller Beitrag

    Poste mal deine DLL Datei.

    • Offizieller Beitrag

    Um die Dateiversion abzufragen muß diese auch in der Resource enthalten sein.
    Habe das Programm RDG aus dem Französischem Forum. Damit kann man eine DLL-Datei erstellen und auch die Versionsinfo festlegen.
    Mit diesem Programm kann man aber die DLL Datei nicht ändern. Für das Editieren der Dateiversion kannst du den XN Resource Editor verwenden. http://www.wilsonc.demon.co.uk/d10resourceeditor.htm

  • wegen icons:

    [autoit]

    #region ThumbBar

    [/autoit][autoit][/autoit][autoit]

    GUISetState()
    If @OSVersion = "WIN_7" Or "Win_VISTA" Then
    _IconNameToID_Init(@ScriptDir & "\sys\pictures.dll")

    [/autoit][autoit][/autoit][autoit]

    $but1 = _ThumbBar_CreateButton('Play', _IconNameToID_Get("PLAY"), -1, '_Play_Button')
    $but2 = _ThumbBar_CreateButton('Pause', _IconNameToID_Get("PAUSE"), -1, '_Pause_Button')
    $but3 = _ThumbBar_CreateButton('Stop', _IconNameToID_Get("STOP"), -1, '_Stop_Button')
    $but4 = _ThumbBar_CreateButton('Close', _IconNameToID_Get("CLOSE"), -1, '_Close_Button')
    _ThumbBar_AddButtons($hgui)
    $oTaskbar = _ThumbBar_GetObj()
    $oTaskbar.SetActiveAlt(Number($hgui))
    EndIf
    #endregion ThumbBar

    [/autoit]

    Funktioniert nicht :cursing: :cursing:
    Wieso? :?: :?:

    • Offizieller Beitrag

    Poste mal den jetzigen Stand des Hauptscriptes.

  • iconname.au3 ist die udf...
    JSound.au3 kann/darf/will ich nicht weitergeben...


    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Bass.au3>
    #include <BassTags.au3>
    #include <GuiStatusBar.au3>
    #include <IE.au3>
    #include <_GetFilesFolder_Rekursiv.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <File.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <BassConstants.au3>
    #include <StructureConstants.au3>
    #include <StaticConstants.au3>
    #include <ThumbBar.au3>
    #include <inet.au3>
    #include <JSound.au3>
    #include <iconname.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=INRadio Entwicklungs-umgebung\INRadio.ico
    #AutoIt3Wrapper_outfile=INR-Multimediacenter.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Description=INR-Multimediacenter
    #AutoIt3Wrapper_Res_Fileversion=0.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=JuraX
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=ProductVersion|2.1
    #AutoIt3Wrapper_Res_Field=ProductName|INRadio
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===================================================================================================
    ;===================================================================================================
    ; INRadio-Mainmodul by JuraX
    ;===================================================================================================
    ;===================================================================================================
    ShellExecute(@ScriptDir & "\module\INR_Updater")

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $APPpfad = @AppDataCommonDir & "\INRadio\"
    Global Const $INR_INI = $APPpfad & "\INRadio.ini"
    Global $Tmsg = TrayGetMsg()
    Global $Lmsg = GUIGetMsg()
    Global $Playingstate = -1
    Global $titelnummer = 0
    Global $oWMP = ObjCreate("WMPLayer.ocx")
    Global $hMusic
    Global $Arraytoplay[1]
    Global Const $WM_DROPFILES = 0x0233
    Global $fftstruct = DllStructCreate("float[128]")
    Global $gaDropFiles[1]
    Global $aItem[2]
    Global $leftChLvlper
    Global $rightChLvlper

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Startup+++++++++++++++
    #region OPT
    Opt("TrayMenuMode", 1)
    Opt("MouseCoordMode", 0)
    Opt("GUIOnEventMode", 1)
    Opt("GUIEventOptions", 1)
    #endregion OPT

    [/autoit] [autoit][/autoit] [autoit]

    #region Tray
    $ShowTray = TrayCreateItem("Anzeigen")
    $HideTray = TrayCreateItem("Verstecken")
    $Killtray = TrayCreateItem("Schließen")
    #endregion Tray

    [/autoit] [autoit][/autoit] [autoit]

    #region Bass
    _BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
    _Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
    _BASS_Init(0, -1, 44100, 0, "")

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then
    MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
    Exit
    EndIf
    #endregion Bass

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region Firststart
    $FirstStart = IniRead($INR_INI, "BOOT", "Firtsstart", "")
    Local $FS
    If $FS = "" Then
    DirCreate(@AppDataCommonDir & "\INRadio\")
    DirCreate($APPpfad & "\JSoundextract")
    IniWrite($INR_INI, "BOOT", "Firtsstart", "False")
    EndIf
    #endregion Firststart

    [/autoit] [autoit][/autoit] [autoit]

    #region Register
    If IsDeclared("hMusic") And $Playingstate = 1 Or 2 Then
    AdlibRegister("tagout", 3000)
    EndIf
    AdlibRegister("Aktualisieren")
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')
    #endregion Register

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Gui+++++++++++++++
    $Width = 380
    $Height = 670

    [/autoit] [autoit][/autoit] [autoit]

    Global $hgui = GUICreate("INRadio-Multmediacenter", $Width + 300, $Height, -1, -1, Default, $WS_EX_ACCEPTFILES)
    #region mp3
    $Tagoutput = GUICtrlCreateLabel("", 10, 200, 366, 21, $SS_CENTER)
    $TimeprogressVIS = GUICtrlCreateProgress(8, 32, 236, 20)
    $TimeprogressNUM = GUICtrlCreateLabel(GUICtrlRead($TimeprogressVIS), 8, 8, 150, 17)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Shutdown_INR")

    [/autoit] [autoit][/autoit] [autoit]

    $PlayPause = GUICtrlCreateButton("Play|Pause", 216, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Playpause")

    [/autoit] [autoit][/autoit] [autoit]

    $Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Stop")

    [/autoit] [autoit][/autoit] [autoit]

    $Openfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Openfile")

    [/autoit] [autoit][/autoit] [autoit]

    $NewBib = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
    GUICtrlSetOnEvent(-1, "Newbib")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Lautstärke", 8, 230, 80, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $VolumeSlider = GUICtrlCreateSlider(8, 250, 366, 30)
    GUICtrlSetOnEvent(-1, "Volumechange")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Playliste = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)
    GUICtrlSetLimit($TimeprogressVIS, 100)
    GUICtrlSetData($VolumeSlider, 50)
    SoundSetWaveVolume(50)
    $Soundextern = GUICtrlCreateProgress(8, 280, 366, 30)
    $StartPlayliste = GUICtrlCreateButton("Playliste abspielen", 20, 330)
    GUICtrlSetOnEvent(-1, "Startplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    $PlaylisteForward = GUICtrlCreateButton("Vorwärts", 30, 600, 70)
    GUICtrlSetOnEvent(-1, "PlaylisteForward")

    [/autoit] [autoit][/autoit] [autoit]

    $Saveplayliste = GUICtrlCreateButton("Playliste speichern", 110, 600)
    GUICtrlSetOnEvent(-1, "Saveplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    $Loadplayliste = GUICtrlCreateButton("Playliste laden", 205, 600)
    GUICtrlSetOnEvent(-1, "Loadplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    $OpenJS = GUICtrlCreateButton("JSound-öffnen", 280, 600)
    GUICtrlSetOnEvent(-1, "Openjs")

    [/autoit] [autoit][/autoit] [autoit]

    $rightVolumeout = GUICtrlCreateProgress(8, 88, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
    $LeftVolumeout = GUICtrlCreateProgress(8, 136, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)
    GUICtrlCreateGroup("Webradio", 400, 5, 270, $Height - 5)
    $StatusBar = _GUICtrlStatusBar_Create($hgui)
    _GUICtrlStatusBar_SetMinHeight($StatusBar, 25)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Localtuner.exe gestartet")
    #endregion mp3

    [/autoit] [autoit][/autoit] [autoit]

    #region radio
    $oIE = _IECreateEmbedded()
    GUICtrlCreateObj($oIE, -300, -300, 0, 0)
    $SenderCombo = GUICtrlCreateCombo("", 445, 20, 153, 25)
    GUICtrlSetData(-1, "Antenne Bayern|Rock Antenne|Bayern 3|TechnoBase.FM")
    GUICtrlCreateIcon("inradio.ico", "", 463, 165, 125, 50)
    $PlayRadio = GUICtrlCreateButton("Play", 465, 60, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Playradio")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $StopRadio = GUICtrlCreateButton("Stop", 465, 92, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Stopradio")

    [/autoit] [autoit][/autoit] [autoit]

    $Credits = GUICtrlCreateButton("Credits", 465, 124, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Credits")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Gerade gespielt:", 465, 230)
    $Playing = GUICtrlCreateLabel("", 465, 250, 150, 30)
    $URL_Y_N = GUICtrlCreateCheckbox("Internetadresse angeben", 405, 300)
    GUICtrlSetOnEvent(-1, "Url_y_n")

    [/autoit] [autoit][/autoit] [autoit]

    $Urllink = GUICtrlCreateInput("Bitte URL angeben", 405, 330)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $OpenUrl = GUICtrlCreateButton("Laden", 405, 360)
    GUICtrlSetOnEvent(-1, "Openurl")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState(-1, $GUI_DISABLE)
    $FeedSuport = GUICtrlCreateButton("Feedback/Support", 410, 400)
    GUICtrlSetOnEvent(-1, "FeedSupp")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Toolsstart = GUICtrlCreateButton("Tools", 520, 400, 50)
    GUICtrlSetOnEvent(-1, "Toolsstart")
    #endregion radio

    [/autoit] [autoit][/autoit] [autoit]

    #region GDI+
    ;==========================================Spektrum-Analysator====================================================
    $iX = 120
    $iY = 145
    $graphics = _GDIPlus_GraphicsCreateFromHWND($hgui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics($iX, $iY, $graphics)
    $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    _GDIPlus_GraphicsClear($backbuffer)
    $pen1_size = 4
    $pen1 = _GDIPlus_PenCreate(0, $pen1_size)
    $pen2_size = 4
    $pen2 = _GDIPlus_PenCreate(0, $pen2_size)
    $pen3_size = 3
    $pen3 = _GDIPlus_PenCreate(0, $pen3_size)

    [/autoit] [autoit][/autoit] [autoit]

    $fall_speed_l_threshold = 0
    $fall_speed_r_threshold = 0
    $equalizer_width = 24
    $max_l = 0
    $max_r = 0
    $fall_speed = 5
    $fire_up = 15

    [/autoit] [autoit][/autoit] [autoit]

    $fft_start = 7
    $fft_end = 127
    $fft_boost = 750
    $dy = Int($iY / ($fft_end - $fft_start)) + $pen3_size
    $dyy = Int($iY / $dy / 2)
    $eq = 1
    Dim $mpos[2]
    #endregion GDI+

    [/autoit] [autoit][/autoit] [autoit]

    #region OnEvent
    GUISetOnEvent($GUI_EVENT_CLOSE, "Windows_Event")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Windows_Event")
    GUISetOnEvent($GUI_EVENT_RESTORE, "Windows_Event")
    #endregion OnEvent

    [/autoit] [autoit][/autoit] [autoit]

    #region BIB Füllenn

    [/autoit] [autoit][/autoit] [autoit]

    $return = IniRead($APPpfad & "\INRadio.ini", "Load", "BIB", "")
    If $return = "" Then
    $return = 'C:\Users\' & @UserName & '\Desktop'
    EndIf
    $returnputin = _GetFilesFolder_Rekursiv($return, "mp3", 0)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $Playliste)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    #endregion BIB Füllenn
    GUISetState()
    #region ThumbBar

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    If @OSVersion = "WIN_7" Or "Win_VISTA" Then
    _IconNameToID_Init(@ScriptDir & "\sys\pictures.dll")

    [/autoit] [autoit][/autoit] [autoit]

    $but1 = _ThumbBar_CreateButton('Play', _IconNameToID_Get("PLAY"), -1, '_Play_Button')
    $but2 = _ThumbBar_CreateButton('Pause', _IconNameToID_Get("PAUSE"), -1, '_Pause_Button')
    $but3 = _ThumbBar_CreateButton('Stop', _IconNameToID_Get("STOP"), -1, '_Stop_Button')
    $but4 = _ThumbBar_CreateButton('Close', _IconNameToID_Get("CLOSE"), -1, '_Close_Button')
    _ThumbBar_AddButtons($hgui)
    $oTaskbar = _ThumbBar_GetObj()
    $oTaskbar.SetActiveAlt(Number($hgui))
    EndIf
    #endregion ThumbBar
    ;+++++++++++++++CMDLINE+++++++++++++++
    #region ComandLine

    [/autoit] [autoit][/autoit] [autoit]

    If $CmdLine[0] = 1 Then
    $file = $CmdLine[1]
    $hMusic = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    $Playingstate = 1
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $tags = "" & "-" & "" Then
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
    Else
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
    EndIf
    ElseIf $CmdLine[0] >= 2 Then
    ;_ArrayDisplay($CmdLine)
    $Arraytoplay = $CmdLine
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer + 1], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, True)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
    EndIf
    #endregion ComandLine
    ;+++++++++++++++Loop+++++++++++++++
    while (True)
    $selectcode = _GUICtrlListView_GetSelectedCount($Playliste)
    If _IsPressed("2E") Then
    _GUICtrlListView_DeleteItemsSelected($Playliste)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($Playliste, 1, 0)

    [/autoit] [autoit][/autoit] [autoit]

    $soundget = _SoundGetWaveVolume()
    GUICtrlSetData($Soundextern, $soundget)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $Playingstate = 1 Then
    $song_length = _BASS_ChannelGetLength($hMusic, $BASS_POS_BYTE)
    $current = _BASS_ChannelGetPosition($hMusic, $BASS_POS_BYTE)
    $percent = Round(($current / $song_length) * 100, 0)
    GUICtrlSetData($TimeprogressVIS, $percent)
    $levels = _BASS_ChannelGetLevel($hMusic)
    $rightChLvl = _LoWord($levels)
    $rightChLvlper = Round(($rightChLvl / 32768) * 100, 0)
    $LeftChLvl = _HiWord($levels)
    $leftChLvlper = Round(($LeftChLvl / 32768) * 100, 0)

    [/autoit] [autoit][/autoit] [autoit]

    If $current = $song_length Then
    GUICtrlSetData($TimeprogressVIS, 0)
    _BASS_ChannelPlay($hMusic, True)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($Arraytoplay) Then
    If $current = $song_length Then
    GUICtrlSetData($TimeprogressVIS, 0)
    If $Playingstate = 1 Then
    _BASS_ChannelStop($hMusic)
    EndIf
    $titelnummer += 1
    If $titelnummer > UBound($Arraytoplay, 1) - 1 Then $titelnummer = 0
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndIf
    EndIf
    GUICtrlSetData($rightVolumeout, $rightChLvlper)
    GUICtrlSetData($LeftVolumeout, $leftChLvlper)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Display_Vis($eq)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Tmsg
    Case $ShowTray
    GUISetState(@SW_SHOW)
    Case $HideTray
    GUISetState(@SW_HIDE)
    Case $Killtray
    Exit
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Lmsg
    Case $GUI_EVENT_DROPPED
    For $i = 0 To UBound($gaDropFiles) - 1
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1'), $Playliste)
    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    Next
    Case $GUI_EVENT_PRIMARYDOWN
    _MoveListViewItem()
    EndSwitch
    WEnd
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Functions+++++++++++++++
    #region OnEventMode
    Func Windows_Event()
    Select
    Case @GUI_CtrlId = $GUI_EVENT_CLOSE
    Shutdown_INR()

    [/autoit] [autoit][/autoit] [autoit]

    Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
    GUISetState(@SW_MINIMIZE)

    [/autoit] [autoit][/autoit] [autoit]

    Case @GUI_CtrlId = $GUI_EVENT_RESTORE
    GUISetState(@SW_RESTORE)
    EndSelect
    EndFunc ;==>Windows_Event

    [/autoit] [autoit][/autoit] [autoit]

    Func Shutdown_INR()
    _BASS_STOP()
    _BASS_FREE()
    _GDIPlus_PenDispose($pen1)
    _GDIPlus_PenDispose($pen2)
    _GDIPlus_PenDispose($pen3)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_GraphicsDispose($graphics)
    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_Shutdown()
    _GDIPlus_Shutdown()
    $fftstruct = 0
    ProcessClose("Radiotuner.exe")
    AdlibUnRegister("Aktualisieren")
    Exit
    EndFunc ;==>Shutdown_INR

    [/autoit] [autoit][/autoit] [autoit]

    Func Playpause()
    If $Playingstate = 1 Then
    _Bass_ChannelPause($hMusic)
    $Playingstate = 2
    ElseIf $Playingstate = 2 Then
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    EndIf
    EndFunc ;==>Playpause

    [/autoit] [autoit][/autoit] [autoit]

    Func Stop()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    EndFunc ;==>Stop

    [/autoit] [autoit][/autoit] [autoit]

    Func Openfile()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    $SelectedFile = FileOpenDialog("MP3-Datei öffnen...", "", "Mp3 (*.mp3)")
    $hMusic = _BASS_StreamCreateFile(False, $SelectedFile, 0, 0, 0)
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    EndFunc ;==>Openfile

    [/autoit] [autoit][/autoit] [autoit]

    Func Newbib()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    EndIf
    $selectedbib = FileSelectFolder("Ordner wählen", "")
    IniWrite($APPpfad & "\INRadio.ini", "Load", "BIB", $selectedbib)
    $returnputin = _GetFilesFolder_Rekursiv($selectedbib, "mp3", 0)
    _GUICtrlListView_DeleteAllItems($Playliste)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $Playliste)
    Next
    EndFunc ;==>Newbib

    [/autoit] [autoit][/autoit] [autoit]

    Func Volumechange()
    $NewVolume = GUICtrlRead($VolumeSlider)
    ConsoleWrite("Volume" & $NewVolume & @CRLF)
    SoundSetWaveVolume($NewVolume)
    EndFunc ;==>Volumechange

    [/autoit] [autoit][/autoit] [autoit]

    Func Startplayliste()
    $titelnummer = 0
    If $Playingstate = 1 Then
    _BASS_ChannelStop($hMusic)
    $Playingstate = -1
    EndIf
    $Read = GUICtrlRead($Playliste)
    $sString = ""
    ReDim $Arraytoplay[_GUICtrlListView_GetItemCount($Playliste)]
    For $i = 0 To _GUICtrlListView_GetItemCount($Playliste) - 1
    $Result = StringSplit(_GUICtrlListView_GetItemTextString($Playliste, $i), "|")
    $Arraytoplay[$i] = $Result[2]
    Next
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, True)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
    EndFunc ;==>Startplayliste

    [/autoit] [autoit][/autoit] [autoit]

    Func PlaylisteForward()
    If IsArray($Arraytoplay) Then
    _BASS_ChannelStop($hMusic)
    $titelnummer += 1
    If $titelnummer = UBound($Arraytoplay) Then $titelnummer = 0
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    EndIf
    EndFunc ;==>PlaylisteForward

    [/autoit] [autoit][/autoit] [autoit]

    Func Saveplayliste()
    $SFILE = FileSaveDialog("Playliste Speichern...", @DocumentsCommonDir, "Playlisten (*.INRP)")

    [/autoit] [autoit][/autoit] [autoit]

    Local $HFILEOUT, $aItem
    $HFILEOUT = FileOpen($SFILE, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($Playliste) - 1
    $aItem = _GUICtrlListView_GetItemTextString($Playliste, $j)
    FileWriteLine($HFILEOUT, $aItem)
    Next
    FileClose($HFILEOUT)
    EndFunc ;==>Saveplayliste

    [/autoit] [autoit][/autoit] [autoit]

    Func Loadplayliste()
    $SFILE = FileOpenDialog("Playliste laden...", @DocumentsCommonDir, "Playlisten (*.INRP)")

    [/autoit] [autoit][/autoit] [autoit]

    Local $AITEMS
    If FileExists($SFILE) Then
    _FileReadToArray($SFILE, $AITEMS)
    If IsArray($AITEMS) Then
    _GUICtrlListView_DeleteAllItems($Playliste)
    For $j = 1 To $AITEMS[0]
    GUICtrlCreateListViewItem($AITEMS[$j], $Playliste)
    Next
    EndIf
    EndIf
    EndFunc ;==>Loadplayliste

    [/autoit] [autoit][/autoit] [autoit]

    Func Openjs()
    $Filepath = FileOpenDialog("JSound Open..", "", "JSound (*.JSound)")
    $Filedestination = $APPpfad & "\JSoundextract"
    _JSound_GetFiles($Filepath, $Filedestination, @ScriptDir & "\sys\JHelper.dll")
    EndFunc ;==>Openjs

    [/autoit] [autoit][/autoit] [autoit]

    Func Playradio()
    GUICtrlSetData($Playing, GUICtrlRead($SenderCombo))
    If $Playingstate = 1 Or 2 Then
    _BASS_ChannelStop($hMusic)
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    If GUICtrlRead($SenderCombo) = "" Then
    MsgBox(0, "Error", "Sie haben kein Radio ausgew?hlt!")
    ElseIf GUICtrlRead($SenderCombo) = "Antenne Bayern" Then
    $oWMP.URL = "http://www.antenne.de/webradio/antenne.wmx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "Bayern 3" Then
    $oWMP.URL = "http://streams.br-online.de/bayern3_1.asx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "Rock Antenne" Then
    $oWMP.URL = "http://www.rockantenne.de/webradio/rockantenne.wmx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "B5 Aktuell" Then
    $oWMP.URL = "http://streams.br-online.de/b5aktuell_1.asx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "TechnoBase.FM" Then
    $oWMP.URL = "http://listen.technobase.fm/tunein-dsl-asx"
    $oWMP.controls.play()
    $Playingstate = 3
    EndIf
    EndFunc ;==>Playradio

    [/autoit] [autoit][/autoit] [autoit]

    Func Stopradio()
    If $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    EndFunc ;==>Stopradio

    [/autoit] [autoit][/autoit] [autoit]

    Func Credits()
    MsgBox(64, "Credits", "(C) JuraX 2010")
    EndFunc ;==>Credits

    [/autoit] [autoit][/autoit] [autoit]

    Func Url_y_n()
    If BitAND(GUICtrlRead($URL_Y_N), $GUI_CHECKED) Then
    GUICtrlSetState($Urllink, $GUI_ENABLE)
    GUICtrlSetState($PlayRadio, $GUI_DISABLE)
    GUICtrlSetState($StopRadio, $GUI_DISABLE)
    GUICtrlSetState($Credits, $GUI_DISABLE)
    GUICtrlSetState($SenderCombo, $GUI_DISABLE)
    GUICtrlSetState($OpenUrl, $GUI_ENABLE)
    Else
    GUICtrlSetState($Urllink, $GUI_DISABLE)
    GUICtrlSetState($PlayRadio, $GUI_ENABLE)
    GUICtrlSetState($StopRadio, $GUI_ENABLE)
    GUICtrlSetState($Credits, $GUI_ENABLE)
    GUICtrlSetState($SenderCombo, $GUI_ENABLE)
    GUICtrlSetState($OpenUrl, $GUI_DISABLE)
    EndIf
    EndFunc ;==>Url_y_n

    [/autoit] [autoit][/autoit] [autoit]

    Func Openurl()
    $tourl = GUICtrlRead($Urllink)
    #region "YoutubeF"
    $youre = StringInStr($tourl, "youtube")
    If $youre >= 1 Then
    GUICtrlCreateIcon("youtube.ico", "", 35, 100, 100, 50)
    EndIf
    #endregion "YoutubeF"
    #region "MyvideoF"
    $myre = StringInStr($tourl, "myvideo")
    If $myre >= 1 Then
    GUICtrlCreateIcon("myvid.ico", "", 35, 100, 100, 50)
    EndIf
    #endregion "MyvideoF"
    $asx = StringInStr($tourl, "asx")
    If $asx >= 1 Then
    $oWMP = ObjCreate("WMPLayer.ocx")
    $oWMP.URL = $tourl
    $oWMP.controls.play()
    $Playingstate = 3.2
    Else
    _IENavigate($oIE, $tourl)
    $Playingstate = 3.1
    EndIf
    EndFunc ;==>Openurl

    [/autoit] [autoit][/autoit] [autoit]

    Func FeedSupp()
    _INetMail("*@gmx.net", "Feedback/Support", "")
    EndFunc ;==>FeedSupp

    [/autoit] [autoit][/autoit] [autoit]

    Func Toolsstart()
    ShellExecute(@ScriptDir & "\module\INR_Tools.exe")
    EndFunc ;==>Toolsstart
    #endregion OnEventMode

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region andere
    Func _SOUNDGETWAVEVOLUME()
    Local $WAVEVOL = -1, $P, $RET
    Const $MMSYSERR_NOERROR = 0
    $P = DllStructCreate("dword")
    If @error Then
    SetError(2)
    Return -2
    EndIf
    $RET = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr($P))
    IF ($RET[0] == $MMSYSERR_NOERROR) Then
    $WAVEVOL = Round(Dec(StringRight(Hex(DllStructGetData($P, 1), 8), 4)) / 65535 * 100)
    Else
    SetError(1)
    EndIf
    $P = ""
    Return $WAVEVOL
    EndFunc ;==>_SOUNDGETWAVEVOLUME

    [/autoit] [autoit][/autoit] [autoit]

    Func TAGOUT()
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $Playingstate = -1 Then
    GUICtrlSetData($Tagoutput, "INR - Multimedia")
    ElseIf $tags = "" & "-" & "" Then
    GUICtrlSetData($Tagoutput, "Konnte ID3-Tags nicht Lesen!")
    Else
    GUICtrlSetData($Tagoutput, $tags)
    EndIf
    EndFunc ;==>TAGOUT

    [/autoit] [autoit][/autoit] [autoit]

    Func AKTUALISIEREN()
    $SLIDERSTATUS = GUICtrlRead($TimeprogressVIS)
    GUICtrlSetData($TimeprogressNUM, $SLIDERSTATUS)
    EndFunc ;==>AKTUALISIEREN

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_DROPFILES_FUNC($hwnd, $MSGID, $WPARAM, $LPARAM)
    Local $NSIZE, $PFILENAME
    Local $NAMT = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", -1, "ptr", 0, "int", 255)
    For $i = 0 To $NAMT[0]
    $NSIZE = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", $i, "ptr", 0, "int", 0)
    $NSIZE = $NSIZE[0] + 1
    $PFILENAME = DllStructCreate("wchar[" & $NSIZE & "]")
    DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", $i, "ptr", DllStructGetPtr($PFILENAME), "int", $NSIZE)
    $FILENAME = DllStructGetData($PFILENAME, 1)
    ConsoleWrite($FILENAME & @CRLF)
    ReDim $gaDropFiles[$i + 1]
    $gaDropFiles[$i] = DllStructGetData($PFILENAME, 1)
    $PFILENAME = 0
    Next
    For $i = 0 To UBound($gaDropFiles) - 2
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], ".*\\(.*)\..*", "$1") & "|" & $gaDropFiles[$i], $Playliste)
    Next
    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    EndFunc ;==>WM_DROPFILES_FUNC

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hwnd, $MSGID, $WPARAM, $LPARAM)
    Local $TAGNMHDR, $EVENT, $HWNDFROM, $CODE
    $TAGNMHDR = DllStructCreate("int;int;int", $LPARAM)
    If @error Then Return 0
    $CODE = DllStructGetData($TAGNMHDR, 3)
    If $WPARAM = $Playliste And $CODE = -3 And _GUICtrlListView_GetSelectedCount($Playliste) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($Playliste)
    If _GUICtrlListView_GetItemSelected($Playliste, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($Playliste, $i)
    _LEFTDBLCLICK()
    EndIf
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit]

    Func _LEFTDBLCLICK()
    $titelnummer = 0
    If $Playingstate = 1 Or 2 Then
    _BASS_CHANNELSTOP($hMusic)
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP = ObjCreate("WMPLayer.ocx")
    $oWMP.controls.stop()
    EndIf
    $Playingstate = -1
    $file = $aItem[2]
    $hMusic = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
    _BASS_CHANNELPLAY($hMusic, 0)
    $Playingstate = 1
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $tags = "" & "-" & "" Then
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
    Else
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
    EndIf
    EndFunc ;==>_LEFTDBLCLICK

    [/autoit] [autoit][/autoit] [autoit]

    Func DISPLAY_VIS($eq = 1)
    _GDIPlus_GraphicsClear($backbuffer, -2131693328)
    If $eq > 0 Then
    $levels = _BASS_CHANNELGETLEVEL($hMusic)
    $LeftChLvl = $leftChLvlper
    $rightChLvl = $rightChLvlper
    If $max_l <= $LeftChLvl Then
    $max_l = $LeftChLvl + $fire_up
    $fall_speed_l_threshold = 20
    Else
    If $fall_speed_l_threshold <= 0 Then
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed
    Else
    $fall_speed_l_threshold -= 1
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed / 3
    EndIf
    EndIf
    If $max_r <= $rightChLvl Then
    $max_r = $rightChLvl + $fire_up
    $fall_speed_r_threshold = 20
    Else
    If $fall_speed_r_threshold <= 0 Then
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed
    Else
    $fall_speed_r_threshold -= 1
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed / 3
    EndIf
    EndIf
    _BASS_CHANNELGETDATA($hMusic, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
    For $i = $fft_start To $fft_end Step $dy
    $FFT = Round(DllStructGetData($fftstruct, 1, $i + 1) * $fft_boost)
    $R = (-(Cos(1.7 * $FFT / 256) + 1) * 0.5) * 256
    $G = ((Cos(4 * $FFT / 256) + 1) * 0.5) * 256
    $B = 0
    _GDIPlus_PenSetColor($pen3, "0xFF" & Hex($R, 2) & Hex($G, 2) & Hex($B, 2))
    _GDIPlus_GraphicsDrawLine($backbuffer, $iX / 5, $i + $dyy, $iX / 5 + $FFT, $i + $dyy, $pen3)
    Next
    EndIf
    _GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, $Width - $iX - 10, 8, $iX, $iY)
    EndFunc ;==>DISPLAY_VIS

    [/autoit] [autoit][/autoit] [autoit]

    Func _MOVELISTVIEWITEM()
    Local $VON, $BIS, $DOWN = GUIGetCursorInfo($hgui)
    If $DOWN[4] = $Playliste Then
    $VON = _GUICtrlListView_GetHotItem($Playliste)
    While $DOWN[2]
    $DOWN = GUIGetCursorInfo($hgui)
    Sleep(50)
    WEnd
    If $DOWN[4] = $Playliste Then
    $BIS = _GUICtrlListView_GetHotItem($Playliste)
    If NOT ($VON = $BIS) Then
    _MOVELVITEM($VON, $BIS - $VON, $Playliste)
    _GUICtrlListView_SetItemState($Playliste, $BIS, 1, 1)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_MOVELISTVIEWITEM

    [/autoit] [autoit][/autoit] [autoit]

    Func _MOVELVITEM($ITEMINDEX, $STEPWIDTH, $HLV)
    IF ($ITEMINDEX + $STEPWIDTH) < 0 OR ($ITEMINDEX + $STEPWIDTH) > _GUICtrlListView_GetItemCount($HLV) - 1 Then
    SetError(1)
    Return 0
    EndIf
    Local $ASKIP = _GUICtrlListView_GetItemTextArray($HLV, $ITEMINDEX)
    If $STEPWIDTH > 0 Then
    _GUICtrlListView_InsertItem($HLV, $ASKIP[1], $ITEMINDEX + $STEPWIDTH + 1)
    _GUICtrlListView_SetItemText($HLV, $ITEMINDEX + $STEPWIDTH + 1, $ASKIP[2], 1)
    _GUICtrlListView_DeleteItem($HLV, $ITEMINDEX)
    Else
    _GUICtrlListView_InsertItem($HLV, $ASKIP[1], $ITEMINDEX + $STEPWIDTH)
    _GUICtrlListView_SetItemText($HLV, $ITEMINDEX + $STEPWIDTH, $ASKIP[2], 1)
    _GUICtrlListView_DeleteItem($HLV, $ITEMINDEX + 1)
    EndIf
    Return -1
    EndFunc ;==>_MOVELVITEM
    #endregion andere

    [/autoit]
    • Offizieller Beitrag

    So funktioniert es, habe eine ImageList benutzt. Wichtig ist dabei das die Icons in der Reihenfolge ihres Vorkommens in der DLL Datei geladen werden. Der Templatename ist unwichtig.
    Den JSoundteil habe ich auskommentiert, solltest du auch machen wenn jemand an deinem Script arbeiten soll. Es ist nervig das selbst anzuändern, nur weil du die AU3 Datei nicht mitlieferst.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GuiStatusBar.au3>
    #include <IE.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <File.au3>
    #include <Inet.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <GuiImageList.au3>
    #include <GDIPlus.au3>
    #include <Bass.au3>
    #include <BassTags.au3>
    #include <GuiStatusBar.au3>
    #include <IE.au3>
    #include <_GetFilesFolder_Rekursiv.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <File.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <BassConstants.au3>
    #include <StructureConstants.au3>
    #include <StaticConstants.au3>
    #include <ThumbBar.au3>
    #include <inet.au3>
    ;~ #include <JSound.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=INRadio Entwicklungs-umgebung\INRadio.ico
    #AutoIt3Wrapper_outfile=INR-Multimediacenter.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Description=INR-Multimediacenter
    #AutoIt3Wrapper_Res_Fileversion=0.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=JuraX
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=ProductVersion|2.1
    #AutoIt3Wrapper_Res_Field=ProductName|INRadio
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===================================================================================================
    ;===================================================================================================
    ; INRadio-Mainmodul by JuraX
    ;===================================================================================================
    ;===================================================================================================
    ShellExecute(@ScriptDir & "\module\INR_Updater")

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $APPpfad = @AppDataCommonDir & "\INRadio\"
    Global Const $INR_INI = $APPpfad & "\INRadio.ini"
    Global $Tmsg = TrayGetMsg()
    Global $Lmsg = GUIGetMsg()
    Global $Playingstate = -1
    Global $titelnummer = 0
    Global $oWMP = ObjCreate("WMPLayer.ocx")
    Global $hMusic
    Global $Arraytoplay[1]
    Global Const $WM_DROPFILES = 0x0233
    Global $fftstruct = DllStructCreate("float[128]")
    Global $gaDropFiles[1]
    Global $aItem[2]
    Global $leftChLvlper
    Global $rightChLvlper

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Startup+++++++++++++++
    #region OPT
    Opt("TrayMenuMode", 1)
    Opt("MouseCoordMode", 0)
    Opt("GUIOnEventMode", 1)
    Opt("GUIEventOptions", 1)
    #endregion OPT

    [/autoit] [autoit][/autoit] [autoit]

    #region Tray
    $ShowTray = TrayCreateItem("Anzeigen")
    $HideTray = TrayCreateItem("Verstecken")
    $Killtray = TrayCreateItem("Schließen")
    #endregion Tray

    [/autoit] [autoit][/autoit] [autoit]

    #region Bass
    _BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
    _Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
    _BASS_Init(0, -1, 44100, 0, "")

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then
    MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
    Exit
    EndIf
    #endregion Bass

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region Firststart
    $FirstStart = IniRead($INR_INI, "BOOT", "Firtsstart", "")
    Local $FS
    If $FS = "" Then
    DirCreate(@AppDataCommonDir & "\INRadio\")
    DirCreate($APPpfad & "\JSoundextract")
    IniWrite($INR_INI, "BOOT", "Firtsstart", "False")
    EndIf
    #endregion Firststart

    [/autoit] [autoit][/autoit] [autoit]

    #region Register
    If IsDeclared("hMusic") And $Playingstate = 1 Or 2 Then
    AdlibRegister("tagout", 3000)
    EndIf
    AdlibRegister("Aktualisieren")
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')
    #endregion Register

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Gui+++++++++++++++
    $Width = 380
    $Height = 670

    [/autoit] [autoit][/autoit] [autoit]

    Global $hgui = GUICreate("INRadio-Multmediacenter", $Width + 300, $Height, -1, -1, Default, $WS_EX_ACCEPTFILES)
    #region mp3
    $Tagoutput = GUICtrlCreateLabel("", 10, 200, 366, 21, $SS_CENTER)
    $TimeprogressVIS = GUICtrlCreateProgress(8, 32, 236, 20)
    $TimeprogressNUM = GUICtrlCreateLabel(GUICtrlRead($TimeprogressVIS), 8, 8, 150, 17)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Shutdown_INR")

    [/autoit] [autoit][/autoit] [autoit]

    $PlayPause = GUICtrlCreateButton("Play|Pause", 216, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Playpause")

    [/autoit] [autoit][/autoit] [autoit]

    $Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Stop")

    [/autoit] [autoit][/autoit] [autoit]

    $Openfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Openfile")

    [/autoit] [autoit][/autoit] [autoit]

    $NewBib = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
    GUICtrlSetOnEvent(-1, "Newbib")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Lautstärke", 8, 230, 80, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $VolumeSlider = GUICtrlCreateSlider(8, 250, 366, 30)
    GUICtrlSetOnEvent(-1, "Volumechange")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Playliste = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)
    GUICtrlSetLimit($TimeprogressVIS, 100)
    GUICtrlSetData($VolumeSlider, 50)
    SoundSetWaveVolume(50)
    $Soundextern = GUICtrlCreateProgress(8, 280, 366, 30)
    $StartPlayliste = GUICtrlCreateButton("Playliste abspielen", 20, 330)
    GUICtrlSetOnEvent(-1, "Startplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    $PlaylisteForward = GUICtrlCreateButton("Vorwärts", 30, 600, 70)
    GUICtrlSetOnEvent(-1, "PlaylisteForward")

    [/autoit] [autoit][/autoit] [autoit]

    $Saveplayliste = GUICtrlCreateButton("Playliste speichern", 110, 600)
    GUICtrlSetOnEvent(-1, "Saveplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    $Loadplayliste = GUICtrlCreateButton("Playliste laden", 205, 600)
    GUICtrlSetOnEvent(-1, "Loadplayliste")

    [/autoit] [autoit][/autoit] [autoit]

    ;~ $OpenJS = GUICtrlCreateButton("JSound-öffnen", 280, 600)
    ;~ GUICtrlSetOnEvent(-1, "Openjs")

    [/autoit] [autoit][/autoit] [autoit]

    $rightVolumeout = GUICtrlCreateProgress(8, 88, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
    $LeftVolumeout = GUICtrlCreateProgress(8, 136, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)
    GUICtrlCreateGroup("Webradio", 400, 5, 270, $Height - 5)
    $StatusBar = _GUICtrlStatusBar_Create($hgui)
    _GUICtrlStatusBar_SetMinHeight($StatusBar, 25)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Localtuner.exe gestartet")
    #endregion mp3

    [/autoit] [autoit][/autoit] [autoit]

    #region radio
    $oIE = _IECreateEmbedded()
    GUICtrlCreateObj($oIE, -300, -300, 0, 0)
    $SenderCombo = GUICtrlCreateCombo("", 445, 20, 153, 25)
    GUICtrlSetData(-1, "Antenne Bayern|Rock Antenne|Bayern 3|TechnoBase.FM")
    GUICtrlCreateIcon("inradio.ico", "", 463, 165, 125, 50)
    $PlayRadio = GUICtrlCreateButton("Play", 465, 60, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Playradio")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $StopRadio = GUICtrlCreateButton("Stop", 465, 92, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Stopradio")

    [/autoit] [autoit][/autoit] [autoit]

    $Credits = GUICtrlCreateButton("Credits", 465, 124, 121, 25, 0)
    GUICtrlSetOnEvent(-1, "Credits")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Gerade gespielt:", 465, 230)
    $Playing = GUICtrlCreateLabel("", 465, 250, 150, 30)
    $URL_Y_N = GUICtrlCreateCheckbox("Internetadresse angeben", 405, 300)
    GUICtrlSetOnEvent(-1, "Url_y_n")

    [/autoit] [autoit][/autoit] [autoit]

    $Urllink = GUICtrlCreateInput("Bitte URL angeben", 405, 330)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $OpenUrl = GUICtrlCreateButton("Laden", 405, 360)
    GUICtrlSetOnEvent(-1, "Openurl")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState(-1, $GUI_DISABLE)
    $FeedSuport = GUICtrlCreateButton("Feedback/Support", 410, 400)
    GUICtrlSetOnEvent(-1, "FeedSupp")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Toolsstart = GUICtrlCreateButton("Tools", 520, 400, 50)
    GUICtrlSetOnEvent(-1, "Toolsstart")
    #endregion radio

    [/autoit] [autoit][/autoit] [autoit]

    #region GDI+
    ;==========================================Spektrum-Analysator====================================================
    $iX = 120
    $iY = 145
    $graphics = _GDIPlus_GraphicsCreateFromHWND($hgui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics($iX, $iY, $graphics)
    $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    _GDIPlus_GraphicsClear($backbuffer)
    $pen1_size = 4
    $pen1 = _GDIPlus_PenCreate(0, $pen1_size)
    $pen2_size = 4
    $pen2 = _GDIPlus_PenCreate(0, $pen2_size)
    $pen3_size = 3
    $pen3 = _GDIPlus_PenCreate(0, $pen3_size)

    [/autoit] [autoit][/autoit] [autoit]

    $fall_speed_l_threshold = 0
    $fall_speed_r_threshold = 0
    $equalizer_width = 24
    $max_l = 0
    $max_r = 0
    $fall_speed = 5
    $fire_up = 15

    [/autoit] [autoit][/autoit] [autoit]

    $fft_start = 7
    $fft_end = 127
    $fft_boost = 750
    $dy = Int($iY / ($fft_end - $fft_start)) + $pen3_size
    $dyy = Int($iY / $dy / 2)
    $eq = 1
    Dim $mpos[2]
    #endregion GDI+

    [/autoit] [autoit][/autoit] [autoit]

    #region OnEvent
    GUISetOnEvent($GUI_EVENT_CLOSE, "Windows_Event")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Windows_Event")
    GUISetOnEvent($GUI_EVENT_RESTORE, "Windows_Event")
    #endregion OnEvent

    [/autoit] [autoit][/autoit] [autoit]

    #region BIB Füllenn

    [/autoit] [autoit][/autoit] [autoit]

    $return = IniRead($APPpfad & "\INRadio.ini", "Load", "BIB", "")
    If $return = "" Then
    $return = 'C:\Users\' & @UserName & '\Desktop'
    EndIf
    $returnputin = _GetFilesFolder_Rekursiv($return, "mp3", 0)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $Playliste)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    #endregion BIB Füllenn
    GUISetState()
    #region ThumbBar

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    If @OSVersion = "WIN_7" Or "Win_VISTA" Then
    Global $hImageList = _GUIImageList_Create(16, 16, 5, 3) ;Imageliste erstellen
    _GUIImageList_AddIcon($hImageList, @ScriptDir & "\sys\pictures.dll", 2); Play Icon ist Icon 52 Nullindexbasiert das 2. Icon
    _GUIImageList_AddIcon($hImageList, @ScriptDir & "\sys\pictures.dll", 1); Pause Icon ist Icon 51 Nullindexbasiert das 1. Icon
    _GUIImageList_AddIcon($hImageList, @ScriptDir & "\sys\pictures.dll", 3); Stop Icon ist Icon 53 Nullindexbasiert das 3. Icon
    _GUIImageList_AddIcon($hImageList, @ScriptDir & "\sys\pictures.dll", 0);; Close Icon ist Icon 50 Nullindexbasiert das 0. Icon
    _ThumbBar_SetImageList($hgui, $hImageList); Imageliste am ThumbBar übergeben
    $but1 = _ThumbBar_CreateButton('Play', -1, 0, '_Play_Button'); -1 für die Verwendung der Imagelist ,0. Icon in der Imageliste
    $but2 = _ThumbBar_CreateButton('PAUSE', -1, 1, '_Pause_Button');1. Icon in der Imageliste
    $but3 = _ThumbBar_CreateButton('STOP', -1, 2, '_Stop_Button');2. Icon in der Imageliste
    $but4 = _ThumbBar_CreateButton('CLOSE', -1, 3, '_Close_Button');3. Icon in der Imageliste
    _ThumbBar_AddButtons($hgui)
    $oTaskbar = _ThumbBar_GetObj()
    $oTaskbar.SetActiveAlt(Number($hgui))
    EndIf
    #endregion ThumbBar
    ;+++++++++++++++CMDLINE+++++++++++++++
    #region ComandLine

    [/autoit] [autoit][/autoit] [autoit]

    If $CmdLine[0] = 1 Then
    $file = $CmdLine[1]
    $hMusic = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    $Playingstate = 1
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $tags = "" & "-" & "" Then
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
    Else
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
    EndIf
    ElseIf $CmdLine[0] >= 2 Then
    ;_ArrayDisplay($CmdLine)
    $Arraytoplay = $CmdLine
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer + 1], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, True)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
    EndIf
    #endregion ComandLine
    ;+++++++++++++++Loop+++++++++++++++
    while (True)
    $selectcode = _GUICtrlListView_GetSelectedCount($Playliste)
    If _IsPressed("2E") Then
    _GUICtrlListView_DeleteItemsSelected($Playliste)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    _GUICtrlListView_SetColumnWidth($Playliste, 1, 0)

    [/autoit] [autoit][/autoit] [autoit]

    $soundget = _SoundGetWaveVolume()
    GUICtrlSetData($Soundextern, $soundget)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $Playingstate = 1 Then
    $song_length = _BASS_ChannelGetLength($hMusic, $BASS_POS_BYTE)
    $current = _BASS_ChannelGetPosition($hMusic, $BASS_POS_BYTE)
    $percent = Round(($current / $song_length) * 100, 0)
    GUICtrlSetData($TimeprogressVIS, $percent)
    $levels = _BASS_ChannelGetLevel($hMusic)
    $rightChLvl = _LoWord($levels)
    $rightChLvlper = Round(($rightChLvl / 32768) * 100, 0)
    $LeftChLvl = _HiWord($levels)
    $leftChLvlper = Round(($LeftChLvl / 32768) * 100, 0)

    [/autoit] [autoit][/autoit] [autoit]

    If $current = $song_length Then
    GUICtrlSetData($TimeprogressVIS, 0)
    _BASS_ChannelPlay($hMusic, True)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($Arraytoplay) Then
    If $current = $song_length Then
    GUICtrlSetData($TimeprogressVIS, 0)
    If $Playingstate = 1 Then
    _BASS_ChannelStop($hMusic)
    EndIf
    $titelnummer += 1
    If $titelnummer > UBound($Arraytoplay, 1) - 1 Then $titelnummer = 0
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndIf
    EndIf
    GUICtrlSetData($rightVolumeout, $rightChLvlper)
    GUICtrlSetData($LeftVolumeout, $leftChLvlper)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Display_Vis($eq)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Tmsg
    Case $ShowTray
    GUISetState(@SW_SHOW)
    Case $HideTray
    GUISetState(@SW_HIDE)
    Case $Killtray
    Exit
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Lmsg
    Case $GUI_EVENT_DROPPED
    For $i = 0 To UBound($gaDropFiles) - 1
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1'), $Playliste)
    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    Next
    Case $GUI_EVENT_PRIMARYDOWN
    _MoveListViewItem()
    EndSwitch
    WEnd
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit] [autoit][/autoit] [autoit]

    ;+++++++++++++++Functions+++++++++++++++
    #region OnEventMode
    Func Windows_Event()
    Select
    Case @GUI_CtrlId = $GUI_EVENT_CLOSE
    Shutdown_INR()

    [/autoit] [autoit][/autoit] [autoit]

    Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
    GUISetState(@SW_MINIMIZE)

    [/autoit] [autoit][/autoit] [autoit]

    Case @GUI_CtrlId = $GUI_EVENT_RESTORE
    GUISetState(@SW_RESTORE)
    EndSelect
    EndFunc ;==>Windows_Event

    [/autoit] [autoit][/autoit] [autoit]

    Func Shutdown_INR()
    _BASS_STOP()
    _BASS_FREE()
    _GDIPlus_PenDispose($pen1)
    _GDIPlus_PenDispose($pen2)
    _GDIPlus_PenDispose($pen3)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_GraphicsDispose($graphics)
    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_Shutdown()
    _GDIPlus_Shutdown()
    $fftstruct = 0
    ProcessClose("Radiotuner.exe")
    AdlibUnRegister("Aktualisieren")
    Exit
    EndFunc ;==>Shutdown_INR

    [/autoit] [autoit][/autoit] [autoit]

    Func Playpause()
    If $Playingstate = 1 Then
    _Bass_ChannelPause($hMusic)
    $Playingstate = 2
    ElseIf $Playingstate = 2 Then
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    EndIf
    EndFunc ;==>Playpause

    [/autoit] [autoit][/autoit] [autoit]

    Func Stop()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    EndFunc ;==>Stop

    [/autoit] [autoit][/autoit] [autoit]

    Func Openfile()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    $SelectedFile = FileOpenDialog("MP3-Datei öffnen...", "", "Mp3 (*.mp3)")
    $hMusic = _BASS_StreamCreateFile(False, $SelectedFile, 0, 0, 0)
    _Bass_ChannelPlay($hMusic, False)
    $Playingstate = 1
    EndFunc ;==>Openfile

    [/autoit] [autoit][/autoit] [autoit]

    Func Newbib()
    If $Playingstate = 1 Or 2 Then
    _Bass_ChannelStop($hMusic)
    $Playingstate = -1
    EndIf
    $selectedbib = FileSelectFolder("Ordner wählen", "")
    IniWrite($APPpfad & "\INRadio.ini", "Load", "BIB", $selectedbib)
    $returnputin = _GetFilesFolder_Rekursiv($selectedbib, "mp3", 0)
    _GUICtrlListView_DeleteAllItems($Playliste)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $Playliste)
    Next
    EndFunc ;==>Newbib

    [/autoit] [autoit][/autoit] [autoit]

    Func Volumechange()
    $NewVolume = GUICtrlRead($VolumeSlider)
    ConsoleWrite("Volume" & $NewVolume & @CRLF)
    SoundSetWaveVolume($NewVolume)
    EndFunc ;==>Volumechange

    [/autoit] [autoit][/autoit] [autoit]

    Func Startplayliste()
    $titelnummer = 0
    If $Playingstate = 1 Then
    _BASS_ChannelStop($hMusic)
    $Playingstate = -1
    EndIf
    $Read = GUICtrlRead($Playliste)
    $sString = ""
    ReDim $Arraytoplay[_GUICtrlListView_GetItemCount($Playliste)]
    For $i = 0 To _GUICtrlListView_GetItemCount($Playliste) - 1
    $Result = StringSplit(_GUICtrlListView_GetItemTextString($Playliste, $i), "|")
    $Arraytoplay[$i] = $Result[2]
    Next
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, True)
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
    EndFunc ;==>Startplayliste

    [/autoit] [autoit][/autoit] [autoit]

    Func PlaylisteForward()
    If IsArray($Arraytoplay) Then
    _BASS_ChannelStop($hMusic)
    $titelnummer += 1
    If $titelnummer = UBound($Arraytoplay) Then $titelnummer = 0
    $Playingstate = 1
    $hMusic = _BASS_StreamCreateFile(False, $Arraytoplay[$titelnummer], 0, 0, 0)
    _BASS_ChannelPlay($hMusic, 0)
    EndIf
    EndFunc ;==>PlaylisteForward

    [/autoit] [autoit][/autoit] [autoit]

    Func Saveplayliste()
    $SFILE = FileSaveDialog("Playliste Speichern...", @DocumentsCommonDir, "Playlisten (*.INRP)")

    [/autoit] [autoit][/autoit] [autoit]

    Local $HFILEOUT, $aItem
    $HFILEOUT = FileOpen($SFILE, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($Playliste) - 1
    $aItem = _GUICtrlListView_GetItemTextString($Playliste, $j)
    FileWriteLine($HFILEOUT, $aItem)
    Next
    FileClose($HFILEOUT)
    EndFunc ;==>Saveplayliste

    [/autoit] [autoit][/autoit] [autoit]

    Func Loadplayliste()
    $SFILE = FileOpenDialog("Playliste laden...", @DocumentsCommonDir, "Playlisten (*.INRP)")

    [/autoit] [autoit][/autoit] [autoit]

    Local $AITEMS
    If FileExists($SFILE) Then
    _FileReadToArray($SFILE, $AITEMS)
    If IsArray($AITEMS) Then
    _GUICtrlListView_DeleteAllItems($Playliste)
    For $j = 1 To $AITEMS[0]
    GUICtrlCreateListViewItem($AITEMS[$j], $Playliste)
    Next
    EndIf
    EndIf
    EndFunc ;==>Loadplayliste

    [/autoit] [autoit][/autoit] [autoit]

    ;~ Func Openjs()
    ;~ $Filepath = FileOpenDialog("JSound Open..", "", "JSound (*.JSound)")
    ;~ $Filedestination = $APPpfad & "\JSoundextract"
    ;~ _JSound_GetFiles($Filepath, $Filedestination, @ScriptDir & "\sys\JHelper.dll")
    ;~ EndFunc ;==>Openjs

    [/autoit] [autoit][/autoit] [autoit]

    Func Playradio()
    GUICtrlSetData($Playing, GUICtrlRead($SenderCombo))
    If $Playingstate = 1 Or 2 Then
    _BASS_ChannelStop($hMusic)
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    If GUICtrlRead($SenderCombo) = "" Then
    MsgBox(0, "Error", "Sie haben kein Radio ausgew?hlt!")
    ElseIf GUICtrlRead($SenderCombo) = "Antenne Bayern" Then
    $oWMP.URL = "http://www.antenne.de/webradio/antenne.wmx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "Bayern 3" Then
    $oWMP.URL = "http://streams.br-online.de/bayern3_1.asx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "Rock Antenne" Then
    $oWMP.URL = "http://www.rockantenne.de/webradio/rockantenne.wmx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "B5 Aktuell" Then
    $oWMP.URL = "http://streams.br-online.de/b5aktuell_1.asx"
    $oWMP.controls.play()
    $Playingstate = 3
    ElseIf GUICtrlRead($SenderCombo) = "TechnoBase.FM" Then
    $oWMP.URL = "http://listen.technobase.fm/tunein-dsl-asx"
    $oWMP.controls.play()
    $Playingstate = 3
    EndIf
    EndFunc ;==>Playradio

    [/autoit] [autoit][/autoit] [autoit]

    Func Stopradio()
    If $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP.controls.stop()
    $Playingstate = -1
    EndIf
    EndFunc ;==>Stopradio

    [/autoit] [autoit][/autoit] [autoit]

    Func Credits()
    MsgBox(64, "Credits", "(C) JuraX 2010")
    EndFunc ;==>Credits

    [/autoit] [autoit][/autoit] [autoit]

    Func Url_y_n()
    If BitAND(GUICtrlRead($URL_Y_N), $GUI_CHECKED) Then
    GUICtrlSetState($Urllink, $GUI_ENABLE)
    GUICtrlSetState($PlayRadio, $GUI_DISABLE)
    GUICtrlSetState($StopRadio, $GUI_DISABLE)
    GUICtrlSetState($Credits, $GUI_DISABLE)
    GUICtrlSetState($SenderCombo, $GUI_DISABLE)
    GUICtrlSetState($OpenUrl, $GUI_ENABLE)
    Else
    GUICtrlSetState($Urllink, $GUI_DISABLE)
    GUICtrlSetState($PlayRadio, $GUI_ENABLE)
    GUICtrlSetState($StopRadio, $GUI_ENABLE)
    GUICtrlSetState($Credits, $GUI_ENABLE)
    GUICtrlSetState($SenderCombo, $GUI_ENABLE)
    GUICtrlSetState($OpenUrl, $GUI_DISABLE)
    EndIf
    EndFunc ;==>Url_y_n

    [/autoit] [autoit][/autoit] [autoit]

    Func Openurl()
    $tourl = GUICtrlRead($Urllink)
    #region "YoutubeF"
    $youre = StringInStr($tourl, "youtube")
    If $youre >= 1 Then
    GUICtrlCreateIcon("youtube.ico", "", 35, 100, 100, 50)
    EndIf
    #endregion "YoutubeF"
    #region "MyvideoF"
    $myre = StringInStr($tourl, "myvideo")
    If $myre >= 1 Then
    GUICtrlCreateIcon("myvid.ico", "", 35, 100, 100, 50)
    EndIf
    #endregion "MyvideoF"
    $asx = StringInStr($tourl, "asx")
    If $asx >= 1 Then
    $oWMP = ObjCreate("WMPLayer.ocx")
    $oWMP.URL = $tourl
    $oWMP.controls.play()
    $Playingstate = 3.2
    Else
    _IENavigate($oIE, $tourl)
    $Playingstate = 3.1
    EndIf
    EndFunc ;==>Openurl

    [/autoit] [autoit][/autoit] [autoit]

    Func FeedSupp()
    _INetMail("*@gmx.net", "Feedback/Support", "")
    EndFunc ;==>FeedSupp

    [/autoit] [autoit][/autoit] [autoit]

    Func Toolsstart()
    ShellExecute(@ScriptDir & "\module\INR_Tools.exe")
    EndFunc ;==>Toolsstart
    #endregion OnEventMode

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region andere
    Func _SOUNDGETWAVEVOLUME()
    Local $WAVEVOL = -1, $P, $RET
    Const $MMSYSERR_NOERROR = 0
    $P = DllStructCreate("dword")
    If @error Then
    SetError(2)
    Return -2
    EndIf
    $RET = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr($P))
    IF ($RET[0] == $MMSYSERR_NOERROR) Then
    $WAVEVOL = Round(Dec(StringRight(Hex(DllStructGetData($P, 1), 8), 4)) / 65535 * 100)
    Else
    SetError(1)
    EndIf
    $P = ""
    Return $WAVEVOL
    EndFunc ;==>_SOUNDGETWAVEVOLUME

    [/autoit] [autoit][/autoit] [autoit]

    Func TAGOUT()
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $Playingstate = -1 Then
    GUICtrlSetData($Tagoutput, "INR - Multimedia")
    ElseIf $tags = "" & "-" & "" Then
    GUICtrlSetData($Tagoutput, "Konnte ID3-Tags nicht Lesen!")
    Else
    GUICtrlSetData($Tagoutput, $tags)
    EndIf
    EndFunc ;==>TAGOUT

    [/autoit] [autoit][/autoit] [autoit]

    Func AKTUALISIEREN()
    $SLIDERSTATUS = GUICtrlRead($TimeprogressVIS)
    GUICtrlSetData($TimeprogressNUM, $SLIDERSTATUS)
    EndFunc ;==>AKTUALISIEREN

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_DROPFILES_FUNC($hwnd, $MSGID, $WPARAM, $LPARAM)
    Local $NSIZE, $PFILENAME
    Local $NAMT = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", -1, "ptr", 0, "int", 255)
    For $i = 0 To $NAMT[0]
    $NSIZE = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", $i, "ptr", 0, "int", 0)
    $NSIZE = $NSIZE[0] + 1
    $PFILENAME = DllStructCreate("wchar[" & $NSIZE & "]")
    DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $WPARAM, "int", $i, "ptr", DllStructGetPtr($PFILENAME), "int", $NSIZE)
    $FILENAME = DllStructGetData($PFILENAME, 1)
    ConsoleWrite($FILENAME & @CRLF)
    ReDim $gaDropFiles[$i + 1]
    $gaDropFiles[$i] = DllStructGetData($PFILENAME, 1)
    $PFILENAME = 0
    Next
    For $i = 0 To UBound($gaDropFiles) - 2
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], ".*\\(.*)\..*", "$1") & "|" & $gaDropFiles[$i], $Playliste)
    Next
    _GUICtrlListView_SetColumnWidth($Playliste, 0, $LVSCW_AUTOSIZE)
    EndFunc ;==>WM_DROPFILES_FUNC

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hwnd, $MSGID, $WPARAM, $LPARAM)
    Local $TAGNMHDR, $EVENT, $HWNDFROM, $CODE
    $TAGNMHDR = DllStructCreate("int;int;int", $LPARAM)
    If @error Then Return 0
    $CODE = DllStructGetData($TAGNMHDR, 3)
    If $WPARAM = $Playliste And $CODE = -3 And _GUICtrlListView_GetSelectedCount($Playliste) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($Playliste)
    If _GUICtrlListView_GetItemSelected($Playliste, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($Playliste, $i)
    _LEFTDBLCLICK()
    EndIf
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit]

    Func _LEFTDBLCLICK()
    $titelnummer = 0
    If $Playingstate = 1 Or 2 Then
    _BASS_CHANNELSTOP($hMusic)
    ElseIf $Playingstate = 3.1 Then
    _IENavigate($oIE, "about:blank")
    ElseIf $Playingstate = 3.2 Then
    $oWMP = ObjCreate("WMPLayer.ocx")
    $oWMP.controls.stop()
    EndIf
    $Playingstate = -1
    $file = $aItem[2]
    $hMusic = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
    _BASS_CHANNELPLAY($hMusic, 0)
    $Playingstate = 1
    $tags = _BASS_TAGS_READ($hMusic, "%TITL" & "-" & "%ARTI")
    If $tags = "" & "-" & "" Then
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
    Else
    _GUICtrlStatusBar_SetText($StatusBar, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
    EndIf
    EndFunc ;==>_LEFTDBLCLICK

    [/autoit] [autoit][/autoit] [autoit]

    Func DISPLAY_VIS($eq = 1)
    _GDIPlus_GraphicsClear($backbuffer, -2131693328)
    If $eq > 0 Then
    $levels = _BASS_CHANNELGETLEVEL($hMusic)
    $LeftChLvl = $leftChLvlper
    $rightChLvl = $rightChLvlper
    If $max_l <= $LeftChLvl Then
    $max_l = $LeftChLvl + $fire_up
    $fall_speed_l_threshold = 20
    Else
    If $fall_speed_l_threshold <= 0 Then
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed
    Else
    $fall_speed_l_threshold -= 1
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed / 3
    EndIf
    EndIf
    If $max_r <= $rightChLvl Then
    $max_r = $rightChLvl + $fire_up
    $fall_speed_r_threshold = 20
    Else
    If $fall_speed_r_threshold <= 0 Then
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed
    Else
    $fall_speed_r_threshold -= 1
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed / 3
    EndIf
    EndIf
    _BASS_CHANNELGETDATA($hMusic, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
    For $i = $fft_start To $fft_end Step $dy
    $FFT = Round(DllStructGetData($fftstruct, 1, $i + 1) * $fft_boost)
    $R = (-(Cos(1.7 * $FFT / 256) + 1) * 0.5) * 256
    $G = ((Cos(4 * $FFT / 256) + 1) * 0.5) * 256
    $B = 0
    _GDIPlus_PenSetColor($pen3, "0xFF" & Hex($R, 2) & Hex($G, 2) & Hex($B, 2))
    _GDIPlus_GraphicsDrawLine($backbuffer, $iX / 5, $i + $dyy, $iX / 5 + $FFT, $i + $dyy, $pen3)
    Next
    EndIf
    _GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, $Width - $iX - 10, 8, $iX, $iY)
    EndFunc ;==>DISPLAY_VIS

    [/autoit] [autoit][/autoit] [autoit]

    Func _MOVELISTVIEWITEM()
    Local $VON, $BIS, $DOWN = GUIGetCursorInfo($hgui)
    If $DOWN[4] = $Playliste Then
    $VON = _GUICtrlListView_GetHotItem($Playliste)
    While $DOWN[2]
    $DOWN = GUIGetCursorInfo($hgui)
    Sleep(50)
    WEnd
    If $DOWN[4] = $Playliste Then
    $BIS = _GUICtrlListView_GetHotItem($Playliste)
    If NOT ($VON = $BIS) Then
    _MOVELVITEM($VON, $BIS - $VON, $Playliste)
    _GUICtrlListView_SetItemState($Playliste, $BIS, 1, 1)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_MOVELISTVIEWITEM

    [/autoit] [autoit][/autoit] [autoit]

    Func _MOVELVITEM($ITEMINDEX, $STEPWIDTH, $HLV)
    IF ($ITEMINDEX + $STEPWIDTH) < 0 OR ($ITEMINDEX + $STEPWIDTH) > _GUICtrlListView_GetItemCount($HLV) - 1 Then
    SetError(1)
    Return 0
    EndIf
    Local $ASKIP = _GUICtrlListView_GetItemTextArray($HLV, $ITEMINDEX)
    If $STEPWIDTH > 0 Then
    _GUICtrlListView_InsertItem($HLV, $ASKIP[1], $ITEMINDEX + $STEPWIDTH + 1)
    _GUICtrlListView_SetItemText($HLV, $ITEMINDEX + $STEPWIDTH + 1, $ASKIP[2], 1)
    _GUICtrlListView_DeleteItem($HLV, $ITEMINDEX)
    Else
    _GUICtrlListView_InsertItem($HLV, $ASKIP[1], $ITEMINDEX + $STEPWIDTH)
    _GUICtrlListView_SetItemText($HLV, $ITEMINDEX + $STEPWIDTH, $ASKIP[2], 1)
    _GUICtrlListView_DeleteItem($HLV, $ITEMINDEX + 1)
    EndIf
    Return -1
    EndFunc ;==>_MOVELVITEM
    #endregion andere

    [/autoit]