Jump to content

Mini Mp3 Player


Recommended Posts

1. I try to do what limiter player do...but i have an error when i want to play next music.

2. perhaps L|M|TER will forgive me because i use their coding... :)

3. Please help me...

#NoTrayIcon
#Region;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\software box\logo.ico
#AutoIt3Wrapper_outfile=MP3 Mini Player.exe
#AutoIt3Wrapper_Res_Comment=Mini tray mp3 player...
#AutoIt3Wrapper_Res_Description=Play all your music in mini icon.
#AutoIt3Wrapper_Res_Fileversion=1.6.5.9
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=@z.a.z.a collection software
#EndRegion;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#include "ModernMenuRaw.au3"
#include <WinAPI.au3>
#include "png.au3"
#include "Recursive.au3"
#include <Misc.au3>
#include <ExtProp.au3>
#include <Constants.au3>
#include <File.au3>
#include <GuiStatusBar.au3>
#include "Audio.au3"
#include <ie.au3>
#include "ani.au3"

AutoItSetOption("TrayMenuMode", 1)
TraySetClick(8)

_GDIPlus_Startup()
$pngSrc = @ScriptDir & "\icon\zaza banner1.png"
$hImage = _GDIPlus_ImageLoadFromFile($pngSrc)
$width = _GDIPlus_ImageGetWidth($hImage)
$height = _GDIPlus_ImageGetHeight($hImage)
$GUI = GUICreate("Loading...", $width, $height, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
SetBitMap($GUI, $hImage, 255)


GUISetState()
WinSetOnTop($GUI, "", 1)

$controlGui = GUICreate("ControlGUI", $width, $height, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $GUI)
GUICtrlCreatePic(@ScriptDir & "\grey.gif", 0, 0, $width, $height)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("Loading....", 250, 95)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState()
Sleep(1500)

;setting
$inipath = @ScriptDir & "\Mini\mini.ini"
If FileExists($inipath) = 0 Then
    DirCreate(@ScriptDir & "\Mini\")
    IniWriteSection($inipath, "Auto-Update", "Enabled=1")
    IniWriteSection($inipath, "Minimize To Tray", "Enabled=1")
    IniWriteSection($inipath, "Playlist-Hide", "Enabled=1")
    IniWriteSection($inipath, "Random", "Enabled=1")
    IniWriteSection($inipath, "Playlist-Save", "Enabled=1")
    IniWriteSection($inipath, "Playlist-Open", "Enabled=1")
    IniWriteSection($inipath, "Language", "Lang=ENG")
EndIf

GUICtrlCreateLabel("Reading Data", 300, 95)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState()


Sleep(3000)
GUIDelete($GUI)
_GDIPlus_Shutdown()

Sleep(500)
$inipath = @ScriptDir & "\Mini\mini.ini"
If _Singleton("Mini Player", 1) = 0 Then
    MsgBox(32, "Mini Player", "MP3 Mini Player is already running !" & @CRLF & "You cannot run multiple instances of MP3 Mini Player.")
    Exit
EndIf


;tray icon
$nTrayIcon1 = _TrayIconCreate("MP3 mini Player v.1.0.0 created by Z.A.Z.A", "shell32.dll", -138)
_TrayIconSetClick(-1, 16)
_TrayIconSetState(); Show the tray icon
_TrayTip($nTrayIcon1, "Info", "  You can also control MP3 Mini Player  " & @CRLF & "         with right click this icon  ", 6, 1)

$TrayCalc = _TrayCreateItem(-1, "Show Playlist")
_TrayItemSetIcon(-1, "", 0)



$MenuTools = _TrayCreateMenu(-1, "Tools")
_TrayItemSetIcon(-1, "shell32.dll", -166)
$About = _TrayCreateItem(-1, "About", $MenuTools)
_TrayItemSetIcon(-1, "", 0)
$lib = _TrayCreateMenu(-1, "Library", $MenuTools)
_TrayItemSetIcon(-1, "shell32.dll", -129)
$T = _TrayCreateItem(-1, "Not have any library", $lib)
_TrayItemSetIcon(-1, "", 0)
_TrayCreateItem(-1, "")
_TrayItemSetIcon(-1, "", 0)


$fldr = _TrayCreateItem(-1, "Add Folder's")
_TrayItemSetIcon(-1, "icon\mini.icl", -7)
$Opn = _TrayCreateItem(-1, "Add File's")
_TrayItemSetIcon(-1, "icon\mini.icl", -6)
$Ply = _TrayCreateItem(-1, "Play")
_TrayItemSetIcon(-1, "icon\mini.icl", -1)
$Stp = _TrayCreateItem(-1, "Stop")
_TrayItemSetIcon(-1, "icon\mini.icl", -4)
$Fwd = _TrayCreateItem(-1, "Next")
_TrayItemSetIcon(-1, "icon\mini.icl", -3)
$clr = _TrayCreateItem(-1, "Clear All")
_TrayItemSetIcon(-1, "icon\mini.icl", -5)
_TrayCreateItem(-1, "")
_TrayItemSetIcon(-1, "", 0)

$TrayExit = _TrayCreateItem(-1, "Exit")
_TrayItemSetIcon(-1, "shell32.dll", -28)

;menu color
_SetTrayBkColor(0x000000)
_SetTrayIconBkColor(0x000000)
_SetTraySelectBkColor(0xBBCC88)
_SetTraySelectTextColor(0xFFFFFF)
_SetTrayTextColor(0xFFFFFF)

Global $WM_DROPFILES = 0x233
Global $gaDropFiles[1], $str = ""

GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC"); drag 'n drop function


$GuiList = GUICreate("  Player Mini V.1.6.5", 316, 323, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE,$WS_EX_ACCEPTFILES))
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetFont(6, 400, 0, "MS Sans Serif")
GUISetBkColor(0x9DB9EB)
$playlist = GUICtrlCreateListView("Artist|Title|Album|Path", 8, 96, 297, 193, BitOR($LVS_REPORT,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS,$LVS_SORTASCENDING,$LVS_AUTOARRANGE))
GUICtrlSendMsg(-1, 0x101E, 0, 80)
GUICtrlSendMsg(-1, 0x101E, 1, 80)
GUICtrlSendMsg(-1, 0x101E, 2, 80)
GUICtrlSendMsg(-1, 0x101E, 3, 180)
GUICtrlSetColor(-1, 0x000000)
GUISetState(@SW_SHOW)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\icon\logo.bmp", 24, 8, 259, 117, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)

HotKeySet("^a", "add")
HotKeySet("^f", "AddFile")

;;;file menu start
SetBlueMenuColors()
$FileMenu       = GUICtrlCreateMenu("&File")
$OpenFolder     = _GUICtrlCreateODMenuItem("&Open Folder" & @Tab & "Ctrl+A", $FileMenu)
_GUICtrlODMenuItemSetIcon(-1, "icon\mini.icl", -7)
$OpenFile       = _GUICtrlCreateODMenuItem("Open File" & @Tab & "Ctrl+F", $FileMenu)
_GUICtrlODMenuItemSetSelIcon(-1, "icon\mini.icl", -6)
_GUICtrlCreateODMenuItem("", $FileMenu); Separator
$ExitItem       = _GUICtrlCreateODMenuItem("E&xit", $FileMenu, "shell32.dll", -28)

; Help-Menu
$HelpMenu       = GUICtrlCreateMenu("&?")
$HelpItem       = _GUICtrlCreateODMenuItem("Help Topics" & @Tab & "F1", $HelpMenu, "shell32.dll", -24)
_GUICtrlCreateODMenuItem("", $HelpMenu); Separator
$AboutItem      = _GUICtrlCreateODMenuItem("About...", $HelpMenu)

; You can also the same things on context menus
$GUIContextMenu = GUICtrlCreateContextMenu(-1)
$ConAboutItem   = _GUICtrlCreateODMenuItem("About...", $GUIContextMenu, "explorer.exe", -8)
_GUICtrlCreateODMenuItem("", $GUIContextMenu); Separator
$ConExitItem    = _GUICtrlCreateODMenuItem("Exit", $GUIContextMenu, "shell32.dll", -28)

;;;file menu end

$menu1 = GUICtrlCreateContextMenu($playlist)
$RCaddfile = _GUICtrlCreateODMenuItem("Add File", $menu1, "icon\mini.icl", -6)
_GUICtrlCreateODMenuItem("", $menu1)
$RCplay = _GUICtrlCreateODMenuItem("Play", $menu1, "icon\mini.icl", -1)
$RCpause = _GUICtrlCreateODMenuItem("Pause", $menu1, "icon\mini.icl", -2)
$RCstop = _GUICtrlCreateODMenuItem("Stop", $menu1, "icon\mini.icl", -4)
$RCfwd = _GUICtrlCreateODMenuItem("Next", $menu1, "icon\mini.icl", -3)
$RCdlt = _GUICtrlCreateODMenuItem("Delete", $menu1, "icon\mini.icl", -5)
$statusbar = _GUICtrlStatusBar_Create($GuiList)
Dim $statusbar_PartsWidth[2] = [150, 200]
_GUICtrlStatusBar_SetParts($statusbar, $statusbar_PartsWidth)
_GUICtrlStatusBar_SetText($statusbar, "Loading : None", 0)
$hIcons = _WinAPI_LoadShell32Icon(23)
_GUICtrlStatusBar_SetIcon($statusbar, 0, $hIcons)


Dim $nTrayIcon2 = 0
Dim $media
Dim $var, $hour, $min, $sec
$filep = ""
$pcdir = ""
$playlistsong = ""
$playlistsong1 = ""
$bitrate = ""
$tracknr = ""
$ttime = ""
$comments = ""
$protected = ""
$copyright = ""
$author = ""
$genre = ""
$year = ""
$album = ""
$title = ""
$artist = ""
$remove = ""
$status = ""
$1b = ""
$DoubleClicked = False
If FileReadLine($inipath, 12) = "Enabled=1" Then plsopen()

_ReduceMemory(@AutoItPID)
While 1
    $Msg = GUIGetMsg()
    
    Switch $Msg
        Case $TrayExit, $ExitItem;,$RCext
            If FileReadLine($inipath, 10) = "Enabled=1" Then plssave()
            _SoundClose($playlistsong)
            ExitLoop
        Case $GUI_EVENT_CLOSE
            GUISetState(@SW_HIDE, $GuiList)
        Case $Opn, $RCaddfile, $OpenFile
            AddFile()
        Case $fldr, $OpenFolder;, $RCaddfldr
            add()
        Case $Ply, $RCplay
            play()
        Case $Stp, $RCstop
            stop()
        Case $Fwd, $RCfwd
            nexts()
        Case $RCpause
            pause()
        Case $RCdlt
            remove()
        Case $AboutItem;, $About
            about()
        Case $TrayCalc
            GUISetState(@SW_SHOW, $GuiList)
        Case $clr
            removeall()
    EndSwitch
    
    If $DoubleClicked Then
        DoubleClickFunc()
        $DoubleClicked = False
    EndIf
    
    $1a = _SoundPos($playlistsong, 2)
    $1b = _SoundLength($playlistsong, 2)

    If $1a = $1b Then
        _SoundStop($playlistsong)
        Sleep(10)
    EndIf
    If $1a = $1b And _SoundStatus($playlistsong) = "stopped" Then
        $pls = GUICtrlGetHandle($playlist)
        $max = _GUICtrlListView_GetItemCount($pls)
        $rand = Random(1, $max)
        $next = _GUICtrlListView_GetItemTextArray($pls, $rand)
        $playlistsong1 = $next[4]
        start($playlistsong1)
    EndIf

WEnd


Func play()
    Local $hIcons = _WinAPI_LoadShell32Icon(168)
    If _SoundStatus($playlistsong) = "playing" Then _SoundStop($playlistsong)
    $dbclick1 = GUICtrlRead(GUICtrlRead($playlist))
    $dbclick2 = StringTrimRight($dbclick1, 1)
    $dbclick3 = StringSplit($dbclick2, "|")
    If $dbclick3[0] <> 1 Then
        $playlistsong1 = $dbclick3[4]
        $playlistsong = _SoundOpen($playlistsong1)
        _SoundPlay($playlistsong)
        _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
        _GUICtrlStatusBar_SetIcon($statusbar, 0, $hIcons)
    EndIf
    
EndFunc  ;==>play

Func stop()
    _SoundStop($playlistsong)
EndFunc  ;==>stop

Func plssave()
    $pls2 = GUICtrlGetHandle($playlist)
    $max2 = _GUICtrlListView_GetItemCount($pls2)
    
    $plsloc1 = @ScriptDir & "\playlist.mini"
    If FileExists($plsloc1) = 0 Then _FileCreate($plsloc1)
    $plsloc = FileOpen($plsloc1, 2)

    For $i = 0 To $max2
        $plsfile = _GUICtrlListView_GetItemTextArray($pls2, $i)
        FileWrite($plsloc, $plsfile[4] & @CRLF)
        
    Next

    FileClose($plsloc)
EndFunc  ;==>plssave

Func pause()
    If _SoundStatus($playlistsong) = "playing" Then
        _SoundPause($playlistsong)
    Else
        _SoundResume($playlistsong)
    EndIf
EndFunc  ;==>pause



Func plsopen()

    $plsloc2 = @ScriptDir & "\playlist.mini"
    $plsloc3 = FileOpen($plsloc2, 0)
    $pls3 = GUICtrlGetHandle($playlist)
    $max3 = _FileCountLines($plsloc2) - 1
    ConsoleWrite("$max3 = " & $max3 & @CRLF)
    ConsoleWrite("@error = " & @error & @CRLF)
    GUIProgressCreate()
    
    For $i = 1 To $max3
        _GUICtrlStatusBar_SetText($statusbar, "Playlist : " & $i & " of " & $max3, 0)
        $path = FileReadLine($plsloc3, $i)
        $artist1 = _GetExtProperty($path, 16) & "|"
        $title1 = _GetExtProperty($path, 10) & "|"
        $album1 = _GetExtProperty($path, 17) & "|"
        GUICtrlCreateListViewItem($artist1 & $title1 & $album1 & $path, $playlist)
        
    Next
    GUIProgressDelete()
EndFunc  ;==>plsopen

Func start($playlistsong1)
    endgui()
    Sleep(500)
    Local $hIcons = _WinAPI_LoadShell32Icon(168)
    $playlistsong = _SoundOpen($playlistsong1)
    _SoundPlay($playlistsong)
    $artist2 = _GetExtProperty($playlistsong1, 16)
    $title2 = _GetExtProperty($playlistsong1, 10)
    $album2 = _GetExtProperty($playlistsong1, 17)
    $duration2 = _GetExtProperty($playlistsong1, 21)
    _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
    _GUICtrlStatusBar_SetIcon($statusbar, 0, $hIcons)
    pop($artist2, $title2, $album2, $duration2)
    dancer($title2)
EndFunc  ;==>start

Func nexts()
    If _SoundStatus($playlistsong) = "playing" Then _SoundStop($playlistsong)
    $pls1 = GUICtrlGetHandle($playlist)
    $max1 = _GUICtrlListView_GetItemCount($pls1)
    $rand1 = Random(1, $max1)
    $next1 = _GUICtrlListView_GetItemTextArray($pls1, $rand1)
    $iY1 = _GUICtrlListView_GetItemPositionY($pls1, $rand1 - 2)
    _GUICtrlListView_Scroll($pls1, 0, $iY1)
    _GUICtrlListView_SetItemFocused($pls1, $rand1)
    _GUICtrlListView_SetItemSelected($pls1, $rand1)
    $playlistsong1 = $next1[4]
    start($playlistsong1)
EndFunc  ;==>nexts

Func remove()
    $hplaylist = GUICtrlGetHandle($playlist)
    _GUICtrlListView_DeleteItemsSelected($hplaylist)
EndFunc  ;==>remove

Func removeall()
    $hplaylist = GUICtrlGetHandle($playlist)
    _GUICtrlListView_DeleteAllItems($hplaylist)
EndFunc  ;==>removeall

Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $playlist And $code = -3 Then $DoubleClicked = True
    Return $GUI_RUNDEFMSG
EndFunc  ;==>WM_NOTIFY

Func DoubleClickFunc()
    If _SoundStatus($playlistsong) = "playing" Then _SoundStop($playlistsong)
    $dbclick1 = GUICtrlRead(GUICtrlRead($playlist))
    $dbclick2 = StringTrimRight($dbclick1, 1)
    $dbclick3 = StringSplit($dbclick2, "|")
    If $dbclick3[0] <> 1 Then
        $playlistsong1 = $dbclick3[4]
        start($playlistsong1)
    EndIf
EndFunc  ;==>DoubleClickFunc


Func AddFile()

    $sFile = FileOpenDialog("Open File", "", "Audio Files (*.mp3;*.wav)")
    If FileExists($sFile) Then
        $path = $sFile
        $artist1 = _GetExtProperty($path, 16) & "|"
        $title1 = _GetExtProperty($path, 10) & "|"
        $album1 = _GetExtProperty($path, 17) & "|"
        GUICtrlCreateListViewItem($artist1 & $title1 & $album1 & $path, $playlist)
    Else
        MsgBox(48, "MP3 Mini Player", "Please select a file to add !")
    EndIf
EndFunc  ;==>AddFile

Func pop($artst, $sng, $albm, $durtion)
    $Wpop = GUICreate("LMP", 269, 146, @DesktopWidth - 280, @DesktopHeight - 170, $WS_POPUP, $WS_EX_TOOLWINDOW)
    GUISetBkColor(0xD8E4F8)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Wpop, "int", 300, "long", 0x00040008);slide-in from bottom
    $Label132 = GUICtrlCreateLabel("MP3 Mini Player" & @CRLF & "Now Playing :", 8, 8, 200, 34)
    GUICtrlSetColor(-1, 0x9A3416)
    $data1 = GUICtrlCreateLabel("", 8, 42, 200, 58)
    GUICtrlSetData($data1, $artst & @CRLF & $sng)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Labelx = GUICtrlCreateLabel("x", 250, 2, 7, 12)
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x9A3416)
    $data2 = GUICtrlCreateLabel("", 8, 102, 200, 17)
    GUICtrlSetData($data2, "Album : " & $albm)
    $data3 = GUICtrlCreateLabel("", 8, 118, 200, 17)
    GUICtrlSetData($data3, "Duration : " & $durtion)
    WinSetTrans("LMP", "", 200)
    GUISetState(@SW_SHOW)
    _GuiRoundCorners($Wpop, 0, 0, 20, 20);<= Patent GUI Glass style
    $tmr = TimerInit()

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE, $Labelx
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Wpop, "int", 300, "long", 0x00050004)
                GUIDelete($Wpop)
                ExitLoop
        EndSwitch

        If TimerDiff($tmr) >= 4000 Then
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Wpop, "int", 300, "long", 0x00050004)
            GUIDelete($Wpop)
            ExitLoop
        EndIf
    WEnd
