Jump to content

L|M|TER Media Player - NEW VERSION 4.0.0.7 !


LIMITER
 Share

Recommended Posts

Nice!! I like the preferences and new addons.. I see the slider is not working for me tho. Even when it was working you cannot slide it to change a point in the song.

That's very odd because for me it works like charm (don't know what's the problem)

:)

Link to comment
Share on other sites

  • Replies 337
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Possible bug, it's creating the playlist, but when it reaches 100%, the progress is still there.

As i said to gesller ... for me it works perfectly though ... maybe it's still there because you have a very large number of mp3's or ... it may be posiblly a bug ...

If someone finds a solution ... don't be afraid to post :)

Link to comment
Share on other sites

Hey, A way to get all the picture files working nicely is, uploading them somewhere like ripway.com then using InetGet then fileinstalling them, then deleting them off the desktop :) overall I like the new version...had a first time error when I changed all the settings to Enable...and it had a Subscript Used With Non-Array Variable...But hasnt happened again yet...so...very nice LIMITER.

Link to comment
Share on other sites

Hey, A way to get all the picture files working nicely is, uploading them somewhere like ripway.com then using InetGet then fileinstalling them, then deleting them off the desktop :) overall I like the new version...had a first time error when I changed all the settings to Enable...and it had a Subscript Used With Non-Array Variable...But hasnt happened again yet...so...very nice LIMITER.

Thx Swift ... i'm glad you like it ... however ... the lmp v1 and v2 where endeed using inetget ... but i decided that it was very unefficient because , if you have no internet ... no pictures (and that is very annoying) so , sorry but ... it's more practicaly this way :)

Link to comment
Share on other sites

Alright...But...Not Everyones HardDrive Is On D:...And...You Should Use @DesktopDir :)

If the images are what your worried about Change these

;Install images
$loimg = @TempDir & "\lmplogo.bmp"
FileInstall("D:\de pe c\AutoIt\LMP\lmplogo-new.bmp", $loimg, 1)
$paimg = @TempDir & "\pauseb.bmp"
FileInstall("D:\de pe c\AutoIt\LMP\pause-new.bmp", $paimg, 1)
$plimg = @TempDir & "\playb.bmp"
FileInstall("D:\de pe c\AutoIt\LMP\play-new.bmp", $plimg, 1)
$stimg = @TempDir & "\stopb.bmp"
FileInstall("D:\de pe c\AutoIt\LMP\stop-new.bmp", $stimg, 1)
$brimg = @TempDir & "\browseb.bmp"
FileInstall("D:\de pe c\AutoIt\LMP\browse-new.bmp", $brimg, 1)oÝ÷ Ù©Ýi×m+0êÞ½êò¢èZ½æ§{­jëh×6   FileDelete(@TempDir & "\lmplogo.bmp")
   FileDelete(@TempDir & "\pauseb.bmp")
   FileDelete(@TempDir & "\playb.bmp")
   FileDelete(@TempDir & "\stopb.bmp")
   FileDelete(@TempDir & "\browseb.bmp")
   FileDelete(@TempDir & "\lmp.bat")

between :

_SoundClose($playlistsong)

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00090000);fade-out

~and~

Exit

this will file install images and clean up your temp folder when done..

Link to comment
Share on other sites

I wouldnt clean it after its done...that defeats the whole purpose of putting them inside the TEMP (TEMPERARY) Directory...everything else is good...but dont delete all the files...that defeats the whole purpose of putting them there...

Link to comment
Share on other sites

I wouldnt clean it after its done...that defeats the whole purpose of putting them inside the TEMP (TEMPERARY) Directory...everything else is good...but dont delete all the files...that defeats the whole purpose of putting them there...

It doesn't defeat anything. The files are stored in the compiled file so they are there where and whenever you run the file. They are going to be loaded everytime you open the file anyway unless you write an "if" statement so why not delete them from the hard drive when you leave? This is just more eficient and makes the compiled file a stand alone application.

Link to comment
Share on other sites

Thx SxyfrG,i'm now testing your code :)

EDIT : I tested the code and ... surprisingly ... nothing happened :) ... the window does not dissapear from the taskbar ...

and the seek code ... it's not working :) it just seeks really wrong .. ex when i try to seek 70 1:27 it goes to 2:56 .. :D

Strange ... The bits of code i supplied worked for my miscellaneous projects, although the 'seek' feature decided to stop working on my own mp3 player :S

My scripts:AppLauncherTRAY - Awesome app launcher that runs from the system tray NEW VERSION! | Run Length Encoding - VERY simple compression in pure autoit | Simple Minesweeper Game - Fun little game :)My website

Link to comment
Share on other sites

Sorry for the double post but your media player STILL crashes when you press the play button and you haven't loaded any songs to play :S

The error is to do with an array used in your play() function

Maybe you could add an If statement at the beginning of your play function that checks whether the playlist has items in it and whether any are selected.

If no items are selected or present in the playlist then nothing happens (avoids the crash).

e.g.

Func play()
$CheckPlaylist = <read the playlists contents>
If $CheckPlaylist = <no items in playlist or none selected> Then
<alert user that there's no items in the playlist> (optional, just a suggestion)
Else
<function here>
EndIf
EndFunc;===> play()

Can't have such an awesome program like this have a bug in it :)

Edited by SxyfrG

My scripts:AppLauncherTRAY - Awesome app launcher that runs from the system tray NEW VERSION! | Run Length Encoding - VERY simple compression in pure autoit | Simple Minesweeper Game - Fun little game :)My website

Link to comment
Share on other sites

I Seemed to have fixed the 2nd last error, and the error with the progress bar. Also, there is a bug where remaining time is not showing the correct time. lol. And the slider isn't working. But here's what I've done. :) The pictures are in a dir "Pictures". I changed that FYI.

