1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Dankeschön

Beiträge von Dankeschön

  • Media Player

    • Dankeschön
    • 12. Juli 2008 um 13:37

    Version 1.8.2
    Bug beim Abspielen per Rechtsklick gefixxt.

    Spoiler anzeigen
    [autoit]

    #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>

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

    ;Spuren löschen
    Opt("OnExitFunc","OnExit")
    ;um das standart traymenü wegzubekommen
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)

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

    ;Debugging,meist deaktiviert
    Opt("TrayIconDebug",1)

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

    ;playlist löschen (wichtig,falls abgebrochen gestartet wurde)
    FileDelete(@Tempdir & "\soundfiles.txt")

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

    #Region Variable
    $space = " "
    ;gebraucht um die gesamte Statusbar grau zu färben

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

    $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

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

    $version = "1.8.2"

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

    ;um da verschiedene Werte zu speichern
    RegWrite("HKEY_CURRENT_USER\Software\NMW")

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

    #EndRegion
    ;region ,du darfst nicht weiter nach unten ;)

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

    ;traytooltip default setzen (bis zum starten der musik)
    TraySetToolTip("Nicksoft Media Player " & $version & @crlf & "Warten auf Musik...")

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

    ;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

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

    ;visual auswählen
    choosevisual()

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

    $gui = GUICreate("Nicksoft Media Player " & $version,500,400)
    ;Farbe
    GUISetBkColor(0x828AAC)

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

    ; 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)

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

    ;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)

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

    ;NEU -> Timer bis zum Herunterfahren von Windows
    $timermenu = GUICtrlCreateMenu("Timer")
    $timeritem = GUICtrlCreateMenuItem("Shutdowntimer",$timermenu)

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

    ;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)

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

    ;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)

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

    ;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)

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

    ;Visualisierung
    GUICtrlCreateGroup("Visual",165,25,320,200)
    $visual = GUICtrlCreateAvi($visualnumber,-1,180,50,150,150)

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

    ;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)

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

    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

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

    ; 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

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

    ;alle knöpfe freischalten
    Func openbuttons()
    GUICtrlSetState($pause, $GUI_ENABLE)
    ;bis stoptaste wieder funktioniert wird sie deaktiviert
    GUICtrlSetState($stop, $GUI_ENABLE)
    EndFunc

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

    ;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()

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

    ;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

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

    ;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

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

    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

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

    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

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

    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)

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

    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

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

    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

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

    ; -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

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

    ;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

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

    ;wird aufgerufen,falls nichts gedrückt wurde (Konflikt mit Adlib funktion playsound)
    Func volume()
    ;slider auslesen
    $read = GUICtrlRead($volume)
    ;wert einstellen
    SoundSetWaveVolume($read)
    EndFunc

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

    Func OnExit()
    ;Registrywerte löschen
    RegDelete("HKEY_CURRENT_USER\Software\NMW")
    ;lied beenden
    _SoundClose($openedsoundfile)
    ;playlist löschen (wichtig)
    FileDelete(@Tempdir & "\soundfiles.txt")

    EndFunc

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

    ;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

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

    ;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

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

    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

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

    ;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

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


    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • XP Hider

    • Dankeschön
    • 11. Juli 2008 um 22:47

    ~~del~

  • [BATCH] Schiffe versenken

    • Dankeschön
    • 11. Juli 2008 um 22:42

    Hatte früher mal zviel zeit :thumbup:

    Spoiler anzeigen
    Code
    ::Made by "Dankeschön"
    @echo off
    set O=0
    set K=0
    set Q=0
    set /p X=Starten? (J)a oder (N)ein?
    if "%X%"=="J" goto AUswahl
    if "%X%"=="N" goto Ende
    
    
    :Auswahl
    set /p Y=Spielnummer (1-3)?
    if "%Y%"=="1" goto Start1
    if "%Y%"=="2" goto Start2
    if "%Y%"=="3" goto Start3
    if "%Y%"=="Cheatme" goto Cheatmodus
    
    
    :Fehler
    echo Falsche Eingabe
    pause
    goto Auswahl
    
    
    :Cheatmodus
    set /p K=Treffer Schiff 1: 
    set /p O=Treffer Schiff 2: 
    set /p Q=Siegpunkte: 
    echo Gecheatet
    goto Start1
    
    
    :Start1
    echo Werte: a-e und 1 bis 5. Bitte nehmen Sie nichts doppelt.
    set /p U=Bitte geben Sie ihre Koordinaten an!
    echo.
    if "%U%"=="a1" goto A1 
    if "%U%"=="a2" goto A2 
    if "%U%"=="a3" goto A3 
    if "%U%"=="a4" goto A4
    if "%U%"=="a5" goto A5 
    if "%U%"=="b1" goto B1
    if "%U%"=="b2" goto B2
    if "%U%"=="b3" goto B3
    if "%U%"=="b4" goto B4
    if "%U%"=="b5" goto B5 
    if "%U%"=="c1" goto C1
    if "%U%"=="c2" goto C2
    if "%U%"=="c3" goto C3
    if "%U%"=="c4" goto C4
    if "%U%"=="c5" goto C5 
    if "%U%"=="d1" goto D1
    if "%U%"=="d2" goto D2
    if "%U%"=="d3" goto D3
    if "%U%"=="d4" goto D4
    if "%U%"=="d5" goto D5
    if "%U%"=="e1" goto E1
    if "%U%"=="e2" goto E2
    if "%U%"=="e3" goto E3
    if "%U%"=="e4" goto E4
    if "%U%"=="e5" goto E5
    if "%U%"=="" echo Falsche Eingabe!
    if "%U%"=="" goto Start1
    
    
    :Falsch
    echo Sie haben eine falsche Eingabe gemacht.
    pause
    cls
    goto Start1
    
    
    :A1
    echo Treffer!
    set Q=1 
    set K=1
    goto 12
    
    
    :A2
    echo Treffer!
    set Q=1 
    set K=1
    goto 12
    
    
    :A3
    echo Treffer!
    set Q=1 
    set K=1
    goto 12
    
    
    :A4
    echo Daneben!
    goto 12
    
    
    :A5
    echo Treffer!
    set Q=1 
    set O=1
    goto 12
    
    
    :B1
    echo Daneben!
    goto 12
    
    
    :B2
    echo Daneben!
    goto 12
    
    
    :B3
    echo Daneben!
    goto 12
    
    
    :B4
    echo Daneben!
    goto 12
    
    
    :B5
    echo Treffer!
    set Q=1 
    set O=1
    goto 12
    
    
    :C1
    echo Daneben!
    goto 12
    
    
    :C2
    echo Daneben!
    goto 12
    
    
    :C3
    echo Daneben!
    goto 12
    
    
    :C4
    echo Daneben!
    goto 12
    
    
    :C5
    echo Treffer!
    set Q=1 
    set O=1
    goto 12
    
    
    :D1
    echo Daneben!
    goto 12
    
    
    :D2
    echo Daneben!
    goto 12
    
    
    :D3
    echo Daneben!
    goto 12
    
    
    :D4
    echo Daneben!
    goto 12
    
    
    :D5
    echo Daneben!
    goto 12
    
    
    :E1
    echo Daneben!
    goto 12
    
    
    :E2
    echo Daneben!
    goto 12
    
    
    :E3
    echo Daneben!
    goto 12
    
    
    :E4
    echo Daneben!
    goto 12
    
    
    :E4
    echo Daneben!
    goto 12
    
    
    :12
    echo.
    echo Der Computer nimmt:
    set /a Zufall1=%random% %%5+1
    set /a random1=%random% %%5+1
    goto Zufall%Zufall1%
    
    
    
    
    :Zufall1
    set Buch=a
    echo %random1%%Buch%
    set Zufw1=%random1%%Buch%
    pause
    goto auswertung1
    
    
    
    
    :Zufall2
    set Buch=b
    echo %random1%%Buch%
    set Zufw1=%random1%%Buch%
    pause
    goto auswertung1
    
    
    :Zufall3
    set Buch=c
    echo %random1%%Buch%
    set Zufw1=%random1%%Buch%
    pause
    goto auswertung1
    
    
    :Zufall4
    set Buch=d
    echo %random1%%Buch%
    set Zufw1=%random1%%Buch%
    pause
    goto auswertung1
    
    
    
    
    :Zufall5
    set Buch=e
    echo %random1%%Buch%
    set Zufw1=%random1%%Buch%
    pause
    goto auswertung1
    
    
    
    
    
    
    :auswertung1
    echo.
    if %K%==0 echo 0 Treffer [Schiff 1]
    if %O%==0 echo 0 Treffer [Schiff 2]
    if %Q%==0 echo 0 Siegpunkte
    
    
    if %K%==1 echo 1 Treffer [Schiff 1]
    if %O%==1 echo 1 Treffer [Schiff 2]
    if %Q%==1 echo 1 Siegpunkt
    pause
    cls
    echo Runde 2. 
    set /p T=Koordinaten?
    if "%T%"=="a1" goto A12 
    if "%T%"=="a2" goto A22 
    if "%T%"=="a3" goto A32 
    if "%T%"=="a4" goto A42
    if "%T%"=="a5" goto A52 
    if "%T%"=="b1" goto B12
    if "%T%"=="b2" goto B22
    if "%T%"=="b3" goto B32
    if "%T%"=="b4" goto B42
    if "%T%"=="b5" goto B52 
    if "%T%"=="c1" goto C12
    if "%T%"=="c2" goto C22
    if "%T%"=="c3" goto C32
    if "%T%"=="c4" goto C42
    if "%T%"=="c5" goto C52 
    if "%T%"=="d1" goto D12
    if "%T%"=="d2" goto D22
    if "%T%"=="d3" goto D32
    if "%T%"=="d4" goto D42
    if "%T%"=="d5" goto D52
    if "%T%"=="e1" goto E12
    if "%T%"=="e2" goto E22
    if "%T%"=="e3" goto E32
    if "%T%"=="e4" goto E42
    if "%T%"=="e5" goto E52
    if %T%==%U% echo KEINE doppelten Angaben.
    if %T%==%U% pause
    if %T%==%U% goto 12
    
    
    :Falsch2
    echo Sie haben eine falsche Eingabe gemacht.
    pause
    cls
    goto 12
    
    
    :A12
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 13
    
    
    :A22
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1 
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 13
    
    
    :A32
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 13
    
    
    :A42
    echo Daneben!
    goto 13
    
    
    :A52
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 13
    
    
    :B12
    echo Daneben!
    goto 13
    
    
    :B22
    echo Daneben!
    goto 13
    
    
    :B32
    echo Daneben!
    goto 13
    
    
    :B42
    echo Daneben!
    goto 13
    
    
    :B52
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 13
    
    
    :C12
    echo Daneben!
    goto 13
    
    
    :C22
    echo Daneben!
    goto 13
    
    
    :C32
    echo Daneben!
    goto 13
    
    
    :C42
    echo Daneben!
    goto 13
    
    
    :C52
    echo Treffer!
    if %Q%==1 set Q=2
    if %Q%==0 set Q=1
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 13
    
    
    :D12
    echo Daneben!
    goto 13
    
    
    :D22
    echo Daneben!
    goto 13
    
    
    :D32
    echo Daneben!
    goto 13
    
    
    :D42
    echo Daneben!
    goto 13
    
    
    :D52
    echo Daneben!
    goto 13
    
    
    :E12
    echo Daneben!
    goto 13
    
    
    :E22
    echo Daneben!
    goto 13
    
    
    :E32
    echo Daneben!
    goto 13
    
    
    :E42
    echo Daneben!
    goto 13
    
    
    :E42
    echo Daneben!
    goto 13
    
    
    :13
    echo.
    echo Der Computer nimmt:
    set /a Zufall2=%random% %%5+1
    set /a random2=%random% %%5+1
    goto Zufall%Zufall2%2
    
    
    :Zufall12
    set Buch=a
    set Zufw2=%Random2%%Buch%
    if %Zufw2%==%Zufw1% goto 13
    echo %random2%%Buch%
    pause
    goto auswahl2
    
    
    
    
    :Zufall22
    set Buch=b
    set Zufw2=%Random2%%Buch%
    if %Zufw2%==%Zufw1% goto 13
    echo %random2%%Buch%
    pause
    goto auswahl2
    
    
    :Zufall32
    set Buch=c
    set Zufw2=%Random2%%Buch%
    if %Zufw2%==%Zufw1% goto 13
    echo %random2%%Buch%
    pause
    goto auswahl2
    
    
    :Zufall42
    set Buch=d
    set Zufw2=%Random2%%Buch%
    if %Zufw2%==%Zufw1% goto 13
    echo %random2%%Buch%
    pause
    goto auswahl2
    
    
    
    
    :Zufall52
    set Buch=e
    set Zufw2=%Random2%%Buch%
    if %Zufw2%==%Zufw1% goto 13
    echo %random2%%Buch%
    pause
    goto auswahl2
    
    
    :auswahl2
    echo.
    if %K%==0 echo 0 Trefferpunkte [Schiff 1]
    if %O%==0 echo 0 Trefferpunkte [Schiff 2]
    if %Q%==0 echo 0 Siegpunkte
    
    
    if %K%==2 echo 2 Trefferpunkte [Schiff 1]
    if %K%==1 echo 1 Trefferpunkt  [Schiff 1]
    
    
    if %O%==2 echo 2 Trefferpunkte [Schiff 2]
    if %O%==1 echo 1 Trefferpunkt  [Schiff 2]
    
    
    if %Q%==2 echo 2 Siegpunkte
    if %Q%==1 echo 1 Siegpunkt
    pause
    cls
    echo Runde 3. 
    set /p L=Koordinaten?
    if "%L%"=="a1" goto A13 
    if "%L%"=="a2" goto A23 
    if "%L%"=="a3" goto A33 
    if "%L%"=="a4" goto A43
    if "%L%"=="a5" goto A53 
    if "%L%"=="b1" goto B13
    if "%L%"=="b2" goto B23
    if "%L%"=="b3" goto B33
    if "%L%"=="b4" goto B43
    if "%L%"=="b5" goto B53 
    if "%L%"=="c1" goto C13
    if "%L%"=="c2" goto C23
    if "%L%"=="c3" goto C33
    if "%L%"=="c4" goto C43
    if "%L%"=="c5" goto C53 
    if "%L%"=="d1" goto D13
    if "%L%"=="d2" goto D23
    if "%L%"=="d3" goto D33
    if "%L%"=="d4" goto D43
    if "%L%"=="d5" goto D53
    if "%L%"=="e1" goto E13
    if "%L%"=="e2" goto E23
    if "%L%"=="e3" goto E33
    if "%L%"=="e4" goto E43
    if "%L%"=="e5" goto E53
    if %L%==%U% echo KEINE doppelten Angaben.
    if %L%==%U% pause
    if %L%==%U% goto 13
    if %L%==%T% echo KEINE doppelten Angaben.
    if %L%==%T% pause
    if %L%==%T% goto 13
    
    
    :Falsch3
    echo Sie haben eine falsche Eingabe gemacht.
    pause
    cls
    goto 13
    
    
    :A13
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    
    
    if %K%==2 set K=3 
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 14
    
    
    :A23
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if %K%==2 set K=3 
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 14
    
    
    :A33
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if %K%==2 set K=3 
    if %K%==1 set K=2 
    if %K%==0 set K=1
    goto 14
    
    
    :A43
    echo Daneben!
    goto 14
    
    
    :A53
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if %O%==2 set O=3 
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 14
    
    
    :B13
    echo Daneben!
    goto 14
    
    
    :B23
    echo Daneben!
    goto 14
    
    
    :B33
    echo Daneben!
    goto 14
    
    
    :B43
    echo Daneben!
    goto 14
    
    
    :B53
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if %O%==2 set O=3 
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 14
    
    
    :C13
    echo Daneben!
    goto 14
    
    
    :C23
    echo Daneben!
    goto 14
    
    
    :C33
    echo Daneben!
    goto 14
    
    
    :C43
    echo Daneben!
    goto 14
    
    
    :C53
    echo Treffer!
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if %O%==2 set O=3 
    if %O%==1 set O=2 
    if %O%==0 set O=1
    goto 14
    
    
    :D13
    echo Daneben!
    goto 14
    
    
    :D23
    echo Daneben!
    goto 14
    
    
    :D33
    echo Daneben!
    goto 14
    
    
    :D43
    echo Daneben!
    goto 14
    
    
    :D53
    echo Daneben!
    goto 14
    
    
    :E13
    echo Daneben!
    goto 14
    
    
    :E23
    echo Daneben!
    goto 14
    
    
    :E33
    echo Daneben!
    goto 14
    
    
    :E43
    echo Daneben!
    goto 14
    
    
    :E43
    echo Daneben!
    goto 14
    
    
    :14
    echo Der Computer nimmt:
    set /a Zufall3=%random% %%5+1
    set /a random3=%random% %%5+1
    goto Zufall%Zufall3%3
    
    
    :Zufall13
    set Buch=a
    set Zufw3=%Random3%%Buch%
    if %Zufw2%==%Zufw1% goto 14
    if %Zufw3%==%Zufw2% goto 14
    echo %random2%%Buch%
    pause
    goto auswahl3
    
    
    
    
    :Zufall23
    set Buch=b
    set Zufw3=%Random3%%Buch%
    if %Zufw2%==%Zufw1% goto 14
    if %Zufw3%==%Zufw2% goto 14
    echo %random2%%Buch%
    pause
    goto auswahl3
    
    
    :Zufall33
    set Buch=c
    set Zufw3=%Random3%%Buch%
    if %Zufw2%==%Zufw1% goto 14
    if %Zufw3%==%Zufw2% goto 14
    echo %random2%%Buch%
    pause
    goto auswahl3
    
    
    :Zufall43
    set Buch=d
    set Zufw3=%Random3%%Buch%
    if %Zufw2%==%Zufw1% goto 14
    if %Zufw3%==%Zufw2% goto 14
    echo %random2%%Buch%
    pause
    goto auswahl3
    
    
    
    
    :Zufall53
    set Buch=e
    set Zufw3=%Random3%%Buch%
    if %Zufw2%==%Zufw1% goto 14
    if %Zufw3%==%Zufw2% goto 14
    echo %random2%%Buch%
    pause
    goto auswahl3
    
    
    
    
    
    
    :auswahl3
    echo.
    if %K%==0 echo 0 Trefferpunkte [Schiff 1]
    if %O%==0 echo 0 Trefferpunkte [Schiff 2]
    if %Q%==0 echo 0 Siegpunkte
    
    
    if %K%==3 echo 3 Trefferpunkte- Schiff 1 versenkt
    if %O%==3 echo 3 Trefferpunkte- Schiff 2 versenkt
    if %Q%==3 echo 3 Siegpunkte
    
    
    if %K%==2 echo 2 Trefferpunkte [Schiff 1]
    if %K%==1 echo 1 Trefferpunkt  [Schiff 1]
    
    
    if %O%==2 echo 2 Trefferpunkte [Schiff 2]
    if %O%==1 echo 1 Trefferpunkt  [Schiff 2]
    
    
    if %Q%==2 echo 2 Siegpunkte
    if %Q%==1 echo 1 Siegpunkt
    
    
    pause
    cls
    echo Runde 4. 
    set /p Z=Koordinaten?
    if "%Z%"=="a1" goto A14 
    if "%Z%"=="a2" goto A24 
    if "%Z%"=="a3" goto A34 
    if "%Z%"=="a4" goto A44
    if "%Z%"=="a5" goto A54 
    if "%Z%"=="b1" goto B14
    if "%Z%"=="b2" goto B24
    if "%Z%"=="b3" goto B34
    if "%Z%"=="b4" goto B44
    if "%Z%"=="b5" goto B54 
    if "%Z%"=="c1" goto C14
    if "%Z%"=="c4" goto C44
    if "%Z%"=="c5" goto C54 
    if "%Z%"=="d1" goto D14
    if "%Z%"=="d2" goto D24
    if "%Z%"=="d3" goto D34
    if "%Z%"=="d4" goto D44
    if "%Z%"=="d5" goto D54
    if "%Z%"=="e1" goto E14
    if "%Z%"=="e2" goto E24
    if "%Z%"=="e3" goto E34
    if "%Z%"=="e4" goto E44
    if "%Z%"=="e5" goto E54
    if %Z%==%T% echo KEINE doppelten Angaben.
    if %Z%==%T% pause
    if %Z%==%T% goto 14
    if %Z%==%L% echo KEINE doppelten Angaben.
    if %Z%==%L% pause
    if %Z%==%L% goto 14
    if %Z%==%U% echo KEINE doppelten Angaben.
    if %Z%==%U% pause
    if %z%==%U% goto 14
    
    
    :Falsch4
    echo Sie haben eine falsche Eingabe gemacht.
    pause
    cls
    goto 14
    
    
    :A14
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 15
    
    
    :A24
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 15
    
    
    :A34
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1 
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 15
    
    
    :A44
    echo Daneben!
    goto 15
    
    
    :A54
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1 
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 15
    
    
    :B14
    echo Daneben!
    goto 15
    
    
    :B24
    echo Daneben!
    goto 15
    
    
    :B34
    echo Daneben!
    goto 15
    
    
    :B44
    echo Daneben!
    goto 15
    
    
    :B54
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 15
    
    
    :C14
    echo Daneben!
    goto 15
    
    
    :C24
    echo Daneben!
    goto 15
    
    
    :C34
    echo Daneben!
    goto 15
    
    
    :C44
    echo Daneben!
    goto 15
    
    
    :C54
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 15
    
    
    :D14
    echo Daneben!
    goto 15
    
    
    :D24
    echo Daneben!
    goto 15
    
    
    :D34
    echo Daneben!
    goto 15
    
    
    :D44
    echo Daneben!
    goto 15
    
    
    :D54
    echo Daneben!
    goto 15
    
    
    :E14
    echo Daneben!
    goto 15
    
    
    :E24
    echo Daneben!
    goto 15
    
    
    :E34
    echo Daneben!
    goto 15
    
    
    :E44
    echo Daneben!
    goto 15
    
    
    :E44
    echo Daneben!
    goto 15
    
    
    :15
    
    
    if %K%==0 echo 0 Trefferpunkte [Schiff 1]
    if %O%==0 echo 0 Trefferpunkte [Schiff 2]
    if %Q%==0 echo 0 Siegpunkte
    
    
    if %Q%==4 echo 4 Siegpunkte
    
    
    if %K%==3 echo 3 Trefferpunkte- Schiff 1 versenkt
    if %O%==3 echo 3 Trefferpunkte- Schiff 2 versenkt
    if %Q%==3 echo 3 Siegpunkte
    
    
    if %K%==2 echo 2 Trefferpunkte [Schiff 1]
    if %K%==1 echo 1 Trefferpunkt  [Schiff 1]
    
    
    if %O%==2 echo 2 Trefferpunkte [Schiff 2]
    if %O%==1 echo 1 Trefferpunkt  [Schiff 2]
    
    
    if %Q%==2 echo 2 Siegpunkte
    if %Q%==1 echo 1 Siegpunkt
    
    
    echo Runde 5. 
    set /p LS=Koordinaten?
    if "%LS%"=="a1" goto A15 
    if "%LS%"=="a2" goto A25 
    if "%LS%"=="a3" goto A35 
    if "%LS%"=="a4" goto A45
    if "%LS%"=="a5" goto A55 
    if "%LS%"=="b1" goto B15
    if "%LS%"=="b2" goto B25
    if "%LS%"=="b3" goto B35
    if "%LS%"=="b4" goto B45
    if "%LS%"=="b5" goto B55 
    if "%LS%"=="c1" goto C15
    if "%LS%"=="c4" goto C45
    if "%LS%"=="c5" goto C55 
    if "%LS%"=="d1" goto D15
    if "%LS%"=="d2" goto D25
    if "%LS%"=="d3" goto D35
    if "%LS%"=="d4" goto D45
    if "%LS%"=="d5" goto D55
    if "%LS%"=="e1" goto E15
    if "%LS%"=="e2" goto E25
    if "%LS%"=="e3" goto E35
    if "%LS%"=="e4" goto E45
    if "%LS%"=="e5" goto E55
    if %LS%==%Z% echo KEINE doppelten Angaben.
    if %LS%==%Z% pause
    if %LS%==%Z% goto 15
    if %LS%==%T% echo KEINE doppelten Angaben.
    if %LS%==%T% pause
    if %LS%==%T% goto 15
    if %LS%==%L% echo KEINE doppelten Angaben.
    if %LS%==%L% pause
    if %LS%==%L% goto 15
    if %LS%==%U% echo KEINE doppelten Angaben.
    if %LS%==%U% pause
    if %LS%==%U% goto 15
    
    
    :Falsch5
    echo Sie haben eine falsche Eingabe gemacht.
    pause
    cls
    goto 15
    
    
    :A15
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1 
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 16
    
    
    :A25
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 16
    
    
    :A35
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%K%"=="2" echo Schiff versenkt!
    if "%K%"=="1" set K=1 
    if "%K%"=="0" set K=1
    echo Treffer!
    goto 16
    
    
    :A45
    echo Daneben!
    pause
    goto 16
    
    
    :A55
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 16
    
    
    :B15
    echo Daneben!
    goto 16
    
    
    :B25
    echo Daneben!
    goto 16
    
    
    :B35
    echo Daneben!
    goto 16
    
    
    :B45
    echo Daneben!
    goto 16
    
    
    :B55
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 16
    
    
    :C15
    echo Daneben!
    goto 16
    
    
    :C25
    echo Daneben!
    goto 16
    
    
    :C35
    echo Daneben!
    goto 16
    
    
    :C45
    echo Daneben!
    goto 16
    
    
    :C55
    if %Q%==4 set Q=5
    if %Q%==3 set Q=4
    if %Q%==2 set Q=3 
    if %Q%==1 set Q=2 
    if %Q%==0 set Q=1 
    if "%O%"=="2" echo Schiff versenkt! 
    if "%O%"=="1" set O=2 
    if "%O%"=="0" set O=1
    echo Treffer!
    goto 16
    
    
    :D15
    echo Daneben!
    goto 16
    
    
    :D25
    echo Daneben!
    goto 16
    
    
    :D35
    echo Daneben!
    goto 16
    
    
    :D45
    echo Daneben!
    goto 16
    
    
    :D55
    echo Daneben!
    goto 16
    
    
    :E15
    echo Daneben!
    goto 16
    
    
    :E25
    echo Daneben!
    goto 16
    
    
    :E35
    echo Daneben!
    goto 16
    
    
    :E45
    echo Daneben!
    goto 16
    
    
    :E45
    echo Daneben!
    goto 16
    Alles anzeigen

    Noch unvollendet !

  • Media Player

    • Dankeschön
    • 11. Juli 2008 um 22:37

    Und gefixxt.

    Spoiler anzeigen
    [autoit]

    #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>

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

    ;Spuren löschen
    Opt("OnExitFunc","OnExit")
    ;um das standart traymenü wegzubekommen
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)

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

    ;Debugging,meist deaktiviert
    Opt("TrayIconDebug",1)

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

    ;playlist löschen (wichtig,falls abgebrochen gestartet wurde)
    FileDelete(@Tempdir & "\soundfiles.txt")

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

    #Region Variable
    $space = " "
    ;gebraucht um die gesamte Statusbar grau zu färben

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

    $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

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

    $version = "1.8.1"

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

    ;um da verschiedene Werte zu speichern
    RegWrite("HKEY_CURRENT_USER\Software\NMW")

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

    #EndRegion
    ;region ,du darfst nicht weiter nach unten ;)

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

    ;traytooltip default setzen (bis zum starten der musik)
    TraySetToolTip("Nicksoft Media Player " & $version & @crlf & "Warten auf Musik...")

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

    ;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

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

    ;visual auswählen
    choosevisual()

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

    $gui = GUICreate("Nicksoft Media Player " & $version,500,400)
    ;Farbe
    GUISetBkColor(0x828AAC)

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

    ; 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)

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

    ;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)

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

    ;NEU -> Timer bis zum Herunterfahren von Windows
    $timermenu = GUICtrlCreateMenu("Timer")
    $timeritem = GUICtrlCreateMenuItem("Shutdowntimer",$timermenu)

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

    ;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)

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

    ;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)

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

    ;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)

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

    ;Visualisierung
    GUICtrlCreateGroup("Visual",165,25,320,200)
    $visual = GUICtrlCreateAvi($visualnumber,-1,180,50,150,150)

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

    ;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)

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

    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

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

    ; 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

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

    ;alle knöpfe freischalten
    Func openbuttons()
    GUICtrlSetState($pause, $GUI_ENABLE)
    ;bis stoptaste wieder funktioniert wird sie deaktiviert
    GUICtrlSetState($stop, $GUI_ENABLE)
    EndFunc

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

    ;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()

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

    ;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

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

    ;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

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

    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

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

    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
    _SoundStop($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

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

    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)

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

    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

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

    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

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

    ; -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

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

    ;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

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

    ;wird aufgerufen,falls nichts gedrückt wurde (Konflikt mit Adlib funktion playsound)
    Func volume()
    ;slider auslesen
    $read = GUICtrlRead($volume)
    ;wert einstellen
    SoundSetWaveVolume($read)
    EndFunc

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

    Func OnExit()
    ;Registrywerte löschen
    RegDelete("HKEY_CURRENT_USER\Software\NMW")
    ;lied beenden
    _SoundClose($openedsoundfile)
    ;playlist löschen (wichtig)
    FileDelete(@Tempdir & "\soundfiles.txt")

    EndFunc

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

    ;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

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

    ;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

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

    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

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

    ;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

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


    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Media Player

    • Dankeschön
    • 10. Juli 2008 um 11:33

    Da ich in letzter Zeit instabiles Internet hatte :huh: ,
    habe ich mich gut mit Musik zugedröhnt.

    Dann kam ich auf die Idee nen Musikspieler zu machen,
    der vor allem eins können sollte:
    Den Computer um eine bestimmte Zeit herunterfahren.

    Nun,hier habe ich ihn,Version 1.8:

    Zitat


    Features:

    -Kein Microsoftprodukt
    -besseres Visual
    -Abspieloptionen Alphabetisch & Zufall
    -Direktabspielen per Kontextmenü
    -Timer,damit sich der Computer um eine bestimmte Uhrzeit herunterfährt
    -Playlist kann exportiert werden & wieder geöffnet werden
    -Keine unnötigen Funktionen

    Alles anzeigen


    Weitere Informationen und Downloads gibt es auf der Homepage

    Download:
    Angehängt


    Und wer Ideen hat,nur her damit,würde gerne noch mehr hinzufügen,habe gerade nur keine Ideen :thumbup:


    Quellcode: Angehängt und siehe unten

    Spoiler anzeigen
    [autoit]

    #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>

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

    ;Spuren löschen
    Opt("OnExitFunc","OnExit")
    ;um das standart traymenü wegzubekommen
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)

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

    ;Debugging,meist deaktiviert
    ;Opt("TrayIconDebug",1)

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

    ;playlist löschen (wichtig,falls abgebrochen gestartet wurde)
    FileDelete(@Tempdir & "\soundfiles.txt")

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

    #Region Variable
    $space = " "
    ;gebraucht um die gesamte Statusbar grau zu färben

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

    $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

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

    $version = "1.8"

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

    ;um da verschiedene Werte zu speichern
    RegWrite("HKEY_CURRENT_USER\Software\NMW")

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

    #EndRegion
    ;region ,du darfst nicht weiter nach unten ;)

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

    ;traytooltip default setzen (bis zum starten der musik)
    TraySetToolTip("Nicksoft Media Player " & $version & @crlf & "Warten auf Musik...")

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

    ;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

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

    ;visual auswählen
    choosevisual()

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

    $gui = GUICreate("Nicksoft Media Player " & $version,500,400)
    ;Farbe
    GUISetBkColor(0x828AAC)

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

    ; 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)

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

    ;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)

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

    ;NEU -> Timer bis zum Herunterfahren von Windows
    $timermenu = GUICtrlCreateMenu("Timer")
    $timeritem = GUICtrlCreateMenuItem("Shutdowntimer",$timermenu)

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

    ;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)

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

    ;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)

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

    ;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)

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

    ;Visualisierung
    GUICtrlCreateGroup("Visual",165,25,320,200)
    $visual = GUICtrlCreateAvi($visualnumber,-1,180,50,150,150)

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

    ;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)

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

    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

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

    ; 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
    ;wenn vorher nur ein lied,jetzt zurücksetzen (playlist wird ja geschrieben)
    $onesound = 0
    ;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

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

    ;alle knöpfe freischalten
    Func openbuttons()
    GUICtrlSetState($pause, $GUI_ENABLE)
    ;bis stoptaste wieder funktioniert wird sie deaktiviert
    GUICtrlSetState($stop, $GUI_ENABLE)
    EndFunc

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

    ;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()

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

    ;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

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

    ;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

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

    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

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

    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
    _SoundStop($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

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

    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)

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

    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

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

    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

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

    ; -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

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

    ;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") 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)
    ;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
    MsgBox(0,"test;func fortfahrenstopp","runned")
    ;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

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

    ;wird aufgerufen,falls nichts gedrückt wurde (Konflikt mit Adlib funktion playsound)
    Func volume()
    ;slider auslesen
    $read = GUICtrlRead($volume)
    ;wert einstellen
    SoundSetWaveVolume($read)
    EndFunc

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

    Func OnExit()
    ;Registrywerte löschen
    RegDelete("HKEY_CURRENT_USER\Software\NMW")
    ;lied beenden
    _SoundClose($openedsoundfile)
    ;playlist löschen (wichtig)
    FileDelete(@Tempdir & "\soundfiles.txt")

    EndFunc

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

    ;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

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

    ;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

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

    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

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

    ;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") 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

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


    EndFunc

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


    Habe es extra ganz viel Kommentiert,da ich es dann in naher Zukunft wieder verstehe bzw. ein bekannter von mir versucht auch AutoIt zu lernen, vielleicht hilft ihm das !

  • Visualisierung

    • Dankeschön
    • 9. Juli 2008 um 01:13

    Hat wirklich niemand eine .gif oder n gültiges .avi dafür? ?(

  • Visualisierung

    • Dankeschön
    • 8. Juli 2008 um 14:56

    Ich suche nur ein Video /gif,dass wie eine Visualisierung aussieht !

  • Visualisierung

    • Dankeschön
    • 8. Juli 2008 um 14:09

    Sonst noch jemand ne Idee?

  • Visualisierung

    • Dankeschön
    • 8. Juli 2008 um 09:52

    Weil mein Internet in letzter Zeit oft gespinnt hat,habe ich mal wieder geAutoItted :thumbup:
    Nun ja,habe dann einen Media Player gemacht (werde ich bald veröffentlichen).
    WIe macht man dazu eine Visualisierung (Animation).
    Habe zur Zeit da ne Strichmänchenanimation,aber das passt nur wegen Einbildung zur Musik.
    Wie soll ich/man das realisieren?
    Oder welche Alternativen gibt es , die ich übersehen habe?

    Spoiler anzeigen

    Hoffentlich springt mein Netz nicht wieder raus ..........

  • Metin2 - Oriental Action MMORPG

    • Dankeschön
    • 6. Juli 2008 um 22:26

    Habe jetzt meine Ebenholzohrringe und eine Goldhalskette "verfeinert" (Ebenholz & Gold eingebaut).
    Hält das immer nur für einen Tag?

  • StringRegExp will mich verar******

    • Dankeschön
    • 6. Juli 2008 um 21:25

    Und gelöst.

    (Ich wusste doch, dass es noch irgendeine Alternative gibt ;) )

  • StringRegExp will mich verar******

    • Dankeschön
    • 6. Juli 2008 um 21:07

    Hatte jetzt seit vorgestern kein Internet,habe dann einen Musikspieler getippt.

    Nun ist da so eine Zeile,die mich nicht mag !

    [autoit]


    ;Datei aussuchen, mehrfachauswahl
    $fileselect = FileOpenDialog("Choose Music",@Desktopdir,"Music (*.mp3;*.wma;*.wav)",1 + 4)
    ;wenn abgebrochen wurde:
    If @error Then Return

    ;gucken ob nur einzelauswahl
    $look = StringRegExp($fileselect,"|")
    $err = @error
    MsgBox(0,"Info:$look",$look & @crlf & "Error" & $err & @CRLF & "String:" & $fileselect)

    [/autoit]


    Und egal ob nun einzehlauswahl oder nicht,das skript findet IMMER "|" !

    Wieso das?
    Und was tun?

  • Metin2 - Oriental Action MMORPG

    • Dankeschön
    • 1. Juli 2008 um 19:51

    Wo ist der Unterschied???

  • Horst der Bot

    • Dankeschön
    • 1. Juli 2008 um 10:48

    Weiß nicht,ob oder wie man es einbauen kann, aber hier mal die Wörter von TrillAlice (Anhang).
    Sonst wäre es doch noch ganz gut,wenn du eine Lernenfunktion machst,wo dann vielleicht ein Feld zusätzliches Feld erscheint,also oben trägt man seine Frage ein und unten,was der Bot darauf antworten soll.

    Dann wäre es möglich,dass alle zusammen den Bot "trainieren".

  • Horst der Bot

    • Dankeschön
    • 30. Juni 2008 um 21:17

    Dann nimm doch ein Wörterbuch im Textformat,nimm eine Zufallszahl und spring zu dem Wort :thumbup:
    Kommt bestimmt sinnvolles raus .

    Also etwa so:

    Zitat

    Ich: Hi
    Er: Germany / Deutschland
    Ich: was ist damit?
    er: Spiegelei
    Ich: Was?????
    er: Extremitäten
    Ich: ****** dich !
    Er: Liebe

    Alles anzeigen
  • Horst der Bot

    • Dankeschön
    • 30. Juni 2008 um 20:41

    Nett,aber
    1. was kann er sagen???
    2. was bringen die Knöpfe rechts?

    ///edit: Mach doch ne Konfigurationsdatei .........
    Also zuerst das Wort dass der Benutzer sagt, dann irgendwo anders das wass er sagen soll !

  • AutoIt Downloader

    • Dankeschön
    • 30. Juni 2008 um 16:09

    Kann auch sein,lade ja nichts illegales :D

  • AutoIt Downloader

    • Dankeschön
    • 30. Juni 2008 um 15:47

    Ich habs verstanden.
    Einfach da wo das Tier die Beine ZUSAMMEN hat,ist das ne Katze,bei offenen Beinen ein Hund !

  • Metin2 - Oriental Action MMORPG

    • Dankeschön
    • 30. Juni 2008 um 15:43
    Zitat

    Metin2 versetzt Dich in eine fernöstliche Fantasywelt. Werde ein Meister der Kampfkunst und kämpfe als Verbündeter des Drachengotts gegen den dunklen Einfluss des Metin-Steins, der das Land vergiftet. Kämpfe in wilden Schlachten für eines der drei Reiche um Gebiet und Besitztümer oder vereinige sie und werde der alleinige Herrscher. Dein Schicksal liegt in Deiner Hand!

    Ich mags,bin Server Astreya blaues Reich !
    Bin lvl 35+ und habe Kampfpferd.

    Schaut es euch mal an (https://autoit.de/www.metin2.de).
    Würde mich freuen,wenn ich noch AutoIt.de-Mitspieler treffen würde 8o

  • AutoIt Downloader

    • Dankeschön
    • 30. Juni 2008 um 15:39

    Dann..... ähm......
    ja,also du könntest RSD im Hintergrund laufen lassen (versteckt) und das mit deinem Programm fernsteuern :thumbup:
    Ne ne,also doch fast unmöglich (außer Bilderkennungsprogrammen)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™