EndFunc  ;==>pop

Func _GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3);==>_GuiRoundCorners
    Dim $pos, $ret, $ret2
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
        $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
        If $ret2[0] Then
            Return 1
        Else
            Return 0
        EndIf
    Else
        Return 0
    EndIf
EndFunc  ;==>_GuiRoundCorners
#EndRegion 

Func License()
    $license = FileRead(@ScriptDir & "\icon\License.txt")
    $aform = GUICreate("License", 410, 344, 286, 220)
    $Edit_1 = GUICtrlCreateEdit("", 16, 16, 377, 273, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetData($Edit_1, $license, 1)
    $Button1 = GUICtrlCreateButton("Accept Terms", 120, 304, 169, 25, 0)
    GUISetState(@SW_SHOW)

    While 1
        $Msg = GUIGetMsg()
        Select

            Case $Msg = $GUI_EVENT_CLOSE
                GUIDelete($aform)
                ExitLoop

            Case $Msg = $Button1
                MsgBox(0, "Thank You", "We appreciate your kindness")
                GUIDelete($aform)
                ExitLoop
        EndSelect

    WEnd
EndFunc  ;==>License

Func add()
    $pcdir = FileSelectFolder("Select Folder", @HomeDrive)
    If @error = 1 Then
        MsgBox(48, "MP3 Mini Player", "Please select a folder !")
    ElseIf $pcdir = "" Then
        MsgBox(48, "MP3 Mini Player", "Please select a folder !")
    Else
        Call("pcdir")
    EndIf
EndFunc  ;==>add

Func pcdir()
    
    If FileReadLine($inipath, 6) = "Enabled=1" Then GUICtrlSetState($playlist, $GUI_HIDE)
    $filesArray = RecursiveFileSearch($pcdir, "(?i)\.(mp3|wav)")
    GUIProgressCreate()
    For $i = 1 To $filesArray[0]
        _GUICtrlStatusBar_SetText($statusbar, "Adding " & $i & " of " & $filesArray[0], 0)
        $path = $filesArray[$i]
        $artist1 = _GetExtProperty($path, 16) & "|"
        $title1 = _GetExtProperty($path, 10) & "|"
        $album1 = _GetExtProperty($path, 17) & "|"

        GUICtrlCreateListViewItem($artist1 & $title1 & $album1 & $path, $playlist)
    Next
    
    If FileReadLine($inipath, 6) = "Enabled=1" Then GUICtrlSetState($playlist, $GUI_SHOW)
    _GUICtrlStatusBar_SetText($statusbar, "Ready", 0)
    GUIProgressDelete()
EndFunc  ;==>pcdir

Func WM_DROPFILES_FUNC($hWnd, $MsgID, $wParam, $lParam)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)

    For $i = 0 To $nAmt[0] - 1
        $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
        $nSize = $nSize[0] + 1
        $pFileName = DllStructCreate("char[" & $nSize & "]")
        DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
        ReDim $gaDropFiles[$i + 1]
        $gaDropFiles[$i] = DllStructGetData($pFileName, 1)
        $pFileName = 0
    Next

    GetDroppedFiles()