#Region;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=lmp.ico
#AutoIt3Wrapper_Outfile=lmp.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Thx too all that helped creating this app ...
#AutoIt3Wrapper_Res_Description=L|M|TER Media Player
#AutoIt3Wrapper_Res_Fileversion=3.2.6.0
#AutoIt3Wrapper_Res_LegalCopyright=© 2008 - L|M|TER
#EndRegion;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#include <Sound.au3>
#include <ExtProp.au3>
#include <File.au3>
#include <GUIEnhance.au3>
#include <IE.au3>
#include <Constants.au3>
#include <Date.au3>
#include "Recursive.au3"
$cver = "3.2.6"
AutoItSetOption("TrayMenuMode", 1)
TraySetToolTip("L|M|TER Media Player v. " & $cver)

;Creating ini
$inipath = @WindowsDir & "\lmp.ini"
If FileExists($inipath) = 0 Then
    IniWriteSection($inipath, "Auto-Update", "Enabled=1")
    IniWriteSection($inipath, "Minimize To Tray", "Enabled=1")
    IniWriteSection($inipath, "Playlist-Hide", "Enabled=1")
    IniWriteSection($inipath, "Random", "Enabled=1")
EndIf

;Install images
$loimg = @TempDir & "\lmplogo.bmp"
FileInstall("Pictures\lmplogo-new.bmp", $loimg, 1)
$paimg = @TempDir & "\pauseb.bmp"
FileInstall("Pictures\pause-new.bmp", $paimg, 1)
$plimg = @TempDir & "\playb.bmp"
FileInstall("Pictures\play-new.bmp", $plimg, 1)
$stimg = @TempDir & "\stopb.bmp"
FileInstall("Pictures\stop-new.bmp", $stimg, 1)
$brimg = @TempDir & "\browseb.bmp"
FileInstall("Pictures\browse-new.bmp", $brimg, 1)

;~ Splash
SplashImageOn("", $loimg, 476, 117, Default, Default, 1)
Sleep(2000)
SplashOff()

;Update check
If FileReadLine($inipath, 2) = "Enabled=1" Then

    InetGet("http://limiter.evonet.ro/lmp.ver", @TempDir & "\lmp.ver", 1, 1)
    If @error Then MsgBox(32, "LMP Update", "There was a problem contacting the server, try again later ...")
    While @InetGetActive
    WEnd
    SplashOff()
    $dat = FileOpen(@TempDir & "\lmp.ver", 0)
    Global $nver = FileReadLine($dat, 1)
    FileClose($dat)
    If $nver = $cver Then
        TrayTip("L|M|TER Media Player", "There is no new version of LMP ...", 2, 1)
        Sleep(3000)
        TrayTip("", "", 0)
    EndIf
    If $nver > $cver Then
        Call("update")
    EndIf

EndIf

;~ Main GUI

