Title= Winamp Button v0.5 From= bLisTeRinG 2006 #Persistent #SingleInstance FileInstall, WinampB.ini, %A_ScriptDir%\WinampB.ini, 0 FileInstall, Winamp1.ico, %A_ScriptDir%\Winamp1.ico, 0 FileInstall, Winamp2.ico, %A_ScriptDir%\Winamp2.ico, 0 FileInstall, Winamp3.ico, %A_ScriptDir%\Winamp3.ico, 0 db = 0 mr = 0 iniP = %A_ScriptDir%\WinampB.ini wTitle = Winamp 2.91 If %0% <> 0 { iPath = %1% } Else { iniRead, iPath, %iniP%, options, iniPath } iniRead, db, %iPath%, options, debug iniRead, mr, %iPath%, options, more iniRead, sMenu, %iPath%, options, StartMenuPos iniRead, wPath, %iPath%, options, winamp iniRead, ico1, %iPath%, options, InIcon iniRead, ico2, %iPath%, options, OutIcon iniRead, ico3, %iPath%, options, OnIcon ;;; MsgBox, %iPath% `nMore:%mr% Debug:%db%`nico1:`t%ico1%`nico2:`t%ico2%`nico3:`t%ico3% iniRead, wCol, %iPath%, options, wAmpIconCol iniRead, eCol, %iPath%, options, edIconCol iniRead, bCol, %iPath%, options, blissIconCol Menu, Tray, Icon, %ico1% Menu, Tray, Tip, Winamp Button IfNotExist, %wPath% { GoSub, wampF } Menu, Tray, add, &Winamp, Winamp Menu, Tray, add, « &Back, WinBack Menu, Tray, add, ¤ &Stop, WinStop Menu, Tray, add, » &Next, WinNext Menu, Tray, add, ± &Jump ..., wJmp DetectHiddenWindows, On DetectHiddenText, On IfWinExist, Winamp { Menu, Tray, Check, &Winamp Menu, Tray, Icon, %ico2% SetTitleMatchMode, 2 SendMessage, 1024, 0, 120, , ahk_class Winamp v1.x If ErrorLevel <> FAIL { ErrorLevel++ ; Winamp's count starts at "0", so adjust by 1. Track = %ErrorLevel% SendMessage, 1024, 0, 120, ,[Stopped] If ErrorLevel <> FAIL { If db = 1 { MsgBox, Winamp is Stopped at`nPlaylist number %Track%.`n } wAmp = v ; assume wAmp has track(s) not playing. Menu, Tray, Rename, ¤ &Stop, ¤ &Play Menu, Tray, Icon, %ico2% } Else { If Track = 4294967296 { If db = 1 { MsgBox, Winamp has no Playlist Track(s) or File(s). } wAmp = x } Else { IfWinExist, Paused { wAmp = x Menu, Tray, Icon, %ico2% If db = 1 { MsgBox, Winamp is Paused at`nPlaylist number %Track%.`n } } Else { wAmp = x Menu, Tray, Icon, %ico3% If db = 1 { MsgBox, Winamp is Playing `nPlaylist number %Track%.`n } } } } } Else { If db = 1 { MsgBox, Couldn't read Winamp Err=%ErrorLevel%. } wAmp = x } } Else { If db = 1 { MsgBox, Winamp isn't loaded right now! } wAmp = x } Menu, Tray, add, P&references, wOps Menu, Tray, add, Sh&ow, WinShow Menu, Tray, add, &Close, WinampX Menu, Tray, add ;separator Menu, Audio, add, &Devices, aGetDev Menu, Audio, add, &Volumes, Mixer Menu, Tray, add, Audio,:Audio Menu, Tray, add ;separator Menu, Tray, add, %A_SPACE% &Folder ..., LocD Menu, Tray, add, %A_SPACE% &File(s) ..., LocF Menu, Tray, add, %A_SPACE% &Url ..., Loca iniRead, U1, %iPath%, bName, 1, iniRead, U2, %iPath%, bName, 2 iniRead, U3, %iPath%, bName, 3 iniRead, U4, %iPath%, bName, 4 iniRead, U5, %iPath%, bName, 5 iniRead, U6, %iPath%, bName, 6 iniRead, U7, %iPath%, bName, 7 iniRead, U8, %iPath%, bName, 8 iniRead, U9, %iPath%, bName, 9 If U1 <> , { Menu, Tray, add, &1 %U1%, Ur1 } If U2 <> , { Menu, Tray, add, &2 %U2%, Ur2 } If U3 <> , { Menu, Tray, add, &3 %U3%, Ur3 } If U4 <> , { Menu, Tray, add, &4 %U4%, Ur4 } If U5 <> , { Menu, Tray, add, &5 %U5%, Ur5 } If U6 <> , { Menu, Tray, add, &6 %U6%, Ur6 } If U7 <> , { Menu, Tray, add, &7 %U7%, Ur7 } If U8 <> , { Menu, Tray, add, &8 %U8%, Ur8 } If U9 <> , { Menu, Tray, add, &9 %U9%, Ur9 } Menu, Tray, add ;separator Menu, Tray, add, &More, Morez Menu, Tray, add, &Help, Help Menu, Tray, add, E&xit, Exit Menu, Tray, Default, &Winamp Menu, Tray, NoStandard SetEnv, standard, n If mr = 1 { GoSub mores } Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Hotkeys #1:: If U1 <> , { Goto, Ur1 } Return #2:: If U2 <> , { Goto, Ur2 } Return #3:: If U3 <> , { Goto, Ur3 } Return #4:: If U4 <> , { Goto, Ur4 } Return #5:: If U5 <> , { Goto, Ur5 } Return #6:: If U6 <> , { Goto, Ur6 } Return #7:: If U7 <> , { Goto, Ur7 } Return #8:: If U8 <> , { Goto, Ur8 } Return #9:: If U9 <> , { Goto, Ur9 } Return #0:: DetectHiddenWindows, on SetTitleMatchMode, 2 PostMessage, 0x111, 32800,,,ahk_id 4294594829 ; Winamp apparently! ; #32768 ; 752 ; ÂÂ-1 ; SetTitleMatchMode, 2 ; WinMenuSelectItem, ahk_id 4294594829, , 1&, msgbox, Win + 0 Return bLisTeRinGButton: #CTRL:: CoordMode, Mouse, Screen MouseGetPos, hoX, hoY, hoID try = %bCol% GoSub mTray EnvSub, x, 80 EnvAdd, y, 120 MouseMove, %x%, %y% Gosub, hoHome Return EditPadButton: #Shift:: CoordMode, Mouse, Screen MouseGetPos, hoX, hoY, hoID DetectHiddenWindows, On DetectHiddenText, On SetTitleMatchMode, 2 IfWinExist, EditPad { try = %eCol% GoSub mTray MouseClick, R MouseMove, 32, -5, ,R Sleep, 2000 ;EnvSub, x, 16 ;EnvAdd, y, 32 ;MouseMove, %x%, %y% Gosub, hoHome Return } Else { Tooltip, Running Editpad Run, EditPad.exe WinWaitActive, EditPad Tooltip, } Gosub, hoHome Return WinampButton: #Space:: Menu,Tray,show Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Menu Routines 1 Winamp: DetectHiddenWindows, On SetTitleMatchMode, 2 IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { GoSub WinShow Return } } IfWinExist, Stopped { GoSub WinStop } Else { IfWinExist, Paused { ControlSend, ahk_parent, c ; Pause/Unpause Menu, Tray, Icon, %ico3% } Else { ControlSend, ahk_parent, c Menu, Tray, Icon, %ico2% } } Return WinBack: DetectHiddenWindows, On SetTitleMatchMode, 2 IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { Goto, wGone } } ControlSend, ahk_parent, z SetTitleMatchMode, 2 SendMessage, 1024, 0, 120, , ahk_class Winamp v1.x If ErrorLevel <> FAIL { IfEqual, ErrorLevel, 4294967295 { Return } ErrorLevel++ ToolTip, Track %ErrorLevel% Sleep, 400 ToolTip, } Return WinStop: DetectHiddenWindows, On DetectHiddenText, On SetTitleMatchMode, 2 IfWinExist, - Winamp { If wAmp = v { IfWinExist, Stopped { ;;; MsgBox, Stopped stop wAmp = x Menu, Tray, Rename, ¤ &Play, ¤ &Stop Menu, Tray, Icon, %ico3% } Else { ;;; MsgBox, Stopped play Menu, Tray, Icon, %ico2% } } Else { IfWinExist, Stopped { ;;; MsgBox, Played stop Menu, Tray, Icon, %ico3% } Else { ;;; MsgBox, Played play wAmp = v Menu, Tray, Rename, ¤ &Stop, ¤ &Play Menu, Tray, Icon, %ico2% } } GoSub, WinStopGo } ;Goto, wGone Return WinStopGo: IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { Goto, wGone } } ControlSend, ahk_parent, %wAmp% Return WinNext: DetectHiddenWindows, On SetTitleMatchMode, 2 IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { Goto, wGone } } ControlSend, ahk_parent, b SetTitleMatchMode, 2 SendMessage, 1024, 0, 120, , ahk_class Winamp v1.x IfEqual, ErrorLevel, 4294967295 { Return } If ErrorLevel <> FAIL { ErrorLevel++ ToolTip, Track %ErrorLevel% Sleep, 3000 ToolTip, } Return wJmp: DetectHiddenWindows, On SetTitleMatchMode, 2 IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { Goto, wGone } } ControlSend, ahk_parent, j Return wOps: DetectHiddenWindows, On SetTitleMatchMode, 2 IfWinNotExist, - Winamp { IfWinNotExist, %wTitle% { Goto, wGone } } ControlSend, ahk_parent, {CtrlDown}p{CtrlUp} Return WinShow: Run, %wPath% Menu, Tray, Check, &Winamp DetectHiddenWindows, On SetTitleMatchMode, 2 WinWaitActive, ahk_class Winamp v1.x, Winamp, 32, IfWinExist, Stopped { Menu, Tray, Icon, %ico2% } Else { ;;; MsgBox, not stopped IfWinExist, Paused { Menu, Tray, Icon, %ico2% } Else { ;;; MsgBox, not paused IfWinExist, - Winamp { ;MsgBox, something playing Menu, Tray, Icon, %ico3% } Else { ;;; MsgBox, not playing IfWinExist, %wTitle% { Menu, Tray, Icon, %ico2% } Else { ;;; MsgBox, not with file Menu, Tray, Icon, %ico1% } } } } Return WinampX: DetectHiddenWindows, On DetectHiddenText, On WinKill, ahk_class Winamp v1.x wGone: GoSub, Unchek GoSub, wUnchek Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Menu Routines 2 Mixer: Run, Sndvol32.exe WinActivate, Volume Control Return aGetDev: Inputbox, dev, Audio Device Number, `n`n`nChoose an audio device number...,,280,180,,,,,1 If ErrorLevel = 1 { SplashTextOff Return } Inputbox, devi, Audio Device Component, `nLine Cd`nMicrophone Wave Synth`nDigital Analog`nPcSpeaker Aux Telephone,,280,180,,,,,Master If ErrorLevel = 1 { SplashTextOff Return } Inputbox, devic, Audio Device Control, Device%dev% %devi%...`n`nVolume Mute On Off Pan`nMono StereoEnh`nBassBoost Loudness Bass Treble Equalizer,,280,180,,,,,Volume If ErrorLevel = 1 { SplashTextOff Return } SoundGet, mess,%devi%,%devic%,%dev% If ErrorLevel <> 0 { SplashTextOn ,350,60,Audio Device Message,Device%dev% %devi% %devic%...`n%ErrorLevel% WinMove, Audio Device Message, , 10, 10 } Else { SplashTextOn ,350,60,Audio Device Message,Device%dev% %devi% %devic%...`n%mess% WinMove, Audio Device Message, , 10, 10 } Inputbox, mess, Audio Device Control, Device%dev% %devi% %devic% = %mess%...`n`nEnter a new value or...`nLeave it alone.`n ,,280,180,,,,,%mess% If ErrorLevel = 1 { SplashTextOff Return } SoundSet, %mess%,%devi%,%devic%,%dev% If ErrorLevel <> 0 { SplashTextOn ,350,60,Audio Device Value,Device%dev% %devi% %devic%...`n%ErrorLevel% WinMove, Audio Device Value, , 10, 10 } Else { SplashTextOn ,350,60,Audio Device Value,Device%dev% %devi% %devic%...`n%mess% WinMove, Audio Device Value, , 10, 10 } mess = dev = Goto aGetDev Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Menu Routines 3 Ur1: Uy = 1 Uz = %U1% Goto, UGet Ur2: Uy = 2 Uz = %U2% Goto, UGet Ur3: Uy = 3 Uz = %U3% Goto, UGet Ur4: Uy = 4 Uz = %U4% Goto, UGet Ur5: Uy = 5 Uz = %U5% Goto, UGet Ur6: Uy = 6 Uz = %U6% Goto, UGet Ur7: Uy = 7 Uz = %U7% Goto, UGet Ur8: Uy = 8 Uz = %U8% Goto, UGet Ur9: Uy = 9 Uz = %U9% Goto, UGet UGet: iniRead, Url, %iPath%, bAddr, %Uy% GoSub, Unchek Menu, Tray, Check, &%Uy% %Uz% Uy = Uz = Loca: StringLen, UrlNum, Url If UrlNum = 0 { InputBox, Url, Enter a URL,,,280,100,,,,,http:// If ErrorLevel <> 0, { Goto J1 } GoSub, Unchek Menu, Tray, Check, %A_SPACE% &Url ... Goto, Loca } DetectHiddenWindows, On DetectHiddenText, On If db = 1 { MsgBox, , Open a Location, `nCommand:`n%wPath% %Url% } RunWait, %wPath% "%Url%" If db = 1 { MsgBox, `%Err:%ErrorLevel% for`n`nRunWait:%wPath%`n`nWith:%Url% } GoSub, wChek J1: Url = UrlNum = DetectHiddenText, Off DetectHiddenWindows, Off Return LocD: iniRead, wExt, %iPath%, options, extensions FileSelectFolder, Fold, 4, ,Select Folder to Open, %wExt% StringLen, FilzNum, Fold If FilzNum = 0 { Goto LocX } If db = 1 { MsgBox, , Folder to Play, Loading...`n %Fold%, 6 } Run, %wPath% "%Fold%" GoSub, Unchek Menu, Tray, Check, %A_SPACE% &Folder ... GoSub, wChek If wAmp = v { Menu, Tray, Rename, ¤ &Play, ¤ &Stop wAmp = x } Menu, Tray, Icon, %ico3% ;GoSub, WinStopGo Goto LocX LocF: iniRead, wExt, %iPath%, options, extensions FileSelectFile, Filz, 4, ,Select File(s) to Play, %wExt% StringLen, FilzNum, Filz If FilzNum = 0 { Goto LocX } Loop, parse, Filz, `n { If A_LoopField = ; A BLANK field marks the end of the list. { If a_index = 2 Fiz = "%Pathz%" break } If a_index = 1 { If db = 1 { MsgBox, The selected Path/File:`n %A_LoopField%. } StringReplace, Pathz, A_LoopField, `n, , all } Else { If db = 1 { MsgBox, 4, , The next file is:`n %A_LoopField%. Continue? IfMsgBox, No, break } StringReplace, Filez, A_LoopField, `n, , all Fiz = "%Pathz%\%Filez%" %Fiz% } } If db = 1 { MsgBox, , Files to Play, Loading...`n %Fiz%, 6 } Run, %wPath% %Fiz% GoSub, Unchek Menu, Tray, Check, %A_SPACE% &File(s) ... GoSub, wChek If wAmp = v { Menu, Tray, Rename, ¤ &Play, ¤ &Stop wAmp = x } Menu, Tray, Icon, %ico3% ;GoSub, WinStopGo LocX: Filz = FilzNum = Pathz = Filez = Fiz = Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Subroutines Help: MsgBox, ,Winamp HotKey Help, %Title%`n%from%`n_____WinampB______`nWin+1...0`tBookmark 1...9`n`n__AezayCaptionDraw__`nWin+up`tVolume Up`nWin+dn`tVolume Dn`nWin+left`tRewind`nWin+rite`tFastFwd`nWin+z`tBack`nWin+x`tPlay`nWin+c`tPause`nWin+v`tStop`nWin+b`tFwd`nWin+q`tQuit`nWin+j`tJump`nWin+t`ton Top`n`n____SoundControl____`nWin+O`tOpen`nWin+P`tPreferences`nWin+S`tSound Ctrl ;;; %a_space%Winamp Button v0.4b`n%a_space%©2006 bLisTeRinG`n_____WinampB______`nWin+1...0`tBookmark 1...9`n`n__AezayCaptionDraw__`nWin+up`tVolume Up`nWin+dn`tVolume Dn`nWin+left`tRewind`nWin+rite`tFastFwd`nWin+z`tBack`nWin+x`tPlay`nWin+c`tPause`nWin+v`tStop`nWin+b`tFwd`nWin+q`tQuit`nWin+j`tJump`nWin+t`ton Top`n`n____SoundControl____`nWin+O`tOpen`nWin+P`tPreferences`nWin+S`tSound Ctrl Return ; ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ hoHome: CoordMode, Mouse, Screen MouseMove, %hoX%, %hoY% WinActivate, %hoID% hoX = hoY = hoID = hoCtl = x = y = xx = yy = xy = yx = try = Return mTray: CoordMode, Mouse, Screen CoordMode, Pixel, Screen If sMenu = top { xy = 1 yy = 30 MouseMove, 640, 1 } Else { xy = %A_ScreenHeight% yy = %A_ScreenHeight% EnvSub, xy, 30 EnvSub, yy, 1 MouseMove, 640, %yy% } yx = %A_ScreenWidth% EnvSub, yx, 1 xx = %yx% EnvSub, xx, 100 err = PixelSearch, x, y, %xx%, %xy%, %yx%, %yy%, %try%, 2, ; RGB If ErrorLevel <> 0 { Msgbox, Error:`tColour %try% not found!`nEdit:`t%iPath%`nError:`t%ErrorLevel%`nFrom:`t%xx% x %xy%`nTo:`t%yx% x %yy% err = 1 Return } MouseMove, %x%, %y% hoho = Return Unchek: Menu, Tray, Uncheck, %A_SPACE% &Url ... Menu, Tray, Uncheck, %A_SPACE% &File(s) ... Menu, Tray, Uncheck, %A_SPACE% &Folder ... If U1 <> , { Menu, Tray, Uncheck, &1 %U1% } If U2 <> , { Menu, Tray, Uncheck, &2 %U2% } If U3 <> , { Menu, Tray, Uncheck, &3 %U3% } If U4 <> , { Menu, Tray, Uncheck, &4 %U4% } If U5 <> , { Menu, Tray, Uncheck, &5 %U5% } If U6 <> , { Menu, Tray, Uncheck, &6 %U6% } If U7 <> , { Menu, Tray, Uncheck, &7 %U7% } If U8 <> , { Menu, Tray, Uncheck, &8 %U8% } If U9 <> , { Menu, Tray, Uncheck, &9 %U9% } Return wChek: Menu, Tray, Check, &Winamp Menu, Tray, Icon, %ico2% Return wUnchek: Menu, Tray, Uncheck, &Winamp Menu, Tray, Icon, %ico1% Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Menu Routines 4 Exit: ExitApp Return Morez: If mr = 1 { mr = 0 } Else { mr = 1 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Configuration Menu Mores: If mr = 1 { iniWrite, 1, %iPath%, options, more Menu, Tray, delete, E&xit Menu, Tray, Check, &More Menu, Tray, add, %A_SPACE% Edit Bookmar&ks, bMark Menu, Tray, add, %A_SPACE% &Edit Extensions, wampE Menu, Tray, add, %A_SPACE% Locate &iniFile, iniF Menu, Tray, add, %A_SPACE% Locate Win&Amp, wampF Menu, Tray, add, %A_SPACE% &Hotkeys, PawsK Menu, Tray, Check, %A_SPACE% &Hotkeys Menu, Tray, add, %A_SPACE% Scrip&t, Paws Menu, Tray, Check, %A_SPACE% Scrip&t Menu, Tray, add, %A_SPACE% Debu&g, dBug If db = 1 { Menu, Tray, Check, %A_SPACE% Debu&g } Menu, Tray, add, %A_SPACE% &Reload Me, ReMe Menu, Tray, add, E&xit, Exit } Else { iniWrite, 0, %iPath%, options, more Menu, Tray, Uncheck, &More Menu, Tray, delete, %A_SPACE% &Reload Me Menu, Tray, delete, %A_SPACE% Debu&g Menu, Tray, delete, %A_SPACE% Scrip&t Menu, Tray, delete, %A_SPACE% &Hotkeys Menu, Tray, delete, %A_SPACE% Locate Win&Amp Menu, Tray, delete, %A_SPACE% Locate &iniFile Menu, Tray, delete, %A_SPACE% &Edit Extensions Menu, Tray, delete, %A_SPACE% Edit Bookmar&ks } Goto WinampButton Return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Configure Routines iniF: FileSelectFile, iniP, 8, *.ini, Change %iPath% If ErrorLevel = 1 { iniP = %A_SPACE% } If iPath = %iniP% { Return } If db = 1 { MsgBox, 1,Change initialization File, `nOld iniPath:`n%iPath%`n`nNew iniPath:`n%iniP%, 8 } If ErrorLevel = 1 { Return } iniWrite, %iniP%, %iPath%, options, iniPath iniWrite, %iniP%, %iniP%, options, iniPath Reload Return wampE: iniRead, wExt, %iPath%, options, extensions Inputbox, wExt, File Extensions Filtering, `nFile Type Filter for Select File(s) dialogue.`n`nie: *.mp3;*.m3u;*.wav;*.mid`n,,280,180,,,,,%wExt% If ErrorLevel = 1 { Return } iniWrite, %wExt%, %iPath%, options, extensions Return wampF: FileSelectFile, wPath, 1, C:\Progra~1\ Winamp.exe, Look for Winamp.exe If ErrorLevel = 1 { Return } iniWrite, %wPath%, %iPath%, options, winamp Return dBug: If mr = 1 { If db = 0 { db = 1 Menu, Tray, Check, %A_SPACE% Debu&g iniWrite, 1, %iPath%, options, debug } Else { db = 0 Menu, Tray, Uncheck, %A_SPACE% Debu&g iniWrite, 0, %iPath%, options, debug } } Goto WinampButton Return PawsK: If mr = 1 { Menu, Tray, ToggleCheck, %A_SPACE% &Hotkeys Suspend MsgBox, , Winamp Button Hotkeys, `nBack:`tWin+Z or Win+LeftArrow`nStop:`tWin+X`nPause:`tWin+C`nPlay:`tWin+V`nFwd:`tWin+B or Win+RightArrow`n`nJump:`tWin+J`nBkmarks:`tWin+1 to Win+9`nVolume:`tWin+Up/DownArrow } Goto WinampButton Return Paws: If mr = 1 { Menu, Tray, ToggleCheck, %A_SPACE% Scrip&t Pause } Goto WinampButton Return ReMe: Reload Return bMark: Inputbox, bMk, Bookmarks, `nChoose a Bookmark Number`n`nbetween 1 and 9.,,280,180,,,,,1 If ErrorLevel = 1 { Goto bMarx } iniRead, bMx, %iPath%, bName, %bMk% If bMx = ERROR { ;bMx = } Inputbox, bMn, Bookmark%bMk%, `nEnter a Name for the Bookmark`n`nDelete Line to remove Bookmark.,,280,180,,,,,%bMx% If ErrorLevel = 1 { Goto bMarx } iniRead, bMy, %iPath%, bAddr, %bMk% If db = 1 { MsgBox, ,Bookmark Name, `nOldName:%bMx%`nNewName:%bMn%, 2 } If bMy = ERROR ;no section and/or variable entries. { Menu, Tray, rename, &%bMk% %bMx%, &%bMk% %bMn% ;bMy = } Else { If U%bMk% = { If bMn = { } Else { Menu, Tray, add, &%bMk% %bMn%, Ur%bMk% } } Else { If bMx <> %bMn%, { Menu, Tray, delete, &%bMk% %bMx% } } } iniRead, wExt, %iPath%, options, extensions FileSelectFile, bMa, 0, %bMy%, Bookmark%bMK% File / Cancel to Edit Location, %wExt% If ErrorLevel = 1 { Inputbox, bMa, Bookmark%bMk% Location, Edit Location / Cancel to Quit / Delete the Line to Remove this Bookmark`n`nCurrently:`n%bMy%,,480,180,,,,,%bMy% If ErrorLevel = 1 { Goto bMarx } } U%bMk% = %bMn% iniWrite, %bMn%, %iPath%, bName, %bMk% iniWrite, %bMa%, %iPath%, bAddr, %bMk% If db = 1 { MsgBox, OldName:&%bMk% %bMx% `nNewName:&%bMk% %bMn%`nNewURI:%bMa% } If bMx_bMy = %bMn%_%bMa% { Goto bMarx } Reload Return bMarx: bMk = bMx = bMy = bMn = bMa = Return /* ________________________ AezayCaptionDrawKeys Win + up | Volume Up Win + down | Volume Down Win + left | Rewind Win + rite | FastFwd Win + z | Back Win + x | Play Win + c | Pause Win + v | Stop Win + b | Fwd Win + q | Quit Win + j | Jump Win + t | wamp 2 Top ________________________ Keys Win + 1 | Bookmark 1 ... | ... Win + 9 | Bookmark 9 ________________________ SoundControlKeys Win + O | Open Win + P | Preferences Win + S | Sound Ctrl Win + Q | Quit */