EndFunc  ;==>WM_DROPFILES_FUNC

Func GetDroppedFiles()
    Local $nbrFiles
    Local $i

    $nbrFiles = UBound($gaDropFiles) - 1; -- global
    For $i = 0 To $nbrFiles
        _GUICtrlStatusBar_SetText($statusbar, "Adding file ( " & $i & " of " & $nbrFiles & " )", 0)

        If FileExists($gaDropFiles[$i]) Then

            $path = $gaDropFiles[$i]
            $artist1 = _GetExtProperty($path, 16) & "|"
            $title1 = _GetExtProperty($path, 10) & "|"
            $album1 = _GetExtProperty($path, 17) & "|"

            GUICtrlCreateListViewItem($artist1 & $title1 & $album1 & $path, $playlist)

        EndIf
    Next
EndFunc  ;==>GetDroppedFiles

Func _ReduceMemory($i_PID = -1) 
     If $i_PID <> - 1 Then
          Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
          Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
          DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
     Else
          Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
     EndIf
 
     Return $ai_Return[0]
 EndFunc  ;==>_ReduceMemory

Func about()
    $Ab = GUICreate("About Us", 267, 303, 386, 220)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\icon\Image00001.jpg", 8, 8, 247, 63, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Group1 = GUICtrlCreateGroup("About Us", 12, 80, 241, 65, $WS_CLIPSIBLINGS)
    $Label1 = GUICtrlCreateLabel("Product Name:", 49, 104, 75, 17)
    $Label2 = GUICtrlCreateLabel("Version:", 82, 121, 42, 17)
    $Label3 = GUICtrlCreateLabel("MP3 Mini Player", 136, 104, 80, 17)
    $Label4 = GUICtrlCreateLabel("1.6.5", 136, 122, 28, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Edit1 = GUICtrlCreateEdit("", 13, 152, 241, 113, BitOR($ES_CENTER, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetData(-1, StringFormat(".: Special Thanks :.\r\nAutoit Forum\r\nL|M|TER MEDIA PLAYER\r\n\r\n.: Personal Site :.\r\nwww.myspace.com\\zainiafzan\r\n\r\n.: Author :.\r\n?Z.A.Z.A Collection Software 2008\r\n"))
    $But = GUICtrlCreateButton("License", 72, 272, 113, 17, 0)
    GUISetState(@SW_SHOW)
    #EndRegion 

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Ab)
                ExitLoop
            Case $But
                GUIDelete($Ab)
                Call("License")
                ExitLoop
                
        EndSwitch
    WEnd
EndFunc  ;==>about

Func GUIProgressCreate()
; shows progress bar
    GUICreate("Loading playlist", 180, 60, -1, -1, $DS_MODALFRAME, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    GUICtrlSetState(GUICtrlCreateAvi(@ScriptDir & "\icon\progress.avi", -1, 78, 5), 1)
    GUICtrlCreateLabel("In progress", 12, 10)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState()
EndFunc  ;==>GUIProgressCreate

Func GUIProgressDelete()
    GUIDelete()
EndFunc  ;==>GUIProgressDelete

Func dancer($artist)
    $guiID = GUICreate("Dancer Mini", 102, 208,@DesktopWidth -188, @DesktopHeight - 238 , $DS_MODALFRAME, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST)
    GUISetBkColor(0x0000000)
    $hAniGif2 = AniGif_CreateControl($guiID, 4, 4, 88, 128)
    AniGif_LoadGifFromFile($hAniGif2, @ScriptDir & "\icon\avatar_ani_128.gif")
    AniGif_SetBkColor($hAniGif2, 0xFFFFFF)
    $Label4 = GUICtrlCreateLabel("Title Song:", 4, 134, 80, 27)
    GUICtrlSetColor(-1, 0x2FEC1A)
    $Ltitle = GUICtrlCreateLabel("", 4, 150, 100, 27)
    GUICtrlSetData($Ltitle, $artist)
    GUICtrlSetColor(-1, 0x2FEC1A)
    GUISetState(@SW_SHOW)
    
    $1a = _SoundPos($playlistsong, 2)
    $1b = _SoundLength($playlistsong, 2)
    If $1a = $1b Then
        _SoundStop($playlistsong)
        AniGif_DestroyControl($hAniGif2)
    EndIf
EndFunc  ;==>dancer

Func endgui()
    GUIDelete()
EndFunc  ;==>endgui


Func SetBlueMenuColors()
    _SetMenuBkColor(0xFFB8B8)
    _SetMenuIconBkColor(0xBB8877)
    _SetMenuSelectBkColor(0x662222)
    _SetMenuSelectRectColor(0x4477AA)
    _SetMenuSelectTextColor(0x66FFFF)
    _SetMenuTextColor(0x000000)
EndFunc
Link to comment
Share on other sites

1. I try to do what limiter player do...but i have an error when i want to play next music.

What is the error?
Certifications: A+, Network+, Security+, Linux+, LPIC-1, MCSA | Languages: AutoIt, C, SQL, .NETBooks: AutoIt v3: Your Quick Guide - $7.99 - O'Reilly Media - September 2007-------->[u]AutoIt v3 Development - newbie to g33k[/u] - Coming Soon - Fate Publishing - Spring 2013UDF Libraries: SkypeCOM UDF Library | ADUC Computers OU Cleanup | Find PixelChecksumExamples: Skype COM Examples - Skype4COMLib Examples converted from VBS to AutoIt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...