#Region ### START Koda GUI section ### Form=
$gui = GUICreate("", 634, 465, 190, 121)
GUISetBkColor(0xD8E4F8)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
$logo = GUICtrlCreatePic($loimg, 80, 0, 476, 117, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$playlist = GUICtrlCreateListView("Artist|Title|Album|Path", 8, 202, 618, 214)
GUICtrlSendMsg(-1, 0x101E, 0, 150)
GUICtrlSendMsg(-1, 0x101E, 1, 150)
GUICtrlSendMsg(-1, 0x101E, 2, 150)
GUICtrlSendMsg(-1, 0x101E, 3, 160)

$menu1 = GUICtrlCreateContextMenu($playlist)
$RCaddfile = GUICtrlCreateMenuItem("Add a file", $menu1)
$RCadddir = GUICtrlCreateMenuItem("Add a folder", $menu1)
$RCplay = GUICtrlCreateMenuItem("Play", $menu1)
$RCpause = GUICtrlCreateMenuItem("Pause", $menu1)
$RCstop = GUICtrlCreateMenuItem("Stop", $menu1)
$RCsonginfo = GUICtrlCreateMenuItem("Song Info", $menu1)

$play = GUICtrlCreateButton("", 8, 144, 49, 49, $BS_BITMAP)
GUICtrlSetImage($play, $plimg, 0)
GUICtrlSetTip($play, "Play the selected song", "L|M|TER Media Player", 1, 1)
$pause = GUICtrlCreateButton("", 64, 144, 49, 49, $BS_BITMAP)
GUICtrlSetImage($pause, $paimg, 0)
GUICtrlSetTip($pause, "Pause the playing song", "L|M|TER Media Player", 1, 1)
$stop = GUICtrlCreateButton("", 120, 144, 49, 49, $BS_BITMAP)
GUICtrlSetImage($stop, $stimg, 0)
GUICtrlSetTip($stop, "Stop the playing song", "L|M|TER Media Player", 1, 1)
$browse = GUICtrlCreateButton("", 176, 144, 49, 49, $BS_BITMAP)
GUICtrlSetImage($browse, $brimg, 0)
GUICtrlSetTip($browse, "Browse for a directory to add to the playlist", "L|M|TER Media Player", 1, 1)
$about = GUICtrlCreateButton("&About", 544, 144, 75, 25, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$help = GUICtrlCreateButton("&Help", 544, 168, 75, 25, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$songinfo = GUICtrlCreateButton("Song Information", 432, 144, 107, 25, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetTip($songinfo, "Displays a new window containing the current song's information", "L|M|TER Media Player", 1, 1)
$nextbtn = GUICtrlCreateButton("Next Song", 432, 168, 107, 25, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetTip($nextbtn, "Plays the next song", "L|M|TER Media Player", 1, 1)
GUICtrlSetState($nextbtn, $GUI_DISABLE)
$Label2 = GUICtrlCreateLabel("Elapsed :", 240, 152, 48, 17)
$Label3 = GUICtrlCreateLabel("Remaining :", 240, 168, 60, 17)
$elapsedt = GUICtrlCreateLabel("00:00:00", 302, 152, 46, 17)
$remainingt = GUICtrlCreateLabel("00:00:00", 302, 168, 46, 17)

$file = GUICtrlCreateMenu("File")
$adddir = GUICtrlCreateMenuItem("Add Dir", $file)
$addfile = GUICtrlCreateMenuItem("Add File", $file)
$exit = GUICtrlCreateMenuItem("Exit", $file)
$settings1 = GUICtrlCreateMenu("Settings")
$settings = GUICtrlCreateMenuItem("Settings", $settings1)
$hel = GUICtrlCreateMenu("Help")
$helpmenu = GUICtrlCreateMenuItem("Help", $hel)
$updchk = GUICtrlCreateMenuItem("Check for updates", $hel)
$aboutlmp = GUICtrlCreateMenuItem("About LMP", $hel)

$search = GUICtrlCreateButton("Search", 352, 144, 80, 25, 0)
GUICtrlSetFont($search, Default, 800)
GUICtrlSetState($search, $GUI_DISABLE)
$clear = GUICtrlCreateButton("Clear Playlist", 352, 168, 80, 25, 0)

$PosSlider = GUICtrlCreateSlider(8, 100, 614, 42)
GUICtrlSetBkColor($PosSlider, 0xD8E4F8)
GUICtrlSetState($PosSlider, $GUI_DISABLE)
If FileReadLine($inipath, 4) = "Enabled=1" Then
    $tray_hide = TrayCreateItem("Minimize LMP to tray")
    TrayCreateItem("")
    $tray_Restore = TrayCreateItem("Restore LMP")
    TrayCreateItem("")
    $tray_exit = TrayCreateItem("Exit")
    TrayItemSetState($tray_Restore, $GUI_DISABLE)
EndIf

TrayCreateItem("")
$trayplay = TrayCreateItem("Play")
TrayItemSetState($trayplay, $GUI_DISABLE)
$traystop = TrayCreateItem("Stop")
TrayItemSetState($traystop, $GUI_DISABLE)
$traypause = TrayCreateItem("Pause")
TrayItemSetState($traypause, $GUI_DISABLE)
$traysonginfo = TrayCreateItem("Song Information")
TrayItemSetState($traysonginfo, $GUI_DISABLE)
$traynext = TrayCreateItem("Next Song")
TrayItemSetState($traynext, $GUI_DISABLE)
TrayCreateItem("")
$traysrch = TrayCreateItem("Search")
TrayItemSetState($traysrch, $GUI_DISABLE)

$statusbar = _GUICtrlStatusBar_Create($gui)
Dim $statusbar_PartsWidth[3] = [150, 400, 650]
_GUICtrlStatusBar_SetParts($statusbar, $statusbar_PartsWidth)
_GUICtrlStatusBar_SetText($statusbar, "Status :", 0)
_GUICtrlStatusBar_SetText($statusbar, "Artist :", 1)
_GUICtrlStatusBar_SetText($statusbar, "Title :", 2)

GUICtrlSetState($playlist, $GUI_SHOW)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00080000);fade-in
GUISetState(@SW_SHOW)
GUICtrlSetState($playlist, $GUI_SHOW)
_GUIEnhanceAnimateTitle($gui, "L|M|TER Media Player v. " & $cver & " - © 2008 L|M|TER", $GUI_EN_TITLE_DROP)
#EndRegion ### START Koda GUI section ### Form=
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

While 1
    $nMsg = GUIGetMsg()
    $msgt = TrayGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            _SoundClose($playlistsong)
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00090000);fade-out
            FileDelete(@TempDir & "\lmplogo.bmp")
            FileDelete(@TempDir & "\pauseb.bmp")
            FileDelete(@TempDir & "\playb.bmp")
            FileDelete(@TempDir & "\stopb.bmp")
            FileDelete(@TempDir & "\browseb.bmp")
            FileDelete(@TempDir & "\lmp.bat")
            Exit
        Case $RCaddfile
            AddFile()
        Case $RCadddir
            Call("add")
            ProgressSet(100, "Done")
            ProgressOff()
            GUICtrlSetState($search, $GUI_ENABLE)
            GUICtrlSetState($nextbtn, $GUI_ENABLE)
            TrayItemSetState($trayplay, $GUI_ENABLE)
            TrayItemSetState($traystop, $GUI_ENABLE)
            TrayItemSetState($traypause, $GUI_ENABLE)
            TrayItemSetState($traysonginfo, $GUI_ENABLE)
            TrayItemSetState($traynext, $GUI_ENABLE)
            TrayItemSetState($traysrch, $GUI_ENABLE)
        Case $RCplay
            play()
        Case $RCpause
            pause()
        Case $RCstop
            stop()
        Case $RCsonginfo
            songgui()
        Case $play
            Call("play")
        Case $browse
            Call("add")
            ProgressSet(100, "Done")
            Sleep(1000)
            ProgressOff()
            GUICtrlSetState($search, $GUI_ENABLE)
            GUICtrlSetState($nextbtn, $GUI_ENABLE)
            TrayItemSetState($trayplay, $GUI_ENABLE)
            TrayItemSetState($traystop, $GUI_ENABLE)
            TrayItemSetState($traypause, $GUI_ENABLE)
            TrayItemSetState($traysonginfo, $GUI_ENABLE)
            TrayItemSetState($traynext, $GUI_ENABLE)
            TrayItemSetState($traysrch, $GUI_ENABLE)
        Case $search
            Call("search")
        Case $stop
            Call("stop")
        Case $pause
            Call("pause")
        Case $about
            Call("about")
        Case $help
            Call("help")
        Case $songinfo
            Call("songgui")
        Case $adddir
            Call("add")
        Case $settings
            Call("settings")
        Case $helpmenu
            Call("help")
        Case $updchk
            Call("updchk")
        Case $aboutlmp
            Call("about")
        Case $exit
            _SoundClose($playlistsong)
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00090000);fade-out
            FileDelete(@TempDir & "\lmplogo.bmp")
            FileDelete(@TempDir & "\pauseb.bmp")
            FileDelete(@TempDir & "\playb.bmp")
            FileDelete(@TempDir & "\stopb.bmp")
            FileDelete(@TempDir & "\browseb.bmp")
            FileDelete(@TempDir & "\lmp.bat")
            Exit
        Case $addfile
            AddFile()
        Case $clear
            $playlisthandle = GUICtrlGetHandle($playlist)
            _GUICtrlListView_DeleteAllItems($playlisthandle)
            GUICtrlSetState($search, $GUI_DISABLE)
            GUICtrlSetState($nextbtn, $GUI_DISABLE)
            TrayItemSetState($trayplay, $GUI_DISABLE)
            TrayItemSetState($traystop, $GUI_DISABLE)
            TrayItemSetState($traypause, $GUI_DISABLE)
            TrayItemSetState($traysonginfo, $GUI_DISABLE)
            TrayItemSetState($traynext, $GUI_DISABLE)
            TrayItemSetState($traysrch, $GUI_DISABLE)
        Case $nextbtn
            Call("nexts")
    EndSwitch

    Switch $msgt
        Case $trayplay
            Call("play")
        Case $traypause
            Call("pause")
        Case $traynext
            Call("nexts")
        Case $traysonginfo
            Call("songgui")
        Case $traystop
            Call("stop")
        Case $traysrch
            Call("search")
    EndSwitch

    If FileReadLine($inipath, 4) = "Enabled=1" Then
        Switch $msgt
            Case $tray_hide
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00050005)
                TrayItemSetState($tray_Restore, $GUI_ENABLE)
                TrayItemSetState($tray_hide, $GUI_DISABLE)
                GUISetState (@SW_HIDE, $gui)
            Case $tray_Restore
                TrayItemSetState($tray_Restore, $GUI_DISABLE)
                TrayItemSetState($tray_hide, $GUI_ENABLE)
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x0004000a)
            Case $tray_exit
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00090000)
                Exit
        EndSwitch
    EndIf

    If _SoundStatus($playlistsong) = "playing" Then
        $1a = _SoundPos($playlistsong, 2)
        $1b = _SoundLength($playlistsong, 2)
        $1e = _SoundPos($playlistsong)
        $1f = _SoundLength($playlistsong)
        $1c = Round(($1a / $1b) * 100)
        $1d = Round((($1b - $1a) / 1000) / 60)
        $txt7 = GUICtrlRead($elapsedt)
        $txt8 = _SoundPos($playlistsong)
        If $txt8 <> $txt7 Then GUICtrlSetData($elapsedt, $txt8)
        $1a1 = StringTrimLeft($1e, 3)
        $1a2 = StringReplace($1a1, ":", ".")
        $1b1 = StringTrimLeft($1f, 3)
        $1b2 = StringReplace($1b1, ":", ".")
        $1c1 = $1a2 - $1b2
        $1c3 = StringReplace($1c1, ".", ":")
        $1c2 = StringReplace($1c3, "-", "")
        $txt1 = GUICtrlRead($remainingt)
        $txt2 = ""
        If $1c1 <= 10 Then $txt2 = "00:0" & $1c2
        If $1c1 > 10 Then $txt2 = "00:" & $1c2
        If $txt2 <> $txt1 Then GUICtrlSetData($remainingt, $txt2)
    EndIf
    
    If $DoubleClicked Then
        DoubleClickFunc()
        $DoubleClicked = False
    EndIf
    
    Sleep(10)
    $ci = GUIGetCursorInfo($gui)
    If $ci[2] = 1 And $ci[4] = $PosSlider Then;user presses on the slider
        _TicksToTime(GUICtrlRead($PosSlider) / 100 * $1b, $hour, $min, $sec)
        ToolTip($hour & ":" & $min & ":" & $sec)
        $var = 1
        ContinueLoop
    EndIf
    If $var = 1 And $ci[2] = 0 Then;only seek after user releases the slider
        _SoundSeek($playlistsong, $hour, $min, $sec)
        _SoundPlay($playlistsong)
        ToolTip('')
        $var = 0
    EndIf
    $1a = _SoundPos($playlistsong, 2)
    $1b = _SoundLength($playlistsong, 2)
    GUICtrlSetData($PosSlider, $1a / $1b * 100); move the slider as the song progresses

    If $1a = $1b Then
        _SoundStop($playlistsong)
        $1 = GUICtrlRead($remainingt)
        $2 = "00:00:00"
        If $2 <> $1 Then GUICtrlSetData($remainingt, $2)
        $3 = GUICtrlRead($elapsedt)
        $4 = "00:00:00"
        If $4 <> $3 Then GUICtrlSetData($elapsedt, $4)
        $5 = GUICtrlRead($PosSlider)
        $6 = "00:00:00"
        If $6 <> $5 Then GUICtrlSetData($PosSlider, $6)
        Sleep(10)
        _GUICtrlStatusBar_SetText($statusbar, "Status :", 0)
    EndIf
    If FileReadLine($inipath, 8) = "Enabled=1" Then
        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]
            $playlistsong = _SoundOpen($playlistsong1)
            _SoundPlay($playlistsong)
            GUICtrlSetState($PosSlider, $GUI_ENABLE)
            GUICtrlSetState($nextbtn, $GUI_ENABLE)
            TrayItemSetState($trayplay, $GUI_ENABLE)
            TrayItemSetState($traystop, $GUI_ENABLE)
            TrayItemSetState($traypause, $GUI_ENABLE)
            TrayItemSetState($traysonginfo, $GUI_ENABLE)
            TrayItemSetState($traynext, $GUI_ENABLE)
            TrayItemSetState($traysrch, $GUI_ENABLE)
            _GUICtrlStatusBar_SetText($statusbar, "Status : Playing ...", 0)
            _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
            _GUICtrlStatusBar_SetText($statusbar, "Title : " & _GetExtProperty($playlistsong1, 10), 2)
            TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
        EndIf
    EndIf
WEnd

;~ Functions

Func play()
    If _SoundStatus($playlistsong) = "playing" Then _SoundStop($playlistsong)
    GUICtrlSetState($PosSlider, $GUI_ENABLE)
    GUICtrlSetState($nextbtn, $GUI_ENABLE)
    TrayItemSetState($trayplay, $GUI_ENABLE)
    TrayItemSetState($traystop, $GUI_ENABLE)
    TrayItemSetState($traypause, $GUI_ENABLE)
    TrayItemSetState($traysonginfo, $GUI_ENABLE)
    TrayItemSetState($traynext, $GUI_ENABLE)
    TrayItemSetState($traysrch, $GUI_ENABLE)
    GUICtrlSetData($PosSlider, "0")
    GUICtrlSetData($elapsedt, "00:00:00")
    GUICtrlSetData($remainingt, "00:00:00")
    $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, "Status : Playing ...", 0)
        _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
        _GUICtrlStatusBar_SetText($statusbar, "Title : " & _GetExtProperty($playlistsong1, 10), 2)
        TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
    Else
        TrayTip("L|M|TER Media Player v. " & $cver, "There are no songs in the playlist or you have not selected a song.", 10)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Error Playing ...", 0)
    EndIf
EndFunc  ;==>play

Func stop()
    GUICtrlSetData($PosSlider, "0")
    GUICtrlSetData($elapsedt, "00:00:00")
    GUICtrlSetData($remainingt, "00:00:00")
    _SoundStop($playlistsong)
    _GUICtrlStatusBar_SetText($statusbar, "Status : Stopped ...", 0)
    TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & "Song stopped ...")
EndFunc  ;==>stop

Func pause()
    If _SoundStatus($playlistsong) = "playing" Then
        _SoundPause($playlistsong)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Paused ...", 0)
        TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & "Song paused ...")
    Else
        _SoundResume($playlistsong)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Playing ...", 0)
        TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
    EndIf
EndFunc  ;==>pause

Func about()
    
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("", 324, 234, 303, 219)
    GUISetBkColor(0xD8E4F8)
    $GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 185)
    $Image1 = GUICtrlCreatePic($loimg, 16, 24, 289, 73, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Label2 = GUICtrlCreateLabel("Version " & $cver, 16, 112, 72, 17, $WS_GROUP)
    GUICtrlSetColor(-1, 0x0000FF)
    $Label4 = GUICtrlCreateLabel("All Rights Reserved.", 16, 160, 100, 17, $WS_GROUP)
    $Label3 = GUICtrlCreateLabel("Copyright 2008 L|M|TER", 16, 136, 141, 17, $WS_GROUP)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $link = GUICtrlCreateLabel("http://limiter.evonet.ro", 192, 160, 109, 17)
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetCursor(-1, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("&OK", 115, 208, 75, 25)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00080000);fade-in
    GUISetState(@SW_SHOW)
    _GUIEnhanceAnimateTitle($Form1, "About L|M|TER Media Player", $GUI_EN_TITLE_DROP)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00090000)
                GUIDelete($Form1)
                ExitLoop
            Case $Button1
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00090000)
                GUIDelete($Form1)
                ExitLoop
            Case $link
                _IECreate("http://limiter.evonet.ro")
        EndSwitch
    WEnd

EndFunc  ;==>about

Func help()

    $Form2 = GUICreate("", 412, 335, 267, 175)
    GUISetBkColor(0xD8E4F8)
    $Group1 = GUICtrlCreateGroup("L|M|TER Media Player Help", 5, 5, 400, 290)
    $Edit1 = GUICtrlCreateEdit("", 15, 25, 380, 259, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_HSCROLL, $WS_VSCROLL))
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetData(-1, StringFormat(".-=-. L|M|TER Media Player v." & $cver & " .-=-.\r\n\r\n-=> General Questions\r\n\r\n1. How can I add files ?\r\n\r\nYou can add files by pressing the BROWSE button or, you can right-click\r\nthe playlist and select ADD A FILE or ADD A FOLDER.\r\n\r\n2. How can I play files ?\r\n\r\nYou can play files simply by selecting a file in the playlist and press the\r\nPLAY button, or you can double-click a file in the playlist, or by\r\nright-clicking a song in the playlist and select PLAY.\r\n\r\n-=> Settings\r\n\r\n3. What does the Auto-Update feature ?\r\n\r\nThe Auto-Update feature checks at every start of LMP for the newest\r\nversion.\r\n\r\n4. What does the Minimize To Tray feature ?\r\n\r\nThe Minimize To Tray feature let" & Chr(39) & "s you minimize LMP to tray when playing\r\nsongs or when in standy.\r\n\r\n5. What does the Hiding Playlist feature ?\r\n\r\nThe Hiding Playlist let" & Chr(39) & "s you hide the playlist when creating playlist to\r\nencrease the speed.\r\n\r\n6. What does the Shuffle feature ?\r\n\r\nThe Shuffle feature plays a random song when a song ends to play in a\r\nmore fluctuous way, without stops. \r\n\r\n.-=-. L|M|TER Media Player © 2008 L|M|TER .-=-.\r\n\r\nFor more information, feel free to contact me at : \r\n\r\npascserban@gmail.com\r\n\r\n.-=+> THANKS FOR USING LMP !!! <+=-."))
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $helpok = GUICtrlCreateButton("&OK", 165, 300, 75, 25, 0)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form2, "int", 1000, "long", 0x00080000);fade-in
    GUISetState(@SW_SHOW)
    _GUIEnhanceAnimateTitle($Form2, "Help", $GUI_EN_TITLE_DROP)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form2, "int", 1000, "long", 0x00090000)
                GUIDelete($Form2)
                ExitLoop
            Case $helpok
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form2, "int", 1000, "long", 0x00090000)
                GUIDelete($Form2)
                ExitLoop
        EndSwitch
    WEnd

