• HalliHallo!

    Ich möchte meinen Mp3 Lister vorstellen.

    Wofür ist er gut ?

    Wenn ich meine Musiksammlung öffne muss ich immer sehr lange warten bis die Taschenlampe verschwindet und ich zugang zu meinen Mp3s habe. Dies liegt entweder an der großen Menge oder an der Ansicht (Symbole Ordnen Nach -> Interpret, Ansicht -> In Gruppen Anzeigen).

    Dafür habe ich mir jetzt Abhilfe geschaffen: Der Mp3 Lister.

    Hier ist auch gleich mal ein Video dazu:

    *KLICK* ICH BIN DER LINK ZUM VIDEO

    Vorteile:

    + RealTime anzeige (Auch wenn neue Musikstück neu in den Ordner kopiert werden, wird die Anzeige Aktualisiert)
    + Suchoptionen
    + Schnelligkeit
    + Aussehen
    + Bedienbarkeit, Interface, Benutzerfreundlichkeit

    Nachteile und Eingeschrenkte Bedingungen:

    - CPU Auslastung teils hoch
    - Es werden nicht Dateien in Unterodnern gefunden
    - Verzögerungen bei Buttons: Settings, Close

    Workflow:

    Beim ersten Start des Programmes wird der Suchordner festgelegt.

    Einstellen ob exakte Suche oder nicht.

    Suchword ins Inputfeld eingeben
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Bei exakter Suche wird nach Interpreten und Titeln gesucht, in denen das ganze Suchwort drinvorkommt.
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Wenn die Checkbox "Exact Results" (Exakte Ergebnisse) nicht gecheckt ist, wird geprüft ob alle, im Input angegebenen Buchstaben im LiedInterpreten- oder Titel zu finden sind. (BSP Im Video)
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

    Hier ist jetzt auch noch mal das Script:

    Es darf und kann frei modifiziert werden
    [autoit]


    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.3.0.0
    Author: Lenny

    Script Function:
    Search music.

    #ce ----------------------------------------------------------------------------

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListBox.au3>
    #include <Array.au3>
    #include <File.au3>

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

    $LetInSear = 0
    $SearchCret = ""
    $LastCount = ""
    $CheckBox_Check = 0
    $SelCheck = -1

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

    If Not FileExists(@ScriptDir & "\settings.ini") Then
    $CurSetting = FileSelectFolder("Select MP3 directory.", "", "", @WorkingDir)
    IniWrite(@ScriptDir & "\settings.ini", "Settings", "CurrentPath", $CurSetting)
    Else
    $CurSetting = IniRead(@ScriptDir & "\settings.ini", "Settings", "CurrentPath", "")
    EndIf

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Lenny\Eigene Dateien\Music lister.kxf
    $Form1 = GUICreate("MP3 Lister 1.0", 226, 466, 193, 125, BitOR($WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER, $WS_CLIPSIBLINGS))
    GUISetBkColor(0x000000)
    $BtnSet = GUICtrlCreateButton("Settings", 8, 424, 211, 33, 0)
    $Input1 = GUICtrlCreateInput("", 8, 376, 209, 21)
    $List1 = GUICtrlCreateList("", 0, 0, 226, 364, BitOR($LBS_SORT, $WS_VSCROLL), 0)
    $Label1 = GUICtrlCreateLabel("Exact results", 88, 402, 64, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Checkbox1 = GUICtrlCreateCheckbox("", 72, 400, 17, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BtnSet
    $CurSetting = FileSelectFolder("Select MP3 directory.", "", "", @WorkingDir)
    If Not @error Then IniWrite(@ScriptDir & "\settings.ini", "Settings", "CurrentPath", $CurSetting)
    EndSwitch

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

    $Selection = _GUICtrlListBox_GetCurSel($List1)

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

    If $Selection <> $SelCheck And $Selection <> -1 Then
    ShellExecute($CurSetting & "\" & _GUICtrlListBox_GetText($List1,$Selection))
    $SelCheck = $Selection
    EndIf

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

    $FilesListed = _FileListToArray($CurSetting, "*.mp3", 1)
    If Not @error Then
    If GUICtrlRead($Input1) <> $SearchCret Or $FilesListed[0] <> $LastCount Or GUICtrlRead($Checkbox1) <> $CheckBox_Check Then
    _GUICtrlListBox_BeginUpdate($List1)

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

    For $ili = 1 To _GUICtrlListBox_GetCount($List1)
    _GUICtrlListBox_DeleteString($List1, 0)
    Next

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

    $LastCount = $FilesListed[0]
    $SearchCret = GUICtrlRead($Input1)
    $SearchCretCount = StringSplit($SearchCret, "")

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

    If GUICtrlRead($Checkbox1) <> $GUI_CHECKED Then
    $CheckBox_Check = $GUI_UNCHECKED
    For $i = 1 To UBound($FilesListed) - 1

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

    For $is = 1 To UBound($SearchCretCount) - 1

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

    If StringInStr($FilesListed[$i], $SearchCretCount[$is]) Then
    $LetInSear += 1
    Else
    $LetInSear = 0
    ExitLoop
    EndIf

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

    Next

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

    If $LetInSear <> 0 Then
    _GUICtrlListBox_AddString($List1, $FilesListed[$i])
    ElseIf StringInStr($FilesListed[$i], $SearchCret) Then
    _GUICtrlListBox_AddString($List1, $FilesListed[$i])
    EndIf

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

    Next

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

    Else
    $CheckBox_Check = $GUI_CHECKED
    For $i = 1 To UBound($FilesListed) - 1

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

    If StringInStr($FilesListed[$i], $SearchCret) Then
    _GUICtrlListBox_AddString($List1, $FilesListed[$i])
    EndIf

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

    Next

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

    EndIf
    EndIf
    _GUICtrlListBox_EndUpdate($List1)
    Else
    MsgBox(64, "Error", "No *.mp3 files were found in the given dictornary.")
    $CurSetting = FileSelectFolder("Select MP3 directory.", "", "", @WorkingDir)
    If Not @error Then IniWrite(@ScriptDir & "\settings.ini", "Settings", "CurrentPath", $CurSetting)
    EndIf
    WEnd

    [/autoit]

    Ich hoffe ihr könnt damit etwas anfangen :)

    Liebe Grüße,

    Lenny

    Edit1: Anscheinend gibt es ein Problem mit dem Video. Ich werde es grade nochmal uppen.

    Edit2: Neu geuppt -> Klappt

    Jaja, Moo does the Cow!

    2 Mal editiert, zuletzt von Lenny (7. März 2009 um 14:19)

  • Hi!

    Danke... Aber ich Defragmetiere jede Woche 1mal ... Oder muss das öfter sein ?

    Warum kannst du die Musik nicht öffnen ? Was passiert wenn du auf einen Listview eintrag klickst ?

    Lg

    Lenny

    Jaja, Moo does the Cow!

    • Offizieller Beitrag

    Das Problem scheint am VLC zu liegen. Mit Winamp und Windows Mediaplayer funzt es . Das selbe Problem gab es auch hier : FileRenamer.