Version 1.8.2
Bug beim Abspielen per Rechtsklick gefixxt.
Spoiler anzeigen
#AutoIt3Wrapper_Res_LegalCopyright Nicolas Giese
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <array.au3>
#include <Sound.au3>
#include <EditConstants.au3>
#include <file.au3>
;Spuren löschen
Opt("OnExitFunc","OnExit")
;um das standart traymenü wegzubekommen
Opt("TrayAutoPause",0)
Opt("TrayMenuMode",1)
;Debugging,meist deaktiviert
Opt("TrayIconDebug",1)
;playlist löschen (wichtig,falls abgebrochen gestartet wurde)
FileDelete(@Tempdir & "\soundfiles.txt")
#Region Variable
$space = " "
;gebraucht um die gesamte Statusbar grau zu färben
$loop1 = 0
$readnumber = 1
Global $readsoundplay
Global $openedsoundfile
Global $paused = 0
Global $stopped = 0
Global $loop
Global $timer = 0
Global $onesound = 0
Global $visualnumber
Global $lastsong = "firstplay"
Global $optionplay = 1 ;1 = Zufall, 2 = Alphabetisch/Liste
Global $aktuelleslied = 1
$version = "1.8.2"
[/autoit] [autoit][/autoit] [autoit];um da verschiedene Werte zu speichern
RegWrite("HKEY_CURRENT_USER\Software\NMW")
#EndRegion
;region ,du darfst nicht weiter nach unten ![]()
;traytooltip default setzen (bis zum starten der musik)
TraySetToolTip("Nicksoft Media Player " & $version & @crlf & "Warten auf Musik...")
;Traymenü erstellen für bessere Handlichkeit
#Region CreateTray
$trayinfo = TrayCreateItem("Info")
;strich im menü
TrayCreateItem("")
$trayplay = TrayCreateItem("Play")
TrayCreateItem("")
$trayexit = TrayCreateItem("Exit")
#EndRegion
;und wieder ein stop fürs endregion
;visual auswählen
choosevisual()
$gui = GUICreate("Nicksoft Media Player " & $version,500,400)
;Farbe
GUISetBkColor(0x828AAC)
; Musikdateien auflisten ; liste,kein edit (mehr),da keine direktwahl gemacht werden kann
$list = GUICtrlCreateList("Nothing selected",5,10,150,350)
$listmenu = GUICtrlCreateContextMenu($list)
$listitem1 = GUICtrlCreateMenuItem("Play",$listmenu)
;Menü
$filemenu = GUICtrlCreateMenu("&File")
$fileitem = GUICtrlCreateMenuItem("Open", $filemenu)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
$saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
GUICtrlSetState(-1, $GUI_DISABLE)
$infomenu = GUICtrlCreateMenu("?")
$infoitem = GUICtrlCreateMenuItem("Info",$infomenu)
$howtoplay1song = GUICtrlCreateMenuItem("Wie spiele ich Lieder direkt?",$infomenu)
;NEU -> Timer bis zum Herunterfahren von Windows
$timermenu = GUICtrlCreateMenu("Timer")
$timeritem = GUICtrlCreateMenuItem("Shutdowntimer",$timermenu)
;NEU -> Zufall oder Listenspielart wählbar
$playoption = GUICtrlCreateMenu("Optionen")
$randomitem = GUICtrlCreateMenuItem("Zufällig",$playoption)
GUICtrlSetState($randomitem, $GUI_CHECKED)
GUICtrlSetState($randomitem, $GUI_DISABLE)
$abcitem = GUICtrlCreateMenuItem("Alphabetisch",$playoption)
;Statusbar
;Anzeige für aktuell spielendes Lied ist in der Statusbar !
$statuslabel = GUICtrlCreateLabel("Ready" & $space,0,365,500,15,BitOR($SS_SIMPLE, $SS_SUNKEN))
GUICtrlSetBkColor($statuslabel,0xE0DFE3)
;Start + Pause + Stop
$start = GUICtrlCreateButton(">",165,330,100,25)
GUICtrlSetState(-1, $GUI_DISABLE)
$pause = GUICtrlCreateButton(":",270,330,100,25)
GUICtrlSetState(-1, $GUI_DISABLE)
$stop = GUICtrlCreateButton("Stop",375,330,100,25)
GUICtrlSetState(-1, $GUI_DISABLE)
;Visualisierung
GUICtrlCreateGroup("Visual",165,25,320,200)
$visual = GUICtrlCreateAvi($visualnumber,-1,180,50,150,150)
;volumen
GUICtrlCreateGroup("Volumen",165,270,320,50)
$volume = GUICtrlCreateSlider(170,285,300,25)
;färben
GUICtrlSetBkColor(-1,0x828AAC)
;0-100 = 100% und saubere schritte
GUICtrlSetLimit($volume,100,0)
;Default auf vollem Volumen
GUICtrlSetData($volume,100)
GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
$tray = TrayGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE ;wenn Fenster geschlossen wurde
;hinweis,dass der Tiomer nach schließen nichtmehr Funktioniert
If $timer = 1 Then
;4 = yes & No,32 = Fragezeichen
$msgbox = MsgBox(4 + 32,"NIcksoft Media Player schließen","Der Shutdowntimer wurde aktiviert !" & @crlf & "Wenn Sie den Player beenden, funktioniert diese Funktion nicht mehr !" & @crlf & @crlf & "Möchten Sie wirklich beenden?")
;wenn nein gedrückt wurde:
If $msgbox = 7 Then
;zurückkehren
ExitLoop
EndIf
EndIf
Exit
Case $msg = $fileitem
open()
openbuttons()
Case $msg = $infoitem
MsgBox(0,"Info","Von Nicksoft (2008)" & @crlf & "Version: " & $version )
Case $msg = $howtoplay1song
MsgBox(0,"Wie spiele ich einen einzelnen Song aus der Playlist?","Markiere mit der Maus ein Lied und " & @crlf & "öffne dann das Kontextmenü. (Rechtsklick)")
Case $msg = $start
start()
Case $msg = $pause
pause()
Case $msg = $stop
stop()
Case $msg = $timeritem
$zeitexample = @HOUR & ":" & @MIN
$zeit = InputBox("Shutdowntimer","Mit dieser Funktion kann sich ihr Windows um eine bestimmte Zeit herunterfahren." & @crlf & "Es ist zur Zeit : " & $zeitexample & @crlf & "Nach diesem Muster geben Sie bitte die Zieluhrzeit ein:","","",300,200)
GUICtrlSetState($timeritem, $GUI_CHECKED)
If @error Then ContinueLoop
$timer = 1
Case $msg = $listitem1
contextlist()
Case $msg = $saveitem
playlistspeichern()
Case $msg = $abcitem ;auf liste umgestellt
changetolist()
Case $msg = $randomitem
changetorandom()
Case $tray = $trayinfo
MsgBox(0,"Info","Von Nicksoft (2008)" & @crlf & "Version: " & $version )
Case $tray = $trayplay
open()
openbuttons()
Case $tray = $trayexit
Exit
Case Else
volume()
If $timer = 1 Then
If @hour & ":" & @MIN = $zeit Then
Shutdown(5)
Exit
EndIf
EndIf
EndSelect
WEnd
; FUNKTIONEN
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; - GUIFUNKTIONEN
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func open()
;Datei aussuchen, mehrfachauswahl
$fileselect = FileOpenDialog("Choose Music",@Desktopdir,"Music & NMP-Playlist (*.mp3;*.wma;*.wav;*.nmp)",1 + 4)
;wenn abgebrochen wurde:
If @error Then Return
;gucken ob Playlist
$look1 = StringInStr($fileselect,".nmp")
If $look1 > 1 Then
;Datei an Playlistort kopieren & zurückbennen
FileCopy($fileselect,@Tempdir & "\soundfiles.txt")
;warten bis fertig kopiert
Do
Sleep(100)
Until FileExists(@Tempdir & "\soundfiles.txt")
;schleife um alle Einträge in die Liste einzutragen
;-------
$loopsearch = 2
;-------/
Do
$read = FileReadLine(@Tempdir & "\soundfiles.txt",$loopsearch)
If @error Then ExitLoop
If $read = "" Then ExitLoop
GUICtrlSetData($list,$read)
$loopsearch = $loopsearch + 1
Until @error
start()
Else
;gucken ob nur einzelauswahl
$look = StringInStr($fileselect,"|")
If $look > 1 Then
;mehrfachauswahl zurecht stutzen
#Region imported
$durchsuchen1 = StringReplace($fileselect, "|", @CRLF)
FileWriteLine(@Tempdir & "\search.tmp",$durchsuchen1)
;-------
$loopsearch = 2
;-------/
$read1stlinesearch = FileReadLine(@Tempdir & "\search.tmp",1)
Do
$readxlinesearch = FileReadLine(@Tempdir & "\search.tmp",$loopsearch)
$err = @error
$loopsearch = $loopsearch + 1
If $readxlinesearch = "" Then
FileDelete(@Tempdir & "\search.tmp")
ExitLoop
EndIf
GUICtrlSetData($list,$readxlinesearch,-1)
FileWriteLine(@Tempdir & "\soundfiles.txt",$read1stlinesearch & "\" & $readxlinesearch & @CRLF) ;da z.Zeit liste,kein edit ist,wird playlist gespeichert
Until $err = -1
#EndRegion
start()
Else
$onesound = 1
;bisherige Musik stoppen
_SoundClose($openedsoundfile)
AdlibDisable()
;neue Datei öffnen & abspielen
$openedsoundfile = _SoundOpen($fileselect)
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;datei auf edit setzen
GUICtrlSetData($list,$fileselect)
;visual aktivieren
GUICtrlSetState($visual,1)
;lied in statusbar schreiben
status($fileselect)
;markieren als besonderes event
$onesound = 1
EndIf
;playlist speichern jetzt möglich machen
GUICtrlSetState($saveitem,$GUI_ENABLE)
Endif
EndFunc
;alle knöpfe freischalten
Func openbuttons()
GUICtrlSetState($pause, $GUI_ENABLE)
;bis stoptaste wieder funktioniert wird sie deaktiviert
GUICtrlSetState($stop, $GUI_ENABLE)
EndFunc
;wenn der startknopf gedrückt wurde....
Func start()
;startknopf wieder deaktivieren
GUICtrlSetState($start, $GUI_DISABLE)
;falls aus einer pause gestartet wurde -> forfahren
If $paused = 1 Then
$paused = 0
fortfahren()
Return
EndIf
;Wieviele Lieder sind in in der Playlist gespeichert ? (1 Linie = 1 Pfad zu 1 Lied)
Countlines()
;maximale Anzahl der Lieder speichern für zufallsauswahl
RegWrite("HKEY_CURRENT_USER\Software\NMW","lines","REG_SZ",$loop)
;visual aktivieren
GUICtrlSetState($visual,1)
;lieder abspielen starten
If $optionplay = 1 Then
AdlibEnable("playsound")
Else
AdlibEnable("playsoundlist")
EndIf
EndFunc
;wenn pause gedrückt wurde
Func pause()
;sound nicht mehr abspielen
AdlibDisable()
_SoundPause($openedsoundfile)
;merken -> nur pause
$paused = 1
;visual pausieren
GUICtrlSetState($visual,0)
;in statusbar eintragen
status("paused")
;startknopf aktivieren
GUICtrlSetState($start, $GUI_ENABLE)
EndFunc
Func stop()
;abspielen beenden
AdlibDisable()
_SoundClose($openedsoundfile)
;in der statusbar als gestoppt anzeigen
status("stopped" & $space)
;merken -> nur stop
Global $stopped = 1
;visual pausieren
GUICtrlSetState($visual,0)
;startknopf aktivieren
GUICtrlSetState($start, $GUI_ENABLE)
;in trayicon anzeigen
TraySetToolTip("Gestoppt")
EndFunc
Func contextlist()
;markierten eintrag auslesen
$read = GUICtrlRead($list)
;falls kein Lied ausgewählt wurde
If $read = "Nothing selected" Or "" Then
MsgBox(0,"Nicksoft Media Player","Bitte wählen Sie ein Musiktitel aus!")
Return
EndIf
;sound stoppen
_SoundClose($openedsoundfile)
;ausgelesenes öffnen
$openedsoundfile = _SoundOpen($read)
;ausgelesenes starten
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;zur weiterverarbeitung den Eintrag in der Playlist suchen und Zeile speichern
$detectline = 1
Do
$readcontext = FileReadLine(@Tempdir & "\soundfiles.txt",$detectline)
$stringstr = StringInStr($readcontext,$read)
$detectline = $detectline + 1
Until $stringstr > 1
;für alphabet-abspielung speichern
$aktuelleslied = $detectline
;statusbar eintragen
status($readcontext)
;danach soll ja weitergemacht werden ! :
;erst bisheriges stoppen (falls es schon lief)
AdlibDisable()
If $optionplay = 1 Then
;dann neustarten
AdlibEnable("playsound")
Else
AdlibEnable("playsoundlist")
EndIf
EndFunc
Func playlistspeichern()
;speicherort auswählen lassen
$saveplaylist = FileSaveDialog("Playlist speichern",@Desktopdir,"NMP-Playlist (*.nmp)")
;wenn abgebrochen wurde zurückkehren
If @error Then Return
FileCopy(@Tempdir & "\soundfiles.txt",$saveplaylist & ".nmp",1)
;playlist speichern jetzt nichtmehr möglich machen
GUICtrlSetState($saveitem,$GUI_DISABLE)
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func changetolist()
$optionplay = 2
;option random wieder einblenden
GUICtrlSetState($randomitem, $GUI_UNCHECKED)
GUICtrlSetState($randomitem, $GUI_ENABLE)
;option ausblenden
GUICtrlSetState($abcitem, $GUI_CHECKED)
GUICtrlSetState($abcitem, $GUI_DISABLE)
EndFunc
Func changetorandom()
$optionplay = 1
;option list wieder einblenden
GUICtrlSetState($abcitem, $GUI_UNCHECKED)
GUICtrlSetState($abcitem, $GUI_ENABLE)
;option ausblenden
GUICtrlSetState($randomitem, $GUI_CHECKED)
GUICtrlSetState($randomitem, $GUI_DISABLE)
EndFunc
; -andere Funktionen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];schnell statusbar beschreiben
Func status($titel)
GUICtrlSetData($statuslabel,$titel & $space) ;$space um statusbar immer grau zu hinterlegen
EndFunc
;adlib funktion um zu sehen,ob noch eine Datei gespielt wird (wenn nötig nächstes stück laden)
Func playsound()
;wenn option geändert wurde
If $optionplay <> 1 Then
AdlibDisable()
AdlibEnable("playsoundlist")
EndIf
;auslesen des Status des aktuellen Musikstückes
$status = _SoundStatus($openedsoundfile)
If not FileExists(@Tempdir & "\soundfiles.txt") And $onesound = 0 Then
MsgBox(16,"Error","Playlist konnte nicht gefunden werden.")
Exit
EndIf
;wenn das der erste start ist :
If $readsoundplay = "" Then
;auslesen der anzahl der lieder
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
;zufallslinie auswählen von 1 bis zu der letzten zeile (registry ausgelesen)
$randomline = Round(Random(1,$maxline))
;aus der playlist irgendeine Zeile auswählen
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
If $onesound = 1 Then ExitLoop
;bis variable nicht leer ist
Until $readsoundplay <> ""
;diesen Pfad einlesen & öffnen (ID bekommen)
$openedsoundfile = _SoundOpen($readsoundplay)
;für das umstellen auf alphabetisch wird die Linie gespeichert
$aktuelleslied = $randomline + 1
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;lied in die statusbar schreiben
status($readsoundplay)
;lied abspielen
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
ElseIf $status = "stopped" Then
;da zur Zeit Fehler unbekannt neue Art=
If $stopped = 1 Then
;stoppmarkierung entfernen
$stopped = 0
;s.o.
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
;s.o.
$randomline = Round(Random(1,$maxline))
;aus der playlist irgendeine Zeile auswählen
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
;wenn variable nicht leer ist
If $readsoundplay <> "" Then
;und nicht der letzte song von vorhin war
If $readsoundplay <> $lastsong Then
;dann fahre fort
ExitLoop
EndIf
EndIf
Until @error
;s.o.
$openedsoundfile = _SoundOpen($readsoundplay)
;für das umstellen auf alphabetisch wird die Linie gespeichert
$aktuelleslied = $randomline + 1
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;s.o.
status($readsoundplay)
;s.o.
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
$readsoundplay
Else
;letzte sounddatei schließen
_SoundClose($openedsoundfile)
;s.o.
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
;s.o.
$randomline = Round(Random(1,$maxline))
;aus der playlist irgendeine Zeile auswählen
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
;wenn variable nicht leer ist
If $readsoundplay <> "" Then
;und nicht der letzte song von vorhin war
If $readsoundplay <> $lastsong Then
;dann fahre fort
ExitLoop
EndIf
EndIf
Until @error
;s.o.
$openedsoundfile = _SoundOpen($readsoundplay)
;für das umstellen auf alphabetisch wird die Linie gespeichert
$aktuelleslied = $randomline + 1
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;s.o.
status($readsoundplay)
;s.o.
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
EndIf
Else
If $stopped = 1 Then
;stoppmarkierung entfernen
$stopped = 0
;s.o.
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
;s.o.
$randomline = Round(Random(1,$maxline))
;aus der playlist irgendeine Zeile auswählen
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
;wenn variable nicht leer ist
If $readsoundplay <> "" Then
;dann fahre fort
ExitLoop
EndIf
Until @error
;s.o.
$openedsoundfile = _SoundOpen($readsoundplay)
;für das umstellen auf alphabetisch wird die Linie gespeichert
$aktuelleslied = $randomline + 1
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;s.o.
status($readsoundplay)
;s.o.
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
EndIf
EndIf
EndFunc
;wird aufgerufen,falls nichts gedrückt wurde (Konflikt mit Adlib funktion playsound)
Func volume()
;slider auslesen
$read = GUICtrlRead($volume)
;wert einstellen
SoundSetWaveVolume($read)
EndFunc
Func OnExit()
;Registrywerte löschen
RegDelete("HKEY_CURRENT_USER\Software\NMW")
;lied beenden
_SoundClose($openedsoundfile)
;playlist löschen (wichtig)
FileDelete(@Tempdir & "\soundfiles.txt")
EndFunc
;wenn lied als gepaust gemerkt wurde:
Func fortfahren()
;mit lied fortfahren
_SoundResume($openedsoundfile)
;falls nur eine musikdatei gespielt wird,gibt es (logischerweise) keine Playlist !
If $onesound = 1 Then
AdlibEnable("playsound")
Else
AdlibEnable("playsoundlist")
EndIf
status($readsoundplay)
;visual aktivieren
GUICtrlSetState($visual,1)
EndFunc
;linien der Playlist zählen:
Func Countlines()
;initialisiere zählen
$countlines1 = 1
;schleife:
Do
;x.-te Zeile auslesen
FileReadLine(@Tempdir & "\soundfiles.txt",$countlines1)
;errormarkierung speichern (da sonst verfällt)
$err = @error
;variable raufzählen
$countlines1 = $countlines1 + 1
;schleife bis @error = -1 (Dateiende)
Until $err = -1 Or $countlines1 > 1000
;endergebnis speichern
$loop = $countlines1
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];zufallsvisual auswählen & in variable speichern
Func choosevisual()
$result = Round(Random(1,4))
$visualnumber = "visual.avi"
EndFunc
;adlib funktion um nach liste zu spielen (unterschied zu dem zufallsabspielen)
Func playsoundlist()
;wenn option geändert wurde
If $optionplay <> 2 Then
AdlibDisable()
AdlibEnable("playsound")
EndIf
;auslesen des Status des aktuellen Musikstückes
$status = _SoundStatus($openedsoundfile)
If not FileExists(@Tempdir & "\soundfiles.txt") And $onesound = 0 Then
MsgBox(16,"Error","Playlist konnte nicht gefunden werden.")
Exit
EndIf
;wenn das der erste start ist :
If $readsoundplay = "" Then
;auslesen der anzahl der lieder
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
;aus der playlist die nächste zeile auswähen
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
;für nächsten start nachsehen
$aktuelleslied = $aktuelleslied + 1
;bis variable nicht leer ist
Until $readsoundplay <> ""
;diesen Pfad einlesen & öffnen (ID bekommen)
$openedsoundfile = _SoundOpen($readsoundplay)
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;lied in die statusbar schreiben
status($readsoundplay)
;lied abspielen
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
;wenn die position des liedes = maximallänge ist:
ElseIf $status = "stopped" Then
;letzte sounddatei schließen
_SoundClose($openedsoundfile)
;s.o.
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
;wenn das letzte lied gespielt wurde :
If @error Then
MsgBox(64,"Playlist beendet","Playlist ist nun einmal durchgelaufen!")
Return
EndIf
$aktuelleslied = $aktuelleslied + 1
;wenn variable nicht leer ist
If $readsoundplay <> "" Then
;und nicht der letzte song von vorhin war
If $readsoundplay <> $lastsong Then
;dann fahre fort
ExitLoop
EndIf
EndIf
Until @error
;s.o.
$openedsoundfile = _SoundOpen($readsoundplay)
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;s.o.
status($readsoundplay)
;s.o.
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
Else
If $stopped = 1 Then
;stoppmarkierung entfernen
$stopped = 0
;s.o.
$maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
;schleife , um gegen "Leere Zeile" vorzubeugen
Do
$readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
$aktuelleslied = $aktuelleslied + 1
;wenn variable nicht leer ist
If $readsoundplay <> "" Then
;und nicht der letzte song von vorhin war
If $readsoundplay <> $lastsong Then
;dann fahre fort
ExitLoop
EndIf
EndIf
Until @error
;s.o.
$openedsoundfile = _SoundOpen($readsoundplay)
;letztes lied speichern (nicht 2x das gleiche lied hinternander)
$lastsong = $openedsoundfile
;s.o.
status($readsoundplay)
;s.o.
_SoundPlay($openedsoundfile)
If @error Then
MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
stop()
Return
EndIf
;trayinfo anzeigen
TraySetToolTip($readsoundplay)
EndIf
EndIf
EndFunc