EndFunc  ;==>help

Func update()

    $lmpupdate = GUICreate("LMP - " & $cver, 258, 66, 193, 125)
    GUISetBkColor(0xD8E4F8)
    $txt = GUICtrlCreateLabel("There is a new version { " & $nver & " ) of LMP available !", 8, 8, 238, 17)
    GUICtrlSetCursor(-1, 0)
    $dldb = GUICtrlCreateButton("Download Now !", 8, 32, 91, 25, 0)
    $okb = GUICtrlCreateButton("Download Later !", 160, 32, 91, 25, 0)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $lmpupdate, "int", 1000, "long", 0x00080000)
    GUISetState(@SW_SHOW)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($lmpupdate)
                ExitLoop
            Case $dldb
                $newlmp = @ScriptDir & "\lmp.new.exe"
                GUIDelete($lmpupdate)
                InetGet("http://limiter.evonet.ro/lmp.exe", $newlmp, 1, 1)
                If @error Then
                    MsgBox(32, "LMP Update", "There was a problem contacting the update server ..." & @LF & "Please try again later !")
                    GUIDelete($lmpupdate)
                    ExitLoop
                EndIf
                While @InetGetActive
                    $i_BytesRead = @InetGetBytesRead
                    $i_DownSize = InetGetSize("http://limiter.evonet.ro/lmp.exe")
                    $percent = Round($i_BytesRead / $i_DownSize * 100)
                    $Time = @SEC
                    $Bytes = Round(@InetGetBytesRead)
                    While @SEC = $Time
                    WEnd
                    $NewBytes = Round(@InetGetBytesRead)
                    $speed = ($NewBytes - $Bytes) / 1024 & " KB/s"
                    
                    TrayTip("L|M|TER Media Player", "Please wait while the new version" & @LF & "of LMP is downloading ..." & @LF & $percent & "% ... done  -  " & $speed, 1, 1)
                WEnd
                TrayTip("L|M|TER Media Player", "Please wait while LMP restarts ...", 1)
            ;exit old v ... starting new v
                $sFilePath = @TempDir & "\lmp.bat"
                _FileCreate($sFilePath)
                $file = FileOpen($sFilePath, 1)
                FileWrite($file, "taskkill /im lmp.exe" & @CRLF)
                FileWrite($file, "@echo Starting the new version of LMP" & @CRLF)
                FileWrite($file, "cd " & @ScriptDir & "\" & @CRLF)
                FileWrite($file, "del lmp.exe" & @CRLF)
                FileWrite($file, "rename lmp.new.exe lmp.exe" & @CRLF)
                FileWrite($file, "lmp.exe" & @CRLF)
                FileWrite($file, "exit" & @CRLF)
                FileClose($file)
                Run($sFilePath, "", @SW_HIDE)
                Exit
                ExitLoop
            Case $okb
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $lmpupdate, "int", 1000, "long", 0x00090000)
                GUIDelete($lmpupdate)
                ExitLoop
        EndSwitch
    WEnd
EndFunc  ;==>update

Func add()
    $pcdir = FileSelectFolder("Please select a folder to add to the playlist", @HomeDrive)
    If @error = 1 Then
        MsgBox(48, "L|M|TER Media Player", "Please select a folder")
    ElseIf $pcdir = "" Then
        MsgBox(48, "L|M|TER Media 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)")
    ProgressOn("L|M|TER Media Player", "Creating playlist ...", "", -1, -1, 16)
    For $i = 1 To $filesArray[0]
        $path = $filesArray[$i]
        $artist1 = _GetExtProperty($path, 16) & "|"
        $title1 = _GetExtProperty($path, 10) & "|"
        $album1 = _GetExtProperty($path, 17) & "|"
        GUICtrlCreateListViewItem($artist1 & $title1 & $album1 & $path, $playlist)
        $percent = Round($i / $filesArray[0] * 100)
        ProgressSet($percent, $percent & "% done")
        Sleep(100)
        If $percent > 100 then
            Return
        EndIf
    Next
    If FileReadLine($inipath, 6) = "Enabled=1" Then GUICtrlSetState($playlist, $GUI_SHOW)
EndFunc  ;==>pcdir

Func remove()
    $selected = GUICtrlRead($playlist)
    GUICtrlDelete($selected)
EndFunc  ;==>remove

