Array variable subscript badly formatted

  • Ich habe folgendes Problem:
    Wenn ich bei meinem INR (includes )
    Ein lied per WM_notify starte und dann auf playliste abpspielen gehe kommt dieser fehler

    C:\Users\Public\INRadio\INR\Localtuner.au3 (323) : ==> Array variable subscript badly formatted.:
    $MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)
    $MusicHandle = _BASS_StreamCreateFile(False, $anext[^ ERROR

    Wenn ich vorher auf stop gehe funktionierts.
    Kann mir jmd erklähren wieso

    JuraX

    Spoiler anzeigen
    [autoit]

    #include <Bass.au3>
    #include <BassTags.au3>
    #include <GDIPlus.au3>
    #include <_GetFilesFolder_Rekursiv.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <File.au3>
    #include <BassConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <thumbbar.au3>
    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=INRadio Entwicklungs-umgebung\INRadio.ico
    #AutoIt3Wrapper_outfile=Localtuner.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Description=INR
    #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 ****
    ;===================================================================================================
    ;===================================================================================================
    ; INRadio-Localtuner by JuraX
    ;===================================================================================================
    ;===================================================================================================
    #region StartUp
    Global Const $WM_DROPFILESplay = 0x0233
    Global Const $WM_DROPFILES = 0x0233
    Global Const $APPpfad = @AppDataCommonDir & "\INRadio\"
    Global Const $INR_INI = $APPpfad & "\INRadio.ini"
    Global $gaDropFiles[1]
    Global $aItem[2]
    Global $playing_state = -1
    Global $MusicHandle
    Global $titelnummer = 0
    Global $progress_slider, $slots, $hwnd
    Global $fftstruct = DllStructCreate("float[128]")
    Global $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
    Global $tags
    Global $ARRPLAY

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

    #region OPT
    Opt("TrayMenuMode", 1)
    Opt("MouseCoordMode", 0)
    #endregion OPT

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

    #region Tray
    $uottray = TrayCreateItem("Anzeigen")
    $totray = TrayCreateItem("Verstecken")
    $deleate = TrayCreateItem("Schließen")
    TraySetState()
    #endregion Tray

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

    #region Bass StartUp
    _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 StartUp

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

    #region Register
    If IsDeclared("Musichandle") Then
    AdlibRegister("tagout", 3000)
    EndIf
    AdlibRegister("Aktualisieren")
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')

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

    #endregion Register

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

    $FS = IniRead($INR_INI, "BOOT", "Firtsstart", "")
    If $FS = "" Then
    DirCreate(@AppDataCommonDir & "\INRadio\")
    IniWrite($INR_INI, "BOOT", "Firtsstart", "False")
    EndIf
    #endregion StartUp

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

    ;===================================================================================================
    #region GUI

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

    _GDIPlus_Startup()

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

    $Width = 380
    $Height = 650
    Global $hwnd = GUICreate("INRadio-Localtuner", $Width, $Height, -1, -1, Default, $WS_EX_ACCEPTFILES)
    $TITART = GUICtrlCreateLabel("", 130, 220, 500, 70)
    $slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
    $Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
    $PlayPause = GUICtrlCreateButton("Play|Pause", 216, 160, 75, 25, 0)
    $Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
    $newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
    $progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
    $ordner = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
    GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
    $Slider1 = GUICtrlCreateSlider(8, 250, 366, 30)
    $hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)
    GUICtrlSetLimit($progress_slider, 100)
    GUICtrlSetData($Slider1, 50)
    SoundSetWaveVolume(50)
    $soundprogress = GUICtrlCreateProgress(8, 280, 366, 30)
    $Playliste = GUICtrlCreateButton("Playliste abspielen", 20, 330)
    $vor = GUICtrlCreateButton("Vorwärts", 30, 600, 70)
    $saveplayliste = GUICtrlCreateButton("Playliste speichern", 110, 600)
    $loadplayliste = GUICtrlCreateButton("Playliste laden", 222, 600)
    $cd = GUICtrlCreateButton("CD-Player", 320, 600)
    $rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
    $LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)

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

    #region BIB Füllen

    [/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], $hListView)
    Next

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

    #endregion BIB Füllen

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

    #region ThumbBar

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

    GUISetState()

    [/autoit] [autoit][/autoit] [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')
    _ThumbBar_AddButtons($hwnd)
    $oTaskbar = _ThumbBar_GetObj()
    $oTaskbar.SetActiveAlt(Number($hwnd))
    #endregion ThumbBar

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

    #endregion GUI

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

    #region GDIstartup
    ;===================================================================================================
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
    $iX = 120
    $iY = 145
    $graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
    $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 GDIstartup
    #region ComandLine
    ;_ArrayDisplay($CmdLine)
    If $CmdLine[0] = 1 Then
    $file = $CmdLine[1]
    ;MsgBox(0, "", $CmdLine[1])
    $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    ElseIf $CmdLine[0] >= 2 Then
    $ARRPLAY = $CmdLine
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    EndIf
    #endregion ComandLine

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

    #region Loop

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

    While (True)
    $selectcode = _GUICtrlListView_GetSelectedCount($hListView)
    If _IsPressed("2E") Then
    _GUICtrlListView_DeleteItemsSelected($hListView)
    EndIf
    _GUICtrlListView_SetColumnWidth($hListView, 1, 0)
    $soundoff = _SoundGetWaveVolume()
    GUICtrlSetData($soundprogress, $soundoff)
    If $playing_state = 1 Then
    $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
    $current = _BASS_ChannelGetPosition($MusicHandle, $BASS_POS_BYTE)
    $percent = Round(($current / $song_length) * 100, 0)
    ConsoleWrite("MH: " & $MusicHandle & " Current: " & $current & " song_length: " & $song_length & @CRLF)
    GUICtrlSetData($progress_slider, $percent)
    $levels = _BASS_ChannelGetLevel($MusicHandle)
    $rightChLvl = _LoWord($levels)
    $rightChLvlper = Round(($rightChLvl / 32768) * 100, 0)
    $LeftChLvl = _HiWord($levels)
    $leftChLvlper = Round(($LeftChLvl / 32768) * 100, 0)
    If IsArray($ARRPLAY) And $playing_state = 3 Then
    If $current = $song_length Then
    GUICtrlSetData($progress_slider, 0)
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $titelnummer += 1
    If $titelnummer = UBound($ARRPLAY) - 1 Then $titelnummer = 0
    ; Sleep (50)
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    EndIf
    EndIf
    Else
    $rightChLvlper = 0
    $leftChLvlper = 0
    EndIf
    GUICtrlSetData($rightVol, $rightChLvlper)
    GUICtrlSetData($LeftVol, $leftChLvlper)
    Display_Vis($eq)

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

    $Msg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Switch $tmsg

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

    Case $uottray
    GUISetState(@SW_SHOW)
    Case $totray
    GUISetState(@SW_HIDE)
    Case $deleate
    EXITF()
    EndSwitch
    Switch $Msg

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

    Case $Close, $GUI_EVENT_CLOSE
    EXITF()
    Case $PlayPause
    If $playing_state = 1 Then
    _Bass_ChannelPause($MusicHandle)
    $playing_state = 2
    ElseIf $playing_state = 2 Then
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    EndIf
    Case $Stop
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    $playing_state = -1
    EndIf
    $ARRPLAY = 0
    Sleep(50)
    Case $newfile
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $ARRPLAY = 0
    Sleep(50)
    $file = FileOpenDialog("Open...", "", "MP3 Dateien(*.mp3)")
    $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    Case $ordner
    $var = FileSelectFolder("Ordner wählen", "")
    IniWrite($APPpfad & "\INRadio.ini", "Load", "BIB", $var)
    $returnputin = _GetFilesFolder_Rekursiv($var, "mp3", 0)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
    Next
    Case $Playliste
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $Read = GUICtrlRead($hListView)
    If $Read = "" Then
    $ARRPLAY = _ListViewToArray($hListView)
    $playing_state = 3
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    Else
    $Read -= 16
    Local $sString = ""
    For $i = $Read To _GUICtrlListView_GetItemCount($hListView) - 1
    $sString &= _GUICtrlListView_GetItemTextString($hListView, $i)
    $sString &= ";"
    Next
    $aSplit = StringSplit(StringTrimRight($sString, 1), ";", 2)
    $iUB1 = UBound($aSplit)
    Dim $anext[$iUB1][1]
    For $i = 0 To $iUB1 - 1
    $aSplit2 = StringSplit($aSplit[$i], "|", 2)
    $iUB2 = UBound($aSplit2)
    If $iUB2 > UBound($anext, 2) Then ReDim $anext[$iUB1][$iUB2]
    For $j = 0 To $iUB2 - 1
    $anext[$i][$j] = $aSplit2[$j]
    Next
    Next
    $ARRPLAY = $anext
    $playing_state = 3
    $MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    EndIf
    Case $GUI_EVENT_DROPPED
    For $i = 0 To UBound($gaDropFiles) - 1
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1'), $hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
    Next
    Case $GUI_EVENT_PRIMARYDOWN
    _MoveListViewItem()
    Case $Slider1
    $NV = GUICtrlRead($Slider1)
    SoundSetWaveVolume($NV)
    Case $vor
    _BASS_ChannelStop($MusicHandle)
    $titelnummer += 1
    If $titelnummer = UBound($ARRPLAY) - 1 Then $titelnummer = 0
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    Case $saveplayliste
    $filedir = FileSaveDialog("Playliste Speichern...", @DocumentsCommonDir, "Playlisten (*.INRP)")
    SaveLV($filedir)
    Case $loadplayliste
    $filedir = FileOpenDialog("Playliste laden...", @DocumentsCommonDir, "Playlisten (*.INRP)")
    LoadLV($filedir)
    Case $cd
    ShellExecute(@ScriptDir & "\CD.exe")
    EndSwitch
    WEnd

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

    #endregion Loop
    $mpos = MouseGetPos()
    If $mpos[0] >= $Width - $iX - 10 And $mpos[0] <= $Width - 10 And $mpos[1] > 8 And $mpos[1] <= $iY + 8 And _IsPressed("01", "user32.dll") And WinActive($hwnd) Then
    $eq *= -1
    EndIf

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

    #region Func's
    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], $hListView)
    Next
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
    EndFunc ;==>WM_DROPFILES_FUNC
    Func AKTUALISIEREN()
    $SLIDERSTATUS = GUICtrlRead($progress_slider)
    GUICtrlSetData($slots, $SLIDERSTATUS)
    EndFunc ;==>AKTUALISIEREN
    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 = $hListView And $CODE = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
    If _GUICtrlListView_GetItemSelected($hListView, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($hListView, $i)
    _LEFTDBLCLICK()
    EndIf
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY
    Func _LEFTDBLCLICK()
    If $playing_state = 1 Then
    _BASS_CHANNELSTOP($MusicHandle)
    EndIf
    $titelnummer = -1
    $file = $aItem[2]
    $MusicHandle = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
    _BASS_CHANNELPLAY($MusicHandle, 0)
    $playing_state = 1
    EndFunc ;==>_LEFTDBLCLICK
    Func DISPLAY_VIS($eq = 1)
    _GDIPlus_GraphicsClear($backbuffer, -2131693328)
    If $eq > 0 Then
    $levels = _BASS_CHANNELGETLEVEL($MusicHandle)
    $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($MusicHandle, 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
    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
    Func EXITF()
    _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 ;==>EXITF
    Func _LISTVIEWTOARRAY($hListView)
    If Not IsHWnd($hListView) Then $hListView = GUICtrlGetHandle($hListView)
    Local $sString = ""
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1
    $sString &= _GUICtrlListView_GetItemTextString($hListView, $i)
    $sString &= ";"
    Next
    $aSplit = StringSplit(StringTrimRight($sString, 1), ";", 2)
    $iUB1 = UBound($aSplit)
    Dim $ARET[$iUB1][1]
    For $i = 0 To $iUB1 - 1
    $aSplit2 = StringSplit($aSplit[$i], "|", 2)
    $iUB2 = UBound($aSplit2)
    If $iUB2 > UBound($ARET, 2) Then ReDim $ARET[$iUB1][$iUB2]
    For $j = 0 To $iUB2 - 1
    $ARET[$i][$j] = $aSplit2[$j]
    Next
    Next
    Return $ARET
    EndFunc ;==>_LISTVIEWTOARRAY
    Func TAGOUT()
    $tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
    If $playing_state = -1 Then
    GUICtrlSetData($TITART, "INR - Localtuner")
    ElseIf $tags = "" & "-" & "" Then
    GUICtrlSetData($TITART, "Konnte ID3-Tags nicht Lesen!")
    Else
    GUICtrlSetData($TITART, $tags)
    EndIf
    EndFunc ;==>TAGOUT
    Func _MOVELISTVIEWITEM()
    Local $VON, $BIS, $DOWN = GUIGetCursorInfo($hwnd)
    If $DOWN[4] = $hListView Then
    $VON = _GUICtrlListView_GetHotItem($hListView)
    While $DOWN[2]
    $DOWN = GUIGetCursorInfo($hwnd)
    Sleep(50)
    WEnd
    If $DOWN[4] = $hListView Then
    $BIS = _GUICtrlListView_GetHotItem($hListView)
    If NOT ($VON = $BIS) Then
    _MOVELVITEM($VON, $BIS - $VON, $hListView)
    _GUICtrlListView_SetItemState($hListView, $BIS, 1, 1)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_MOVELISTVIEWITEM
    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
    Func _PLAY_BUTTON()
    If $playing_state = 2 Then
    _BASS_CHANNELPLAY($MusicHandle, 0)
    $playing_state = 1
    EndIf
    EndFunc ;==>_PLAY_BUTTON
    Func _PAUSE_BUTTON()
    If $playing_state = 1 Then
    _BASS_CHANNELPAUSE($MusicHandle)
    $playing_state = 2
    EndIf
    EndFunc ;==>_PAUSE_BUTTON
    Func _STOP_BUTTON()
    If $playing_state = 1 Then
    _BASS_CHANNELSTOP($MusicHandle)
    $playing_state = -1
    EndIf
    EndFunc ;==>_STOP_BUTTON
    Func _CLOSE_BUTTON()
    EXITF()
    EndFunc ;==>_CLOSE_BUTTON
    Func SAVELV($SFILE)
    Local $HFILEOUT, $aItem
    $HFILEOUT = FileOpen($SFILE, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($hListView) - 1
    $aItem = _GUICtrlListView_GetItemTextString($hListView, $j)
    FileWriteLine($HFILEOUT, $aItem)
    Next
    FileClose($HFILEOUT)
    EndFunc ;==>SAVELV
    Func LOADLV($SFILE)
    Local $AITEMS
    If FileExists($SFILE) Then
    _FileReadToArray($SFILE, $AITEMS)
    If IsArray($AITEMS) Then
    _GUICtrlListView_DeleteAllItems($hListView)
    For $j = 1 To $AITEMS[0]
    GUICtrlCreateListViewItem($AITEMS[$j], $hListView)
    Next
    EndIf
    EndIf
    EndFunc ;==>LOADLV
    #endregion Func's

    [/autoit]

    3 Mal editiert, zuletzt von JuraX (24. März 2010 um 20:29)

  • Ich würde mal sagen (ohne es getestet zu haben, da mir die Bass.au3 etc fehlt),
    dass es an dem Stringsplit vorher liegt, der er vermutlich einen Array erzeugen will,
    aber den Rückgabewert "" (=leer) erhält. Du solltest also erst gucken, ob der Stringsplit
    einen Array erzeugt hat.
    Die Vermutung beruht auf der gleichen Fehlermeldung bei:

    [autoit]

    Dim $aTest[""][2]

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

    • Offizieller Beitrag
    [autoit]

    Func _LEFTDBLCLICK()
    If $playing_state = 1 Then
    _BASS_CHANNELSTOP($MusicHandle)
    EndIf
    $titelnummer = -1
    $file = $aItem[2]
    $MusicHandle = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
    _BASS_CHANNELPLAY($MusicHandle, 0)
    $playing_state = 1
    EndFunc ;==>_LEFTDBLCLICK

    [/autoit]


    Das liegt an $titelnummer = -1 und ist somit negativ. Wie willst du ein Negatives Arrayelement auslesen? Überprüf mal mit ConsoleWrite welchen Wert die Variable hat.

    Zeile 323:

    [autoit]

    $MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)

    [/autoit]
    • Offizieller Beitrag

    Achso, wenn du willst das jemand dein Script testet, dann solltest du auch alle Includes in deiner Zip haben . Die AutoItObject.au3 fehlt und diese wird bei der ThumbBar.au3 benötigt. :whistling: