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
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: Lenny
Script Function:
Search music.
#ce ----------------------------------------------------------------------------
#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>
$LetInSear = 0
$SearchCret = ""
$LastCount = ""
$CheckBox_Check = 0
$SelCheck = -1
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
#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 ###
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
$Selection = _GUICtrlListBox_GetCurSel($List1)
[/autoit] [autoit][/autoit] [autoit]If $Selection <> $SelCheck And $Selection <> -1 Then
ShellExecute($CurSetting & "\" & _GUICtrlListBox_GetText($List1,$Selection))
$SelCheck = $Selection
EndIf
$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)
For $ili = 1 To _GUICtrlListBox_GetCount($List1)
_GUICtrlListBox_DeleteString($List1, 0)
Next
$LastCount = $FilesListed[0]
$SearchCret = GUICtrlRead($Input1)
$SearchCretCount = StringSplit($SearchCret, "")
If GUICtrlRead($Checkbox1) <> $GUI_CHECKED Then
$CheckBox_Check = $GUI_UNCHECKED
For $i = 1 To UBound($FilesListed) - 1
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
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
Next
[/autoit] [autoit][/autoit] [autoit]Else
$CheckBox_Check = $GUI_CHECKED
For $i = 1 To UBound($FilesListed) - 1
If StringInStr($FilesListed[$i], $SearchCret) Then
_GUICtrlListBox_AddString($List1, $FilesListed[$i])
EndIf
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
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