Func songgui()
    #Region ### START Koda GUI section ### Form=
    $songgui = GUICreate("", 413, 298, 258, 186)
    GUISetBkColor(0xD8E4F8)
    $bitrate = GUICtrlCreateLabel("Bit Rate : None", 12, 273, 300, 18)
    GUICtrlSetFont($bitrate, Default, "800")
    GUICtrlSetData($bitrate, "Bit Rate : " & _GetExtProperty($playlistsong1, 22))
    $tracknr = GUICtrlCreateLabel("Track Number : None", 12, 249, 400, 18)
    GUICtrlSetFont($tracknr, Default, "800")
    GUICtrlSetData($tracknr, "Track Number : " & _GetExtProperty($playlistsong1, 19))
    $ttime = GUICtrlCreateLabel("Duration : None", 12, 225, 400, 18)
    GUICtrlSetFont($ttime, Default, "800")
    GUICtrlSetData($ttime, "Duration : " & _GetExtProperty($playlistsong1, 21))
    $comments = GUICtrlCreateLabel("Comments : None", 12, 201, 400, 18)
    GUICtrlSetFont($comments, Default, "800")
    GUICtrlSetData($comments, "Comments : " & _GetExtProperty($playlistsong1, 14))
    $protected = GUICtrlCreateLabel("Protected : None", 12, 177, 400, 18)
    GUICtrlSetFont($protected, Default, "800")
    GUICtrlSetData($protected, "Protected : " & _GetExtProperty($playlistsong1, 23))
    $copyright = GUICtrlCreateLabel("Copyright : None", 12, 153, 400, 18)
    GUICtrlSetFont($copyright, Default, "800")
    GUICtrlSetData($copyright, "Copyright : " & _GetExtProperty($playlistsong1, 15))
    $author = GUICtrlCreateLabel("Author : None", 12, 129, 400, 18)
    GUICtrlSetFont($author, Default, "800")
    GUICtrlSetData($author, "Author : " & _GetExtProperty($playlistsong1, 9))
    $genre = GUICtrlCreateLabel("Genre : None", 12, 105, 400, 18)
    GUICtrlSetFont($genre, Default, "800")
    GUICtrlSetData($genre, "Genre : " & _GetExtProperty($playlistsong1, 20))
    $year = GUICtrlCreateLabel("Year : None", 12, 81, 400, 18)
    GUICtrlSetFont($year, Default, "800")
    GUICtrlSetData($year, "Year : " & _GetExtProperty($playlistsong1, 18))
    $album = GUICtrlCreateLabel("Album : None", 12, 57, 400, 18)
    GUICtrlSetFont($album, Default, "800")
    GUICtrlSetData($album, "Album : " & _GetExtProperty($playlistsong1, 17))
    $title = GUICtrlCreateLabel("Title : None", 12, 33, 400, 18)
    GUICtrlSetFont($title, Default, "800")
    GUICtrlSetData($title, "Title : " & _GetExtProperty($playlistsong1, 10))
    $artist = GUICtrlCreateLabel("Artist : None", 12, 9, 400, 18)
    GUICtrlSetFont($artist, Default, "800")
    GUICtrlSetData($artist, "Artist : " & _GetExtProperty($playlistsong1, 16))
    $ok = GUICtrlCreateButton("&OK", 328, 264, 75, 25, 0)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $songgui, "int", 1000, "long", 0x00080000);fade-in
    GUISetState(@SW_SHOW)
    _GUIEnhanceAnimateTitle($songgui, "Song Information", $GUI_EN_TITLE_DROP)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $songgui, "int", 1000, "long", 0x00090000)
                GUIDelete($songgui)
                ExitLoop
            Case $ok
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $songgui, "int", 1000, "long", 0x00090000)
                GUIDelete($songgui)
                ExitLoop
        EndSwitch
    WEnd
EndFunc  ;==>songgui

Func updchk()
    InetGet("http://limiter.evonet.ro/lmp.ver", @TempDir & "\lmp.ver", 1, 1)
    If @error Then MsgBox(32, "LMP Update", "There was a problem contacting the server, try again later ...")
    While @InetGetActive
    WEnd
    $dat = FileOpen(@TempDir & "\lmp.ver", 0)
    Global $nver = FileReadLine($dat, 1)
    FileClose($dat)
    If $nver = $cver Then
        MsgBox(32, "L|M|TER Media Player", "You have the latest version of LMP ..." & @CRLF & @CRLF & "Current version : " & $cver & @CRLF & "Server version : " & $nver)
    EndIf
    If $nver > $cver Then
        Call("update")
    EndIf
EndFunc  ;==>updchk

