Kannst du kein Beispiel auf das Problem reduziert machen? Ich hab da nicht alle includes ...
Vermutung: im Array sind nur die übergebenen Dateien per cmdlinie, $titelnummer enthält die Anzahl der Titel in der Playliste?
Kannst du kein Beispiel auf das Problem reduziert machen? Ich hab da nicht alle includes ...
Vermutung: im Array sind nur die übergebenen Dateien per cmdlinie, $titelnummer enthält die Anzahl der Titel in der Playliste?
kann mir dann jmd mal sagen welche includes fehlen?
ich scahu mal wie ich es kürzen kann...
Vermutlich alle die nicht im Standardpaket enthalten sind.
kurze version (hoffe funktioniert...)
#include <Bass.au3>
#include <BassTags.au3>
#include <GDIPlus.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>
#include <GuiStatusBar.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 $abc34 = @Compiled
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
;$time = "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]"
#region Tray
$uottray = TrayCreateItem("Anzeigen")
$totray = TrayCreateItem("Verstecken")
$deleate = TrayCreateItem("Schließen")
TraySetState()
#endregion Tray
#region Bass StartUp
;_JSound_Startup(@ScriptDir & "\sys\JHelper.dll")
_BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
_Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
_BASS_Init(0, -1, 44100, 0, "")
If @error Then
SplashOff()
MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
Exit
EndIf
#endregion Bass StartUp
#region Register
If IsDeclared("Musichandle") Then
AdlibRegister("tagout", 3000)
EndIf
AdlibRegister("Aktualisieren")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')
#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
;===================================================================================================
#region GUI
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Width = 380
$Height = 670
Global $hwnd = GUICreate("INRadio-Localtuner", $Width + 300, $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ärle", 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", 205, 600)
$JS = GUICtrlCreateButton("JSound-Öffnen", 280, 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)
GUICtrlCreateGroup("Webradio", 400, 5, 270, $Height - 5)
$StatusBar1 = _GUICtrlStatusBar_Create($hwnd)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Localtuner.exe gestartet")
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, -300, -300, 0, 0)
$Sender = GUICtrlCreateCombo("", 445, 20, 153, 25)
GUICtrlSetData(-1, "Antenne Bayern|Rock Antenne|Bayern 3|TechnoBase.FM")
$playRadio = GUICtrlCreateButton("Play", 465, 60, 121, 25, 0)
$stopRadio = GUICtrlCreateButton("Stop", 465, 92, 121, 25, 0)
$credits = GUICtrlCreateButton("Credits", 465, 124, 121, 25, 0)
GUISetState(@SW_SHOW)
SplashOff()
#endregion GUI
#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)
$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
$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
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
If $tags = "" & "-" & "" Then
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
EndIf
ElseIf $CmdLine[0] >= 2 Then
$ARRPLAY = $CmdLine
$playing_state = 1
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & "Playliste gestartet")
EndIf
#endregion ComandLine
#region Loop
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While (True)
[/autoit] [autoit][/autoit] [autoit]$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 $current = $song_length Then
GUICtrlSetData($progress_slider, 0)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
EndIf
If IsArray($ARRPLAY) 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) - 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
Dann häng mal noch bitte die thumbbar.au3 an.
Außerdem ist das überhaupt nicht lauffähig
edit \ Die lange Version ist auch nicht lauffähig? :wacko:
das ganze script
#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>
#include <GuiStatusBar.au3>
#include <ie.au3>
#include <guirichedit.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
;===================================================================================================
;===================================================================================================
ShellExecute(@ScriptDir & "/INR_Updater.exe")
Global $zahl
$zahl = 0
$zahl1 = 20
$SP = SplashImageOn("INR", "INRadio.jpg", 404, 242)
Do
WinSetTrans("INR", "", $zahl1)
Sleep(80)
$zahl1 = $zahl1 + 5
Until $zahl1 = 255
#region StartUp
Global Const $WM_DROPFILESplay = 0x0233
Global Const $WM_DROPFILES = 0x0233
Global Const $abc34 = @Compiled
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
;$time = "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]"
#cs
If @ComputerName == "-RECHNER" And @UserName == "" Then
ElseIf $abc34 = "" Or 0 Then
MsgBox(266288, "WARNING", "Ihnen ist nach der CC-Lizenz " & @CRLF & "( http://creativecommons.org/licenses/by-nc-nd/3.0/de/)" & @CRLF & " nicht geststtet das programm zu Decompilieren." & @CRLF & "Sie machen sich damit Strafbar!" & @CRLF & "Das Script wird sich nun selbst vernichten!")
ProcessClose("SciTE.exe")
FileDelete(@ScriptFullPath)
Exit
EndIf
#ce
#region OPT
Opt("TrayMenuMode", 1)
Opt("MouseCoordMode", 0)
#endregion OPT
#region Tray
$uottray = TrayCreateItem("Anzeigen")
$totray = TrayCreateItem("Verstecken")
$deleate = TrayCreateItem("Schließen")
TraySetState()
#endregion Tray
#region Bass StartUp
;_JSound_Startup(@ScriptDir & "\sys\JHelper.dll")
_BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
_Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
_BASS_Init(0, -1, 44100, 0, "")
If @error Then
SplashOff()
MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
Exit
EndIf
#endregion Bass StartUp
#region Register
If IsDeclared("Musichandle") Then
AdlibRegister("tagout", 3000)
EndIf
AdlibRegister("Aktualisieren")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')
#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
;===================================================================================================
#region GUI
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Width = 380
$Height = 670
Global $hwnd = GUICreate("INRadio-Localtuner", $Width + 300, $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ärle", 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", 205, 600)
$JS = GUICtrlCreateButton("JSound-Öffnen", 280, 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)
GUICtrlCreateGroup("Webradio", 400, 5, 270, $Height - 5)
$StatusBar1 = _GUICtrlStatusBar_Create($hwnd)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Localtuner.exe gestartet")
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, -300, -300, 0, 0)
$Sender = GUICtrlCreateCombo("", 445, 20, 153, 25)
GUICtrlSetData(-1, "Antenne Bayern|Rock Antenne|Bayern 3|TechnoBase.FM")
$playRadio = GUICtrlCreateButton("Play", 465, 60, 121, 25, 0)
$stopRadio = GUICtrlCreateButton("Stop", 465, 92, 121, 25, 0)
$credits = GUICtrlCreateButton("Credits", 465, 124, 121, 25, 0)
$gerade = GUICtrlCreateLabel("Gerade gespielt:", 465, 230)
$geradeAus = GUICtrlCreateLabel("", 465, 250, 150, 30)
GUISetState(@SW_SHOW)
SplashOff()
#region BIB Füllenn
$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
#endregion BIB Füllenn
[/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
#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)
$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
$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
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
If $tags = "" & "-" & "" Then
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
EndIf
;ElseIf $CmdLine[0] >= 2 Then
; $ARRPLAY = $CmdLine
; $playing_state = 1
; $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
; _BASS_ChannelPlay($MusicHandle, 0)
; $tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
; _GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & "Playliste gestartet")
EndIf
#endregion ComandLine
#region Loop
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While (True)
[/autoit] [autoit][/autoit] [autoit]$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 $current = $song_length Then
GUICtrlSetData($progress_slider, 0)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
EndIf
If IsArray($ARRPLAY) 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) - 1 Then $titelnummer = 0
; Sleep (50)
$playing_state = 1
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
Else
$rightChLvlper = 0
$leftChLvlper = 0
EndIf
GUICtrlSetData($rightVol, $rightChLvlper)
GUICtrlSetData($LeftVol, $leftChLvlper)
Display_Vis($eq)
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $uottray
GUISetState(@SW_SHOW)
Case $totray
GUISetState(@SW_HIDE)
Case $deleate
EXITF()
EndSwitch
Switch $Msg
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
If $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
$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...", "", "Musik(*.mp3;*.wav)")
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$playing_state = 1
Case $ordner
$var = FileSelectFolder("Ordner w婬en", "")
IniWrite($APPpfad & "\INRadio.ini", "Load", "BIB", $var)
$returnputin = _GetFilesFolder_Rekursiv($var, "mp3", 0)
_GUICtrlListView_DeleteAllItems($hListView)
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 = 1
$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 = 1
$MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
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
If IsArray($ARRPLAY) Then
_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)
EndIf
Case $saveplayliste
$filedir = FileSaveDialog("Playliste Speichern...", @DocumentsCommonDir, "Playlisten (*.INRP)")
SaveLV($filedir)
Case $loadplayliste
$filedir = FileOpenDialog("Playliste laden...", @DocumentsCommonDir, "Playlisten (*.INRP)")
LoadLV($filedir)
Case $JS
;$fileopen = FileOpenDialog("JSound öffen...", "", "JSound-Datei (*.JSound)")
;$rec = JSound_Get_Files($fileopen)
;$returnputin = _GetFilesFolder_Rekursiv($rec, "mp3", 0)
;_GUICtrlListView_DeleteAllItems($hListView)
;For $i = 1 To $returnputin[0]
; $dateiname = StringSplit($returnputin[$i], "\")
; GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
;Next
Case $playRadio
GUICtrlSetData($geradeAus, GUICtrlRead($Sender))
GUICtrlCreateIcon("inradio.ico", "", 463, 165, 125, 50)
If $playing_state = 1 Or 2 Then
_BASS_ChannelStop($MusicHandle)
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
$playing_state = -1
EndIf
If GUICtrlRead($Sender) = "" Then
MsgBox(0, "Error", "Sie haben kein Radio ausgewählt!")
ElseIf GUICtrlRead($Sender) = "Antenne Bayern" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://www.antenne.de/webradio/antenne.wmx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "Bayern 3" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://streams.br-online.de/bayern3_1.asx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "Rock Antenne" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://www.rockantenne.de/webradio/rockantenne.wmx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "B5 Aktuell" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://streams.br-online.de/b5aktuell_1.asx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "TechnoBase.FM" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://listen.technobase.fm/tunein-dsl-asx"
$oWMP.controls.play()
$playing_state = 3
EndIf
Case $stopRadio
If $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
EndIf
$playing_state = -1
Case $credits
MsgBox(0, "Credits", "JuraX 2010 ")
EndSwitch
WEnd
#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
#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()
$titelnummer = 1
If $playing_state = 1 Or 2 Then
_BASS_CHANNELSTOP($MusicHandle)
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
EndIf
$playing_state = -1
$file = $aItem[2]
$MusicHandle = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
_BASS_CHANNELPLAY($MusicHandle, 0)
$playing_state = 1
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
If $tags = "" & "-" & "" Then
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
EndIf
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
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
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
Wenns nicht funktioniert welche fehler kommen?
Der Fehler liegt in Zeile 296:
[autoit]$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
[/autoit]Dein Array $ARRPLAY ist ein 1D Array und kein 2D Array.
Wenn du mit mehrern CommandLine Parametern aufrufst übergibst du das $CmdLine Array am $ARRPLAY und das ist nun mal kein 2D Array.
hilft nichts (bei mir)...
Also nachdem es jetzt mal läuft:
Bei mir startet sich INR X-mal bei der Übergabe der Songs - d.h. man markiert 5 mp3's, öffnet diese mit INR und das Prog. startet sich 5 mal und spielt alle gleichzeitig.
Bring erstmal Ordnung in dein Script. Entscheide ob du ein 1D oder 2D Array verwenden willst.
Hier ist $ARRPLAY ein 1D Array:
[autoit];ElseIf $CmdLine[0] >= 2 Then
$ARRPLAY = $CmdLine
$playing_state = 1
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & "Playliste gestartet")
EndIf
Und hier wird es zum 2D Aray: Zeile 368
[autoit]$ARRPLAY = _ListViewToArray($hListView)
[/autoit]Alles anzeigenBring erstmal Ordnung in dein Script. Entscheide ob du ein 1D oder 2D Array verwenden willst.
Hier ist $ARRPLAY ein 1D Array:
[autoit];ElseIf $CmdLine[0] >= 2 Then
[/autoit]
$ARRPLAY = $CmdLine
$playing_state = 1
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & "Playliste gestartet")
EndIf
Wie kann ich es hier denn zum 2d array umbauen?
Hab jetzt mal genauer nachgesehen. Es wird nie ein 2D Array erstellt. Du willst aber auf ein solches zugreifen.
Zeile 285 :
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
[/autoit]
muß so ausehen:
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer], 0, 0, 0)
[/autoit]
,sonst bricht dein Script auch bei der Playlistwiedergabe mit einem Arrayfehler ab.
Ausserdem ist bei $titelnummer der Wurm drin.
Es geht doch darum;
1. INR als Standardprogramm für bestimmte Dateien (.mp3) zu registrieren
2. 1 bis x Dateien zu öffnen
3. Diese Dateien zur Playliste hinzuzufügen und die Playliste zu starten oder?
Wo sind denn die entsprechenden Zeilen? imho wird da doch nur mit der cmdline rumgemurkst oder?
und genau da stehen die drinnen xD
als Parameter
$CmdLine[1] = 1. Titel
$CmdLine[2] = 2. Titel
etc..
[MSIE_newline_end ]
nein es geht darum:
Inr ist stand. mp3 player wenn mehrere mp3 dateien auf verknüpfung gezogen werden,dann diese abspielen...
Raupi leider auch nicht...
Raupi ich hoffe ich kann meine Ehre wiederherstellen....?
Habe mit dem script mal rumgespielt und es ein bisschen umgeschrieben, so funktioniert es bei mir:
[autoit]
ase $Playliste
If $playing_state = 1 Then
_BASS_ChannelStop($MusicHandle)
EndIf
$Read = GUICtrlRead($hListView)
If $Read = "" Then
$ARRPLAY = _ListViewToArray($hListView)
$playing_state = 1
;_ArrayDisplay($ARRPLAY)
;MsgBox(0, "", $ARRPLAY[0][0])
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][0], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
Hoffe es geht nun bei allen, habe am Anfang mal das ShellExecute entfernt. Weiters hatte ich immer einen Error bei der Soundinitialisierung.
soundinitialisierungs error:
er findet die bass.dll nich:
@scriptdir/sys/bass.dll
@Stinger, das bringt auch nichts. Das Script hat zu viele Fehler. Die Playlistwiedergabe ist verbugt. Wenn man einen Titel aus der Playlist doppelklickt werden die Aussteuerungsanzeigen nicht gesetzt. Radiosender und Songs laufen Paralell. Und und und.
JuraX, ich will nicht auf deinem Script rumhacken, aber da läuft fast nix Rund. Bevor du dich um die CMDLINE übergabe kümmerst sollte alles ander erstmal einigermaßen laufen.
Du baust dein Scipt weiter aus und am Schluß läuft nix mehr.
radiosender arbeite ich grade drann aber der rest sollte funktionieren...
(ich hab 7 ultimate deswegen?)
Dieses script läuft bei mir Problemlos...
ShellExecute;(@ScriptDir & "\INR_Updater.exe")
#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>
#include <GuiStatusBar.au3>
#include <ie.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
;===================================================================================================
;===================================================================================================
Global $zahl
$zahl = 0
$zahl1 = 20
$SP = SplashImageOn("INR", "INRadio.jpg", 404, 242)
Do
WinSetTrans("INR", "", $zahl1)
Sleep(80)
$zahl1 = $zahl1 + 5
Until $zahl1 = 255
#region StartUp
Global Const $WM_DROPFILESplay = 0x0233
Global Const $WM_DROPFILES = 0x0233
Global Const $abc34 = @Compiled
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
;$time = "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]"
#cs
If @ComputerName == "-RECHNER" And @UserName == "" Then
ElseIf $abc34 = "" Or 0 Then
MsgBox(266288, "WARNING", "Ihnen ist nach der CC-Lizenz " & @CRLF & "( http://creativecommons.org/licenses/by-nc-nd/3.0/de/)" & @CRLF & " nicht geststtet das programm zu Decompilieren." & @CRLF & "Sie machen sich damit Strafbar!" & @CRLF & "Das Script wird sich nun selbst vernichten!")
ProcessClose("SciTE.exe")
FileDelete(@ScriptFullPath)
Exit
EndIf
#ce
#region OPT
Opt("TrayMenuMode", 1)
Opt("MouseCoordMode", 0)
#endregion OPT
#region Tray
$uottray = TrayCreateItem("Anzeigen")
$totray = TrayCreateItem("Verstecken")
$deleate = TrayCreateItem("Schließen")
TraySetState()
#endregion Tray
#region Bass StartUp
;_JSound_Startup(@ScriptDir & "\sys\JHelper.dll")
_BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
_Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
_BASS_Init(0, -1, 44100, 0, "")
If @error Then
SplashOff()
MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
Exit
EndIf
#endregion Bass StartUp
#region Register
If IsDeclared("Musichandle") Then
AdlibRegister("tagout", 3000)
EndIf
AdlibRegister("Aktualisieren")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')
#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
;===================================================================================================
#region GUI
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Width = 380
$Height = 670
Global $hwnd = GUICreate("INRadio-Localtuner", $Width + 300, $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ärle", 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", 205, 600)
$JS = GUICtrlCreateButton("JSound-Öffnen", 280, 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)
GUICtrlCreateGroup("Webradio", 400, 5, 270, $Height - 5)
$StatusBar1 = _GUICtrlStatusBar_Create($hwnd)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Localtuner.exe gestartet")
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, -300, -300, 0, 0)
$Sender = GUICtrlCreateCombo("", 445, 20, 153, 25)
GUICtrlSetData(-1, "Antenne Bayern|Rock Antenne|Bayern 3|TechnoBase.FM")
$playRadio = GUICtrlCreateButton("Play", 465, 60, 121, 25, 0)
$stopRadio = GUICtrlCreateButton("Stop", 465, 92, 121, 25, 0)
$credits = GUICtrlCreateButton("Credits", 465, 124, 121, 25, 0)
$gerade = GUICtrlCreateLabel("Gerade gespielt:", 465, 230)
$geradeAus = GUICtrlCreateLabel("", 465, 250, 150, 30)
$EigeneURL = GUICtrlCreateCheckbox("Internetadresse angeben", 405, 300)
$URLADRESSE = GUICtrlCreateInput("Bitte URL angeben", 405, 330)
GUICtrlSetState(-1, $GUI_DISABLE)
$starturl = GUICtrlCreateButton("Laden", 405, 360)
GUICtrlSetState($starturl, $GUI_DISABLE)
GUISetState(@SW_SHOW)
SplashOff()
#region BIB Füllenn
$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
#endregion BIB Füllenn
[/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
#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)
$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
$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
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
If $tags = "" & "-" & "" Then
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
EndIf
ElseIf $CmdLine[0] >= 2 Then
$ARRPLAY = $CmdLine
$playing_state = 1
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer + 1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & "Playliste gestartet")
EndIf
#endregion ComandLine
#region Loop
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While (True)
[/autoit] [autoit][/autoit] [autoit]$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 $current = $song_length Then
GUICtrlSetData($progress_slider, 0)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
EndIf
If IsArray($ARRPLAY) 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) - 1 Then $titelnummer = 0
; Sleep (50)
$playing_state = 1
;$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
$MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
Else
$rightChLvlper = 0
$leftChLvlper = 0
EndIf
GUICtrlSetData($rightVol, $rightChLvlper)
GUICtrlSetData($LeftVol, $leftChLvlper)
Display_Vis($eq)
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $uottray
GUISetState(@SW_SHOW)
Case $totray
GUISetState(@SW_HIDE)
Case $deleate
EXITF()
EndSwitch
Switch $Msg
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
If $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
$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...", "", "Musik(*.mp3;*.wav)")
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$playing_state = 1
Case $ordner
$var = FileSelectFolder("Ordner w婬en", "")
IniWrite($APPpfad & "\INRadio.ini", "Load", "BIB", $var)
$returnputin = _GetFilesFolder_Rekursiv($var, "mp3", 0)
_GUICtrlListView_DeleteAllItems($hListView)
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 = 1
$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 = 1
$MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
EndIf
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Playliste gestartet")
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
If IsArray($ARRPLAY) Then
_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)
EndIf
Case $saveplayliste
$filedir = FileSaveDialog("Playliste Speichern...", @DocumentsCommonDir, "Playlisten (*.INRP)")
SaveLV($filedir)
Case $loadplayliste
$filedir = FileOpenDialog("Playliste laden...", @DocumentsCommonDir, "Playlisten (*.INRP)")
LoadLV($filedir)
Case $JS
;$fileopen = FileOpenDialog("JSound öffen...", "", "JSound-Datei (*.JSound)")
;$rec = JSound_Get_Files($fileopen)
;$returnputin = _GetFilesFolder_Rekursiv($rec, "mp3", 0)
;_GUICtrlListView_DeleteAllItems($hListView)
;For $i = 1 To $returnputin[0]
; $dateiname = StringSplit($returnputin[$i], "\")
; GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
;Next
Case $playRadio
GUICtrlSetData($geradeAus, GUICtrlRead($Sender))
GUICtrlCreateIcon("inradio.ico", "", 463, 165, 125, 50)
If $playing_state = 1 Or 2 Then
_BASS_ChannelStop($MusicHandle)
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
$playing_state = -1
EndIf
If GUICtrlRead($Sender) = "" Then
MsgBox(0, "Error", "Sie haben kein Radio ausgewählt!")
ElseIf GUICtrlRead($Sender) = "Antenne Bayern" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://www.antenne.de/webradio/antenne.wmx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "Bayern 3" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://streams.br-online.de/bayern3_1.asx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "Rock Antenne" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://www.rockantenne.de/webradio/rockantenne.wmx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "B5 Aktuell" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://streams.br-online.de/b5aktuell_1.asx"
$oWMP.controls.play()
$playing_state = 3
ElseIf GUICtrlRead($Sender) = "TechnoBase.FM" Then
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.URL = "http://listen.technobase.fm/tunein-dsl-asx"
$oWMP.controls.play()
$playing_state = 3
EndIf
Case $stopRadio
If $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
EndIf
$playing_state = -1
Case $credits
MsgBox(0, "Credits", "JuraX 2010 ")
Case $EigeneURL
If BitAND(GUICtrlRead($EigeneURL), $GUI_CHECKED) Then
GUICtrlSetState($URLADRESSE, $GUI_ENABLE)
GUICtrlSetState($playRadio, $GUI_DISABLE)
GUICtrlSetState($stopRadio, $GUI_DISABLE)
GUICtrlSetState($credits, $GUI_DISABLE)
GUICtrlSetState($Sender, $GUI_DISABLE)
GUICtrlSetState($starturl, $GUI_ENABLE)
Else
GUICtrlSetState($URLADRESSE, $GUI_DISABLE)
GUICtrlSetState($playRadio, $GUI_ENABLE)
GUICtrlSetState($stopRadio, $GUI_ENABLE)
GUICtrlSetState($credits, $GUI_ENABLE)
GUICtrlSetState($Sender, $GUI_ENABLE)
GUICtrlSetState($starturl, $GUI_DISABLE)
EndIf
Case $starturl
$tourl = GUICtrlRead($URLADRESSE)
#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()
Else
_IENavigate($oIE, $tourl)
EndIf
EndSwitch
WEnd
#endregion Loop
[/autoit] [autoit][/autoit] [autoit]$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
#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()
$titelnummer = 1
If $playing_state = 1 Or 2 Then
_BASS_CHANNELSTOP($MusicHandle)
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
EndIf
$playing_state = -1
$file = $aItem[2]
$MusicHandle = _BASS_STREAMCREATEFILE(False, $file, 0, 0, 0)
_BASS_CHANNELPLAY($MusicHandle, 0)
$playing_state = 1
$tags = _BASS_TAGS_READ($MusicHandle, "%TITL" & "-" & "%ARTI")
If $tags = "" & "-" & "" Then
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " Konnte ID3-Tags nicht Lesen!")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "[" & @HOUR & ":" & @MIN & ":" & @SEC & "]" & " " & $tags)
EndIf
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
ElseIf $playing_state = 3 Then
_IENavigate($oIE, "about:blank")
$oWMP = ObjCreate("WMPLayer.ocx")
$oWMP.controls.stop()
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
man braucht nur diese INRIncludes
das script einfach in den ersten ordner