Func settings()
    #Region ### START Koda GUI section ### Form=
    $settingsgui = GUICreate("L|M|TER Media Player Settings", 339, 219, 196, 128)
    GUISetBkColor(0xD8E4F8)
    $Group1 = GUICtrlCreateGroup("Auto-Update Feature", 8, 8, 155, 73)
    $enable = GUICtrlCreateRadio("Enabled ( Recommended )", 16, 32, 145, 17)
    If FileReadLine($inipath, 2) = "Enabled=1" Then GUICtrlSetState($enable, $GUI_CHECKED)
    $disable = GUICtrlCreateRadio("Disabled", 16, 56, 57, 17)
    If FileReadLine($inipath, 2) = "Enabled=0" Then GUICtrlSetState($disable, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $apply = GUICtrlCreateButton("Apply and exit", 8, 184, 322, 25)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Group2 = GUICtrlCreateGroup("Minimize To Tray", 176, 8, 155, 73)
    $minenabled = GUICtrlCreateRadio("Enabled ( Recommended )", 184, 32, 145, 17)
    If FileReadLine($inipath, 4) = "Enabled=1" Then GUICtrlSetState($minenabled, $GUI_CHECKED)
    $mindisabled = GUICtrlCreateRadio("Disabled", 184, 56, 113, 17)
    If FileReadLine($inipath, 4) = "Enabled=0" Then GUICtrlSetState($mindisabled, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Hide Playlist When Adding", 8, 96, 155, 73)
    $showen = GUICtrlCreateRadio("Enabled ( Recommended )", 16, 120, 145, 17)
    If FileReadLine($inipath, 6) = "Enabled=1" Then GUICtrlSetState($showen, $GUI_CHECKED)
    $showdis = GUICtrlCreateRadio("Disabled", 16, 144, 145, 17)
    If FileReadLine($inipath, 6) = "Enabled=0" Then GUICtrlSetState($showdis, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("Shuffle", 176, 96, 155, 73)
    $randen = GUICtrlCreateRadio("Enabled ( Recommended )", 184, 120, 145, 17)
    If FileReadLine($inipath, 8) = "Enabled=1" Then GUICtrlSetState($randen, $GUI_CHECKED)
    $disen = GUICtrlCreateRadio("Disabled", 184, 144, 145, 17)
    If FileReadLine($inipath, 8) = "Enabled=0" Then GUICtrlSetState($disen, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $settingsgui, "int", 1000, "long", 0x00080000);fade-in
    GUISetState(@SW_SHOW)
    #EndRegion ### START Koda GUI section ### Form=

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $settingsgui, "int", 1000, "long", 0x00090000);fade-out
                GUIDelete($settingsgui)
                ExitLoop
            Case $apply
                If GUICtrlRead($enable) = 1 Then IniWriteSection($inipath, "Auto-Update", "Enabled=1")
                If GUICtrlRead($disable) = 1 Then IniWriteSection($inipath, "Auto-Update", "Enabled=0")
                If GUICtrlRead($minenabled) = 1 Then IniWriteSection($inipath, "Minimize To Tray", "Enabled=1")
                If GUICtrlRead($mindisabled) = 1 Then IniWriteSection($inipath, "Minimize To Tray", "Enabled=0")
                If GUICtrlRead($showen) = 1 Then IniWriteSection($inipath, "Playlist-Hide", "Enabled=1")
                If GUICtrlRead($showdis) = 1 Then IniWriteSection($inipath, "Playlist-Hide", "Enabled=0")
                If GUICtrlRead($randen) = 1 Then IniWriteSection($inipath, "Random", "Enabled=1")
                If GUICtrlRead($disen) = 1 Then IniWriteSection($inipath, "Random", "Enabled=0")
                DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $settingsgui, "int", 1000, "long", 0x00090000);fade-out
                GUIDelete($settingsgui)
                ExitLoop
        EndSwitch
    WEnd
EndFunc  ;==>settings

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]
        $playlistsong = _SoundOpen($playlistsong1)
        _SoundPlay($playlistsong)
        GUICtrlSetState($PosSlider, $GUI_ENABLE)
        GUICtrlSetState($nextbtn, $GUI_ENABLE)
        TrayItemSetState($trayplay, $GUI_ENABLE)
        TrayItemSetState($traystop, $GUI_ENABLE)
        TrayItemSetState($traypause, $GUI_ENABLE)
        TrayItemSetState($traysonginfo, $GUI_ENABLE)
        TrayItemSetState($traynext, $GUI_ENABLE)
        TrayItemSetState($traysrch, $GUI_ENABLE)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Playing ...", 0)
        _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
        _GUICtrlStatusBar_SetText($statusbar, "Title : " & _GetExtProperty($playlistsong1, 10), 2)
        TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
    Else
        TrayTip("L|M|TER Media Player v. " & $cver, "There are no songs in the playlist or you have not selected a song.", 10)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Error Playing ...", 0)
    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, "L|M|TER Media Player", "Please select a file to add !")
    EndIf
EndFunc  ;==>AddFile

Func search()
    $searchstring = InputBox("L|M|TER Media Player", "Please enter the word to search in the playlist for :", "", " M")
    If @error = 1 Then
    Else
        $playlisthandle = GUICtrlGetHandle($playlist)
        $index = _GUICtrlListView_FindInText($playlisthandle, $searchstring)
        $searchtxt = _GUICtrlListView_GetItemTextArray($playlisthandle, $index)
        If _SoundStatus($playlistsong) = "playing" Then _SoundStop($playlistsong)
        $playlistsong1 = $searchtxt[4]
        $playlistsong = _SoundOpen($playlistsong1)
        _SoundPlay($playlistsong)
        GUICtrlSetState($PosSlider, $GUI_ENABLE)
        GUICtrlSetState($nextbtn, $GUI_ENABLE)
        TrayItemSetState($trayplay, $GUI_ENABLE)
        TrayItemSetState($traystop, $GUI_ENABLE)
        TrayItemSetState($traypause, $GUI_ENABLE)
        TrayItemSetState($traysonginfo, $GUI_ENABLE)
        TrayItemSetState($traynext, $GUI_ENABLE)
        TrayItemSetState($traysrch, $GUI_ENABLE)
        _GUICtrlStatusBar_SetText($statusbar, "Status : Playing ...", 0)
        _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
        _GUICtrlStatusBar_SetText($statusbar, "Title : " & _GetExtProperty($playlistsong1, 10), 2)
        TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
    EndIf
EndFunc  ;==>search

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)
    $playlistsong1 = $next1[4]
    $playlistsong = _SoundOpen($playlistsong1)
    _SoundPlay($playlistsong)
    GUICtrlSetState($PosSlider, $GUI_ENABLE)
    GUICtrlSetState($nextbtn, $GUI_ENABLE)
    TrayItemSetState($trayplay, $GUI_ENABLE)
    TrayItemSetState($traystop, $GUI_ENABLE)
    TrayItemSetState($traypause, $GUI_ENABLE)
    TrayItemSetState($traysonginfo, $GUI_ENABLE)
    TrayItemSetState($traynext, $GUI_ENABLE)
    TrayItemSetState($traysrch, $GUI_ENABLE)
    _GUICtrlStatusBar_SetText($statusbar, "Status : Playing ...", 0)
    _GUICtrlStatusBar_SetText($statusbar, "Artist : " & _GetExtProperty($playlistsong1, 16), 1)
    _GUICtrlStatusBar_SetText($statusbar, "Title : " & _GetExtProperty($playlistsong1, 10), 2)
    TraySetToolTip("L|M|TER Media Player v. " & $cver & @CRLF & _GetExtProperty($playlistsong1, 16) & " - " & _GetExtProperty($playlistsong1, 10))
EndFunc  ;==>nexts
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...