NOTE:
dogpile ( and youtube ) had changed, so can't find more music with script below
here another script, downloads also youtube and search for music
http://www.autohotke... ... 163#148163
==========================================
============================================
DATE.....................2006-04-19
MODIFIED.............2006-10-08
NAME.....................LV_DOWNLOAD.ahk
-Wget.exe , can better break or stop/skip download
-MP3DirectCut.exe to record xy.ram to xy.mp3
Search for music/picture/all:
EXAMPLE..................=
type in jim reeves/or jimreeves/or jreeves in edit field SEARCH-NET ,enter
see songs (can select only MP3) and DNL-ALL
he'llhavetogo.rm http://www.midtod.com/audio
find more songs on the link rightside (most when ended with MP3/Sound/audio...)
doubleclick right column, see - 390- new songs , jim reeves live recordings
can download from .. until (select first row ,DNL-ALL, STOP)
RECORD button, to record xy.ram to xy.mp3
a few examples in URL-FAV
doubleclick on left column(or DNL-SEL)=download this song
rightclick right column=open URL
Lyric-button or minilyrics
can use wget ( or only autohotkey)
DATEMOD=2006-10-08 /* DATE.....................2006-04-19 MODIFIED.................2006-10-08 NAME.....................LV_DOWNLOAD.ahk USE......................find and download and record music and search for lyric TEST.....................not finished yet ADD WGET.................http://www.gnu.org/software/wget/wget.html instead of ahk urldownloadtofile ADD MP3DirectCut.........http://www.mpesch3.de/ and also mpglib.dll and lame_enc.dll (F12) for record ram.. to MP3 .........................http://www-users.york.ac.uk/~raa110/audacity/lame.html lame_enc.dll for MP3DirectCut ADD MINILYRICS...........http://www.crintsoft.com/index.htm (shareware) REMARKS..................don't need add-ware, but wget.exe commended picture..................https://ahknet.autohotkey.com/~garry/I%20walk%20the%20line_03.jpg put wget and MP3DirectCut in subfolder ...wget\wget.exe ...MP3DIRECTCUT\mp3directcut.exe ============================================================================== -EXAMPLE how to use: type in jim reeves/or jimreeves/or jreeves in edit field SEARCH-NET ,enter see songs (can select only MP3) and DNL-ALL doubleclick on left column(or DNL-SEL)=download this song rightclick right column=open URL find more songs on the link rightside (most when ended with MP3/Sound/audio...) example: he'llhavetogo.rm http://www.midtod.com/audio doubleclick right column, see - 390- new songs , jim reeves live recordings can download from .. until (select first row ,DNL-ALL, STOP) see few examples when click on button URL-FAV -RECORD : click button MUSIC, songs like xy.ram can record to xy.mp3 select xy.ram and click RECORD music plays and MP3DirectCut starts and save to .._RECORDING\xy.mp3 when open xy.mp3 with MP3DirectCut can cut left/right and save to xy2.mp3 -RECORD remarks AC97: set and select record stereo mix=20%, play wave=80% MP3DirecCut.exe and mpglib.dll and lame_enc.dll must exist , settings F12 in MP3DirectCut.exe -Black screen: Close with Esc ================================================================================ */ #NoEnv SetBatchLines -1 NAME2=DOWNLOAD_TEST WGET ="%A_SCRIPTDIR%\wget\wget.exe" DIRECTCUT =%A_scriptDir%\MP3DIRECTCUT\mp3directcut.exe ;Version 2.02 2006-03-09 or later AutoTrim Off transform,S,chr,32 transform,HK,chr,96 LAC1=.mp3`,.wav`,.rm`,.ra`,.ram`,.wma`,.mid MAX1:=10000 I=0 DetectHiddenText,on DetectHiddenWindows, on SetTitleMatchMode,2 menu,S1,Add,&How to use,MH1 menu,S1,Add,&Record-Info,MH2 menu,S1,Add,&Lyric,MH3 menu,S1,Add,&About,MH4 menu,myMenuBar,Add,Help,:S1 gui,menu,MyMenuBar FL1=%A_scriptdir%\URLDNL.ahk FL2=%A_scriptdir%\URLCHK.txt F1=_URL1.txt ;original F2=%A_scriptDir%\_URL2.txt ;last F5=%A_scriptDir%\_URL5.txt ;all F12=songtexturl.txt F13=songtextmpb.txt ;for example F11=%A_scriptdir%\urlfavorites.txt ifnotexist,%F11% { Fileappend,http://www.mpbnet.com.br/textos/rm.html`r`n,%F11% Fileappend,http://www.midtod.com/audio`r`n,%F11% Fileappend,http://www.reddstewart.com/mp3s`r`n,%F11% Fileappend,http://www.webegeek.net/jukebox/jukebox_files`r`n,%F11% ;Fileappend,http://www.boabird.nl/muziek`%20van`%20voor`%201960.htm`r`n,%F11% Fileappend,http://www.boabird.nl/oldcountry.htm`r`n,%F11% Fileappend,http://www.boabird.nl/jimmyreeves.htm`r`n,%F11% Fileappend,http://www.boabird.nl/oldies.htm`r`n,%F11% Fileappend,http://www.telenovelas-latin.net/uvod/odkazy/mp3`r`n,%F11% Fileappend,http://tarpbg.com/td/pages/music`r`n,%F11% Fileappend,http://dl.iskon.hr/himne`r`n,%F11% Fileappend,http://eguren-zone.blogspot.com/2006/09/garota-de-ipanema.html`r`n,%F11% Fileappend,http://www.paginadogaucho.com.br/teixeirinha/disc.htm`r`n,%F11% } VARX=ALL1 FX=%F2% R3M=_MUSIC ifnotexist,%R3M% FileCreateDir,%R3M% RU4=%A_SCRIPTDIR%\_RECORDING ifnotexist,%RU4% FileCreateDir,%RU4% ;black screen can close with ESC SysGet m, MonitorWorkArea Gui,2:-Border Gui,2:Color,000000 ;BLACK Gui,2:Font,S12 cwhite, Verdana Gui,2:Show,% "x" mLeft+5 " y" mTop+5 " w" mRight-mLeft-10 " h " mBottom-mTop-10, BLACK ;--show--------------------------------------------- WA := mRight-mLeft HA := mBottom-mTop SZ :=60 ;correct the screen size vertikal between 40...70 SH :=(HA*SZ)/100 ;height SX :=(WA*.5)/100 SY :=(HA*.5)/100 SW :=(WA*99)/100 ;width SW1 :=(WA*29)/100 ;width 1/3 SW2 :=(WA*46)/100 ;width half SW3 :=(WA*63)/100 ;width 2/3 SW20:=(WA*5)/100 ;width 1/20 SW50:=(WA*2)/100 ;width 1/50 ;----- ListView ------------------------------------- LVH :=(SH*SZ)/100 ;ROW :=17 LVW :=(SW-SW50) ;ListView width LVW2:=(LVW*75)/100 ;Listview width 3/4 LVW3:=(LVW*50)/100 ;Listview width 1/2 XPSL:=(WA*1.5)/100 ;first x position XPOS:=(WA*8)/100 XPS2:=(WA*4)/100 YPOS:=(HA*4)/100 WSIZ:=(WA*7)/100 WSZL:=(WA*10)/100 WSZ2:=(WA*3.5)/100 HSIZ:=(HA*2.2)/100 ;button height HSZ2:=(HA*2)/100 ;editfield height T1 :=WSZ2 ;TAB1 T2 :=SW1 ;TAB2 T3 :=SW3 ;TAB3 T4 :=(SW1+SW3) ;T2+T3 T1A :=T1 T2A :=T1+T2 T3A :=T1+T2+T3 ;---------- BUTTON POSITION -------------------------- BR1X:=(SW-(1*XPOS)) ;Button right 0 BR2X:=(SW-(2*XPOS)) ;Button right -1 BR3X:=(SW-(3*XPOS)) ;Button right -2 BR4X:=(SW-(4*XPOS)) ;Button right -3 BR5X:=(SW-(5*XPOS)) ;Button right -4 BR6X:=(SW-(6*XPOS)) ;Button right -5 BR7X:=(SW-(7*XPOS)) ;Button right -6 BL1X:=(SX+XPSL) ;Button left 0 BL2X:=(SX+(XPSL+(1*XPOS))) ;Button left +1 BL3X:=(SX+(XPSL+(2*XPOS))) ;Button left +2 BL4X:=(SX+(XPSL+(3*XPOS))) ;Button left +3 BL5X:=(SX+(XPSL+(4*XPOS))) ;Button left +4 BL6X:=(SX+(XPSL+(5*XPOS))) ;Button left +5 BL7X:=(SX+(XPSL+(6*XPOS))) ;Button left +6 BL8X:=(SX+(XPSL+(7*XPOS))) ;Button left +7 ;-- buttonssmall ------------------------------------ BR1S:=(SW-XPS2) BR2S:=(SW-(2*XPS2)) BR3S:=(SW-(3*XPS2)) BR4S:=(SW-(4*XPS2)) BR5S:=(SW-(5*XPS2)) BR6S:=(SW-(6*XPS2)) BR7S:=(SW-(7*XPS2)) BR8S:=(SW-(8*XPS2)) BR9S:=(SW-(9*XPS2)) ;----------------------------------------------------- ;y POS after listview BV1Y:=(LVH+(.74*YPOS)) BV2Y:=(BV1Y+(.74*YPOS)) BV3Y:=(BV2Y+(.74*YPOS)) BV4Y:=(BV3Y+(.74*YPOS)) BV5Y:=(BV4Y+(.74*YPOS)) BV6Y:=(BV5Y+(.74*YPOS)) LLIN:=(SH-(HSIZ+SY)) ;------------------------------------------------------ ;Gui,1:Color, C0C2AC ;Gui,1:Font,S8 cblack, Verdana Gui,1:Color, 000000 Gui,1:Font,S8 cwhite, Verdana XPS1:=(WA*1.2)/100 XPLV:=(WA*.3)/100 XPS2:=(XPS1+WSIZ) XPS3:=(XPS2+WSIZ) YPS1:=(HA*.3)/100 YPS2:=(YPS1+HSIZ) YPLV:=(HA*1.7)/100 Gui,1:Add,Text,x%XPS1% y%YPS1% vTotal1 w%WSIZ%,%I% Gui,1:Add,Text, x%XPS1% y%BV2Y% w%WSIZ% h%HSIZ% ,SEARCH-NET Gui,1:Add,Text, x%XPS1% y%BV3Y% w%WSIZ% h%HSIZ% ,SEARCH-LIST ACP=2 ifexist,wget { Gui,1:add,GroupBox, w0 h0,GP2 Gui,1:Add, Radio,x%BL1X% y%BV4Y% vACP,WGET Gui,1:Add, Radio,x%BL1X% y%BV5Y% ,AHK GuiControl,1:,ACP,1 Gui,submit,nohide } Gui,1:add,GroupBox, w0 h0,P1 Gui,1:Add, Radio,x%BL1X% y%LLIN% vACR,MUSIC Gui,1:Add, Radio,x%BL2X% y%LLIN% ,ALL Gui,1:Add, Radio,x%BL3X% y%LLIN% ,PICT GuiControl,1:,ACR,1 ; Gui,1:Font, S10 CDefault , FixedSys ; Gui,1:Add, ListView,grid x%XPLV% y%YPLV% h%LVH% w%LVW% +hscroll altsubmit vMyListView gMyListView,NR|LIED|URL TWEDIT3:=(LVW2-(WSIZ+WSIZ)) Gui,1:Add , Edit, x%XPS1% y%BV1Y% w%WSIZ% h%HSZ2% ReadOnly vDNNR Gui,1:Add , Edit, x%XPS2% y%BV1Y% w%WSIZ% h%HSZ2% ReadOnly vTITL Gui,1:Add , Edit, x%XPS3% y%BV1Y% w%TWEDIT3% h%HSZ2% ReadOnly vDNLX Gui,1:Font, S10 CDefault , FixedSys Gui,1:Add, ListView,grid x%XPLV% y%YPLV% h%LVH% w%LVW% +hscroll altsubmit vMyListView gMyListView,NR|LIED|URL Gui,1:Add , Edit, x%BL2X% y%BV2Y% w%TWEDIT3% h%HSZ2% vURLX TWEDIT5:=(TWEDIT3-WSIZ) Gui,1:Add , Edit, x%BL2X% y%BV3Y% w%TWEDIT5% h%HSZ2% vSRCX if ACP=1 Gui,1:Add,Button,x%BR3X% y%BV1Y% w%WSIZ% h%HSIZ% gSKIPDL , DNL-SKIP Gui,1:Add,Button,x%BR2X% y%BV1Y% w%WSIZ% h%HSIZ% gSTOPDL , DNL-STOP Gui,1:Add,Button,x%BR1X% y%BV1Y% w%WSIZ% h%HSIZ% gRELOAD , RESET Gui,1:Add,Button,x%BR1X% y%BV2Y% w%WSIZ% h%HSIZ% gDNLALL vDN1 ,DNL-ALL Gui,1:Add,Button,x%BR1X% y%BV3Y% w%WSIZ% h%HSIZ% gDNLSEL vDN2 ,DNL-SEL Gui,1:Add,Button,x%BR1X% y%BV6Y% w%WSIZ% h%HSIZ% gBLACK ,BLACK Gui,1:Add,Button,x%BL2X% y%BV4Y% w%WSIZ% h%HSIZ% gCLEAR ,^CLEAR Gui,1:Add,Button,x%BL3X% y%BV4Y% w%WSIZ% h%HSIZ% gURLLAST ,LAST Gui,1:Add,Button,x%BL4X% y%BV4Y% w%WSIZ% h%HSIZ% gURLALL ,URL-ALL Gui,1:Add,Button,x%BL5X% y%BV4Y% w%WSIZ% h%HSIZ% gURLFAV ,URL-FAV Gui,1:Add,Button,x%BL6X% y%BV4Y% w%WSIZ% h%HSIZ% gLYRIC ,LYRIC ifexist,record.bmp Gui,1:Add,Picture,x%BL2X% y%BV5Y% w%WSIZ% h%HSIZ% gRECORD,record.bmp else Gui,1:Add,Button, x%BL2X% y%BV5Y% w%WSIZ% h%HSIZ% gRECORD ,RECORD Gui,1:Add,Button, x%BL3X% y%BV5Y% w%WSZL% h%HSIZ% gFOLDERR ,FOLDER-REC Gui,1:Add,Button, x%BL3X% y%BV6Y% w%WSZL% h%HSIZ% gFOLDERM ,FOLDER-MUSIC Gui,1:Add,Button, x%BL5X% y%BV5Y% w%WSIZ% h%HSIZ% gREC ,_REC Gui,1:Add,Button, x%BL5X% y%BV6Y% w%WSIZ% h%HSIZ% gMUSIC ,_MUSIC Gui,1:Add,Button,default x0 y0 w0 h0 gWHERE , XPGO:=(BL2X+TWEDIT5+WSZ2) Gui,1:Add,Button,x%XPGO% y%BV3Y% w%WSZ2% h%HSIZ% gSEARCH ,<GO Gui,1:Add,Button,x%BR1S% y%LLIN% w%WSZ2% h%HSIZ% gALL ,ALL Gui,1:Add,Button,x%BR2S% y%LLIN% w%WSZ2% h%HSIZ% gMP3 ,MP3 Gui,1:Add,Button,x%BR3S% y%LLIN% w%WSZ2% h%HSIZ% gRAM ,RAM Gui,1:Add,Button,x%BR4S% y%LLIN% w%WSZ2% h%HSIZ% gRM ,RM_ Gui,1:Add,Button,x%BR5S% y%LLIN% w%WSZ2% h%HSIZ% gRA ,RA_ Gui,1:Add,Button,x%BR6S% y%LLIN% w%WSZ2% h%HSIZ% gWMA ,WMA Gui,1:Add,Button,x%BR7S% y%LLIN% w%WSZ2% h%HSIZ% gWAV ,WAV Gui,1:Add,Button,x%BR8S% y%LLIN% w%WSZ2% h%HSIZ% gMID ,MID gosub,music GuiControl,1:,total1,%I% GuiControl,1:,DED1,%LAC2% GuiControl,1:Focus,URLX Gui,1: Show, % "x" SX+mLeft " y" SY+mTop+5 " w" SW " h" SH,%NAME2% return ;============================================== FILLLIST: gui,1:submit,nohide LV_Delete() I=0 loop,read,%FX% { if A_LoopReadLine= continue I++ name= dir= SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;################################################## FOLDERM: run,%R3M% return FOLDERR: run,%RU4% return MH1: msgbox,262144,,Type in jim reeves/or jimreeves/or jreeves in edit field SEARCH-NET then enter`r`nSee songs (can select only MP3) and DNL-ALL or DNL-SEL`r`nDoubleclick on left column(or DNL-SEL)=download this song`r`nRightclick right column=open URL`r`nFind more songs on the link rightside (most when ended with MP3/Sound/audio...)`r`nExample: he'llhavetogo.rm http://www.midtod.com/audio`r`nDoubleclick right column, see - 390- new songs , jim reeves live recordings`r`nCan download from .. until (select first row ,DNL-ALL, STOP)`r`nSee few examples when click on button URL-FAV return MH2: ;ADD MP3DirectCut.........http://www.mpesch3.de/ and also mpglib.dll and lame_enc.dll (F12) for record ram.. to MP3 ;.........................http://www-users.york.ac.uk/~raa110/audacity/lame.html lame_enc.dll for MP3DirectCut msgbox,262144,,-RECORD :`r`nClick button MUSIC,songs like xy.ram can record to xy.mp3`r`nSelect xy.ram and click RECORD`r`nMusic plays and MP3DirectCut starts and save to .._RECORDING\xy.mp3`r`nWhen open xy.mp3 with MP3DirectCut can cut left/right and save to xy2.mp3`r`n`r`n-RECORD remarks AC97:`r`nSet and select record stereo mix=20`%,play wave=80`%`r`nMP3DirecCut.exe and mpglib.dll and lame_enc.dll must exist , settings F12 in MP3DirectCut.exe`r`n...MP3DIRECTCUT\mp3directcut.exe`r`nhttp://www.mpesch3.de/`r`nhttp://www-users.york.ac.uk/~raa110/audacity/lame.html return MH3: msgbox,262144,,-LYRIC:`r`nType in edit field SEARCH-NET`r`n I walk the line`r`n and click button LYRIC return MH4: msgbox,262144,,%DATEMOD% AutoHotKey garry`r`nDownload / Record searched song return ;-------------------------------------- RECORD: gui,1:submit,nohide ifnotexist,%directcut% { msgbox,262144,,Download MP3DirectCut and save in subfolder ...MP3DIRECTCUT\mp3directcut.exe`r`nDownload also mpglib.dll and lame_enc.dll (see settings F12)`r`n`r`nhttp://www.mpesch3.de/`r`nhttp://www-users.york.ac.uk/~raa110/audacity/lame.html return } if RF= { msgbox,262144,,Select a row return } C2a=%A_scriptdir%\%R3M%\%C2% stringmid,CCP,C2a,1,7 if CCP=http:// return run,%C2a% sleep,500 SplitPath,C2a, name, dir, ext, name_no_ext, drive run,%DirectCut% %RU4%\%name_no_ext%.mp3 /rec run,sndvol32 ;SoundSet,100,WAVE return ;--------------------------------------------------- LYRIC: gui,submit,nohide ;GuiControl,1:Disable,DNL-ALL ;GuiControl,1:Disable,DNL-SEL ;GuiControl,1:Disable,RECORD URLY=%URLX% if URLY= { Msgbox,262144,,Type in edit field SEARCH-NET a song title or artist return } APPX1=http://lirama.net/search?searchobj=name&search=%URLY% URLDownloadToFile,%APPX1%,%F12% A=<li><a href="/ B="/ C="> Loop,Read,%F12% { LR=%A_LoopReadLine% IfInString,LR,%A% { IfInString,LR,%URLY% { StringGetPos,VAR1,LR,%B% StringGetPos,VAR2,LR,%C% VAR1:=(VAR1+2) VAR2:=(VAR2+1) VAR3:=(VAR2-VAR1) stringmid,NEW,LR,VAR1,VAR3 GOTO,FOUND1 } } } ;TRYsecond for musica popular brasileira StringReplace,NewStr,URLY,%S%,-,All URLDownloadToFile,http://www.beakauffmann.com/%NEWSTR%.html,%F13% Loop,Read,%F13% { LR=%A_LoopReadLine% IfInString,LR,404 { Goto,TRY3 } } run,http://www.beakauffmann.com/%NEWSTR%.html return TRY3: if URLY= return run,http://www.dogpile.com/info.dogpl/search/web/%URLY% lyric/1/-/1/-/-/-/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/-/0 return FOUND1: run,http://lirama.net/search?searchobj=name&search=%URLY% return ;---------------------------------------------------- MUSIC: MUSIC=1 GuiControl,1:Disable,DNL-ALL GuiControl,1:Disable,DNL-SEL GuiControl,1:Disable,DNL-SKIP GuiControl,1:Disable,DNL-STOP GuiControl,1:Enable,RECORD GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% GuiControl,Text,Edit4,%OutputVar% GuiControl,Text,Edit5,%OutputVar% LV_Delete() I=0 loop,%R3M%\*.* { I++ LV_Add("",I,A_LOOPFILENAME) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T4) LV_ModifyCol(3,0) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;----------------------------------------------- REC: REC=1 GuiControl,1:Disable,DNL-ALL GuiControl,1:Disable,DNL-SEL GuiControl,1:Disable,DNL-SKIP GuiControl,1:Disable,DNL-STOP GuiControl,1:Disable,RECORD GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% GuiControl,Text,Edit4,%OutputVar% GuiControl,Text,Edit5,%OutputVar% LV_Delete() I=0 loop,%RU4%\*.* { I++ LV_Add("",I,A_LOOPFILENAME) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T4) LV_ModifyCol(3,0) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;------------------------------------------------- URLFAV: MUSIC= ;GuiControl,1:Disable,DNL-ALL ;GuiControl,1:Disable,DNL-SEL GuiControl,1:Disable,RECORD LV_Delete() I=0 loop,read,%F11% { if A_LoopReadLine= continue I++ LV_Add("",I,NOTHING,A_LoopReadLine) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;------------------------------------------------- URLLAST: Gui,submit,nohide MUSIC= GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-SKIP GuiControl,1:Enable,DNL-STOP GuiControl,1:Disable,RECORD FX=%F2% LV_Delete() I=0 loop,read,%FX% { if A_LoopReadLine= continue I++ name= dir= SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;-------------------------------------------------------- URLALL: Gui,submit,nohide MUSIC= GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-SKIP GuiControl,1:Enable,DNL-STOP GuiControl,1:Disable,RECORD FX=%F5% FileRead,AA,%FX% FileDelete,%FX% Sort,AA,U FileAppend,%AA%,%FX% LAC=%LAC1% LV_Delete() I:=0 loop,read,%FX% { if A_LoopReadLine= continue stringright,Q4,A_LOOPREADLINE,4 if Q4 contains %LAC% { I++ name= dir= SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) continue } I++ LV_Add("",I,NOTHING,A_LOOPREADLINE) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;-------------------------------------------------- ALL: gui,1:submit,nohide MUSIC= GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-SKIP GuiControl,1:Enable,DNL-STOP GuiControl,1:Disable,RECORD GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% VARX=ALL1 GuiControl,1:Focus,URLX GuiControl, Text, Edit1, %OutputVar% LV_Delete() I=0 loop,read,%FX% { if A_LoopReadLine= continue I++ SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;------------------------------------------------- MP3: gui,1:submit,nohide VARX=MP3 gosub,allms return ;-------------------------------------------------- RAM: gui,1:submit,nohide VARX=RAM gosub,allms return ;------------------------------------------------- RM: gui,1:submit,nohide VARX=RM gosub,allms return ;---------------------------------------------- RA: gui,1:submit,nohide VARX=RA gosub,allms return ;-------------------------------------------------------- WMA: gui,1:submit,nohide VARX=WMA gosub,allms return ;----------------------------------- WAV: gui,1:submit,nohide VARX=WAV gosub,allms return ;-------------------------------- MID: gui,1:submit,nohide VARX=MID gosub,allms return ;-------------------------------- ALLMS: GuiControl,1:Focus,URLX GuiControl, Text, Edit1, %OutputVar% GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-SKIP GuiControl,1:Enable,DNL-STOP GuiControl,1:Disable,RECORD LV_Delete() I=0 loop,read,%FX% { if A_LoopReadLine= continue name= dir= SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive if ext=%varx% { I++ LV_Add("",I,name,dir) } } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;================================================================== SKIPDL: winclose,ahk_class ConsoleWindowClass settimer,AAS,OFF GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% GuiControl,Text,Edit5,%OutputVar% GuiControl,Text,Edit2,SKIP GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Disable,RECORD return ;----------------------------------------------- STOPDL: Gui,submit,nohide SDL=1 if ACP=1 winclose,ahk_class ConsoleWindowClass GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% GuiControl,Text,Edit5,%OutputVar% GuiControl,Text,Edit2,STOP GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Disable,RECORD Fileappend,1,%FL2% return ;-------------------------------------- RELOAD: reload return ;-------------------------------------- CLEAR: GuiControl,1:Focus,URLX GuiControl,Text,Edit1,%OutputVar% GuiControl,Text,Edit2,%OutputVar% GuiControl,Text,Edit3,%OutputVar% GuiControl,Text,Edit4,%OutputVar% GuiControl,Text,Edit5,%OutputVar% return ;---------------------------------------- SEARCH: Gui,1:submit,nohide LAC=%LAC1% LV_Delete() I:=0 loop,read,%FX% { ifinstring,A_LOOPREADLINE,%SRCX% { if A_LoopReadLine= continue stringright,Q4,A_LOOPREADLINE,4 if Q4 contains %LAC% { I++ name= dir= SplitPath,A_LoopReadLine,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) continue } I++ LV_Add("",I,NOTHING,A_LOOPREADLINE) } else Continue } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:,total1,%I% return ;################## BLOCK 11=READS LISTVIEW LOOP ALL with WGET ############################### DNLALL: Gui,1:submit,nohide GuiControl,1:Disable,RECORD GuiControl,Text,Edit2,%NOTHING% SDL= SEL= if RF<> RF=%RF% else RF:=1 msgbox,262147,DownLoad ALL,Download starts from Row= %RF%`r`n (Or select another ROW) ifmsgbox,NO return ifmsgbox,Cancel return GuiControl,1:Disable,DNL-ALL GuiControl,1:Enable,DNL-STOP if ACP=1 GuiControl,1:Enable,DNL-SKIP I2:=0 if RF>I RF:=1 if RF>1 I2:=(RF-1) LV_Modify(RF, "+Select +Focus") Y=0 loop { if SDL=1 { settimer,AAS,OFF ;LV_Modify(RF, "-Select +Focus") GuiControl,1:Enable,DNL-ALL RF= break } I2++ LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) C1=%C3%/%C2% if C1= continue LV_Modify(RF, "+Select +Focus") GuiControl,Text,Edit1,%I2% GuiControl,Text,Edit3,%C2% GuiControl,Text,Edit4,%C3% StringReplace,C11,C1,`%20,%S%,All StringReplace,C11,C11,`%5b,[,All StringReplace,C11,C11,`%5d,],All StringReplace,C11,C11,amp`;,,All StringReplace,C1,C1,amp`;,,All StringReplace,C1,C1,%S%,`%20,All ;this would remove the first `%20 SplitPath,C1,name, dir, ext, name_no_ext, drive stringleft,SL,name,3 if SL=`%20 { stringlen,SL1,name SL4:=(SL1-3) stringmid,SL5,name,4,SL4 C1=%C3%/%SL5% } SplitPath,C11,name11, dir11, ext11, name_no_ext11, drive11 F23=%A_scriptdir%\%R3M%\%NAME11% ifexist,%NAME11% { Y++ F23=%A_scriptdir%\%R3M%\%NAME_NO_EXT11%_Z%Y%.%EXT11% } ;---------------------------------------------------------------- if ACP=1 { settimer,AAS,500 ;Splashimage,,M2 w700 CWred fs10,%C1%,DOWNLOAD >>> runwait,%COMSPEC% /C %wget% %C1% --tries=1 --directory-prefix=%R3M%,,hide ;Splashimage, off Goto,SKIP11 } ;---------------------------------------------------------------- GuiControl,Text,Edit2,WAIT ;Splashimage,,M2 w700 CWred fs10,%NAME%,DOWNLOAD >>> settimer,AAS,500 URLDownloadToFile,%C1%,%F23% ;Splashimage, off ;----------------------------------------------------------------- SKIP11: settimer,AAS,off LV_Modify(RF, "-Select +Focus") FileGetSize,size,%F23% if ext=ram { if size <30 { Filedelete,%F23% GuiControl,Text,Edit2,DELETED } if size >300 { Filedelete,%F23% GuiControl,Text,Edit2,DELETED } GuiControl,Text,Edit2,FINISHED Goto,skip16 } if size <%MAX1% { Filedelete,%F23% GuiControl,Text,Edit2,DELETED } if size >%MAX1% GuiControl,Text,Edit2,FINISHED SKIP16: RF:=(RF+1) if I2=%I% { settimer,AAS,OFF LV_Modify(RF, "-Select +Focus") RF= break } } GuiControl,1:Enable,DNL-ALL GuiControl,Text,Edit2,FINISHED return ;############################################################################################ DNLSEL: Gui,1:submit,nohide SDL=0 SEL=1 MUSIC= GuiControl,1:Disable,RECORD GuiControl,Text,Edit2,%NOTHING% GuiControlGet,C2,,Edit3 GuiControlGet,C3,,Edit4 C1=%C3%/%C2% if C3= { msgbox,262144,,Select first a row return } GuiControl,1:Disable,DNL-SEL GuiControl,1:Enable,DNL-STOP GuiControl,Text,Edit1,%RF% StringReplace,C11,C1,`%20,%S%,All StringReplace,C11,C11,`%5b,[,All StringReplace,C11,C11,`%5d,],All StringReplace,C11,C11,amp`;,,All StringReplace,C1,C1,amp`;,,All StringReplace,C1,C1,%S%,`%20,All ;this would remove the first `%20 SplitPath,C1,name, dir, ext, name_no_ext, drive stringleft,SL,name,3 if SL=`%20 { stringlen,SL1,name SL4:=(SL1-3) stringmid,SL5,name,4,SL4 C1=%C3%/%SL5% GuiControl,Text,Edit3,%SL5% } SplitPath,C11,name11, dir11, ext11, name_no_ext11, drive11 F23=%A_scriptdir%\%R3M%\%NAME11% ifexist,%NAME11% { Y++ F23=%A_scriptdir%\%R3M%\%NAME_NO_EXT11%_Z%Y%.%EXT11% } SplitPath,C1,name1, dir1, ext1, name_no_ext1, drive1 GuiControl,Text,Edit3,%name1% GuiControl,Text,Edit4,%dir1% ;---------------------------------------------------------------- if ACP=1 { Splashimage,,M2 w700 CWred fs10,%C1%,DOWNLOAD >>> settimer,AAS,500 ; runwait,%COMSPEC% /C %wget% %C1% --tries=1 --directory-prefix=%R3M%,,hide runwait,%COMSPEC% /K %wget% %C1% --tries=1 --directory-prefix=%R3M% ;see what happen Splashimage, off Goto,SKIP12 } ;---------------------------------------------------------------- GuiControl,Text,Edit2,WAIT Splashimage,,M2 w700 CWred fs10,%NAME%,DOWNLOAD >>> settimer,AAS,500 URLDownloadToFile,%C1%,%F23% Splashimage, off /* FileDelete,%FL1% FileDelete,%FL2% StringReplace,C1,C1,`%,%HK%`%,All StringReplace,C1,C1,`,,%HK%`,,All StringReplace,F23,F23,`%,%HK%`%,All StringReplace,F23,F23,`,,%HK%`,,All GuiControl,Text,Edit2,WAIT settimer,AAS,500 FileAppend, ( #NoTrayIcon settimer,AAS3,500 Splashimage,,b1 x140 y0 w500 h30 CWred zh0,START Download UrlDownloadToFile,%C1%,%F23% Splashimage,off settimer,AAS3,off GuiControl,1:Enable,DNL-SEL GuiControl,Text,Edit2,FINISHED ifexist,%F23% run,%F23% FileDelete,%FL1% ExitApp AAS3: Filereadline,tmr,%FL2%,1 if tmr=1 { GuiControl,1:Enable,DNL-SEL ExitApp } return`n ),%FL1% Run,%FL1% return */ ;----------------------------------------------------------------- SKIP12: settimer,AAS,off GuiControl,1:Enable,DNL-SEL SEL= FileGetSize,size,%F23% if ext=ram { if size <20 { Filedelete,%F23% GuiControl,Text,Edit2,DELETED return } if size >300 { Filedelete,%F23% GuiControl,Text,Edit2,DELETED return } GuiControl,Text,Edit2,FINISHED RUN,%F23% return } if size <%MAX1% { Filedelete,%F23% GuiControl,Text,Edit2,DELETED return } if size >%MAX1% { GuiControl,Text,Edit2,FINISHED RUN,%F23% return } return ;=========================================================================================== AAS: Gui,1:submit,nohide if ACP=1 { WinGetTitle,TM,ahk_class ConsoleWindowClass stringmid,UM,TM,6,5 if UM=http: UM=WAIT if UM=NDOWS UM=WAIT GuiControl,Text,Edit2,%UM% if SDL=1 { winclose,ahk_class ConsoleWindowClass settimer,AAS,OFF GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-ALL SEL= return } return } if SEL=1 { ifnotexist,%FL1% { GuiControl,1:Enable,DNL-SEL GuiControl,Text,Edit2,FINISHED } FileGetSize,size,%F23% If size >0 GuiControl,Text,Edit2,%SIZE% return } FileGetSize,size,%F23% If size >0 GuiControl,Text,Edit2,%SIZE% return ;########################### DOGPILE ################################################# WHERE: Gui,1:submit,nohide GuiControl,1:Enable,DNL-STOP GuiControl,1:Disable,RECORD stringmid,CCP,URLX,1,7 if CCP=http:// { SplitPath,URLX,name, dir, ext, name_no_ext, drive Fileappend,%URLX%`r`n,%F5% goto,TESTAA } GuiControl, Text, Edit1, %OutputVar% LAC=%LAC1% Filedelete,%F1% Filedelete,%F2% VARX=ALL1 URLX=%URLX% if URLX= return stringleft,EL1,URLX,7 if EL1=http:// { if ACP=1 { ;msgbox,%URLX% runwait,%COMSPEC% /K %wget% %URLX% --tries=1 --output-document=%F1% goto,LSZ2 } Splashimage,,M2 x80 y5 CWred fs10,%URLX%,DOWNLOAD >>> URLDownloadToFile,%URLX%,%F1% Splashimage,off goto,LSZ2 } stringleft,EL2,URLX,4 if EL2=www. { URLX=http://%URLX% Splashimage,,M2 x80 y5 CWred fs10,%URLX%,DOWNLOAD >>> URLDownloadToFile,%URLX%,%F1% Splashimage, off goto,LSZ2 } ;-------------- -SEARCH ------------------------------ if ACR=1 { APPX=http://www.dogpile.com/info.dogpl/search/audio/%URLX%/1/100/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/0 Splashimage,,M2 x80 y5 CWred fs10,%URLX%,DOWNLOAD >>> URLDownloadToFile,%APPX%,%F1% Splashimage, off goto,LSZ2 } if ACR=2 { run,http://www.dogpile.com/info.dogpl/search/web/%URLX%/1/100/1/ return } if ACR=3 { run,http://www.dogpile.com/info.dogpl/search/images/%URLX%/1/100/1/ return } ;-------------------------------------------------- LSZ2: K=0 FileRead,AA,%F1% Loop Parse,AA,<>=" { ALF=%A_LoopField% SplitPath,ALF,name, dir, ext, name_no_ext, drive StringRight x, ALF, 4 StringRight y, ALF, 3 If (x =".mp3" or x =".wav" or x =".ram" or x =".wma" or x =".mid" or y =".rm" or y =".ra") { stringmid,LS3,ALF,1,3 stringmid,LS7,ALF,1,7 if LS3=../ { K++ stringlen,L1,ALF L2:=(L1-3) stringmid,ALF1,ALF,4,L2 Fileappend,%drive%/%ALF1%`r`n,%F2% Fileappend,%drive%/%ALF1%`r`n,%F5% } if LS7=http:// { K++ if DIR contains http://walterweyburn.250free.com continue Fileappend,%ALF%`r`n,%F2% Fileappend,%ALF%`r`n,%F5% } } } ;------------------------------------------------- KH: ;GuiControl,1:Disable,DNL-STOP if K>0 { FX=%F2% LV_Delete() FileRead,AA,%F2% FileDelete,%F2% Sort,AA,U FileAppend,%AA%,%F2% I=0 LINE= loop,read,%F2% { I++ Fileappend,%A_LOOPREADLINE%`r`n,%F5% SplitPath,A_LOOPREADLINE, name, dir, ext, name_no_ext, drive if line=%DIR% continue line=%DIR% } FX=%F2% MUSIC= GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL goto,FILLLIST } if K<1 { if LAC= { Splashimage,,b x200 y440 w700 h70 CWsilver m9 b fs10 zh0,File %F2% NOT CREATED,NO URL FOUND Sleep,3000 Splashimage, off return } if LAC<> { Splashimage,,b x200 y440 w700 h70 CWsilver m9 b fs10 zh0,File %F2% NOT CREATED,NO SEARCHED EXTENSIONS FOUND Sleep,1500 Splashimage, off return } } ;################################################################################## MyListView: GuiControlGet, MyListView Gui,1:submit,nohide if A_GuiEvent = Normal { LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) RN:=LV_GetNext("C") ;2 selected checked RF:=LV_GetNext("F") ;2 selected focused GC:=LV_GetCount() ;4 total stringright,CCR,C1,3 stringright,CCO,C1,2 stringmid,CCP1,C2,1,7 stringmid,CCP2,C3,1,7 GuiControl,Text,Edit1,%C1% GuiControl,Text,Edit2,%NOTHING% GuiControl,Text,Edit3,%C2% GuiControl,Text,Edit4,%C3% } if A_GuiEvent=K { GetKeyState,state,UP if state=D { RF:=LV_GetNext("F") LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) CA=%R3M%\%C2% ifnotexist,%CA% { RF:=RF-1 LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) CA=%R3M%\%C2% } if (CCP1="http://" OR CCP2="http://") { GuiControl,,Edit3,%C3% GuiControl,,Edit4,%C2% return } if MUSIC=1 { run,"%CA%" GuiControl,,Edit4,%C2% GuiControl,1:Enable,RECORD return } } GetKeyState,state,DOWN if state=D { RF:=LV_GetNext("F") LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) CA=%R3M%\%C2% ifnotexist,%CA% { RF:=RF+1 LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) CA=%R3M%\%C2% } if (CCP1="http://" OR CCP2="http://") { GuiControl,,Edit3,%C3% GuiControl,,Edit4,%C2% return } if MUSIC=1 { run,"%CA%" GuiControl,,Edit4,%C2% GuiControl,1:Enable,RECORD return } } } ;---------------------------------------------------------- if A_GuiEvent = RightClick { RN:=LV_GetNext("C") ;2 selected checked RF:=LV_GetNext("F") ;2 selected focused GC:=LV_GetCount() ;4 total LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) stringmid,CCP,C3,1,7 if CCP<>http:// return SplitPath,C3,name, dir, ext, name_no_ext, drive run,%drive% return } ;------------------------------------------------------------ if A_GuiEvent = DoubleClick { MouseGetPos,x,y { if x<%T1A% return if x<%T2A% { LV_GetText(C3,A_EventInfo,3) LV_GetText(C2,A_EventInfo,2) ifexist,%R3M%\%C2% { run,%R3M%\%C2% return } ifexist,%RU4%\%C2% { run,%RU4%\%C2% return } Goto,DNLSEL } if x<%T3A% { C1= LV_GetText(C1,A_EventInfo,3) stringmid,CCP,C1,1,7 if CCP=http:// { SplitPath,C1,name, dir, ext, name_no_ext, drive GuiControl,Text,Edit4,%C1% Fileappend,%C1%`r`n,%F5% GOTO,TESTAA } return } } } return ;################### CLOSE ################## Guiclose: ExitApp ;############################################ TESTAA: Gui,1:submit,nohide GuiControlGet,C1,,Edit4 FIRSTFOUND= ALF= Filedelete,%F1% GuiControl,1:Enable,DNL-STOP if ACP=1 { Splashimage,,M2 x80 y5 w 500 CWred fs10,%C1%,DOWNLOAD >>> ;runwait,%COMSPEC% /C %wget% %C1% -O %F1%,,hide runwait,%COMSPEC% /K %wget% %C1% -O %F1% Splashimage, off goto,SKIP15 } Splashimage,,M2 x80 y5 w 500 CWred fs10,%C1%,DOWNLOAD >>> URLDownloadToFile,%C1%,%F1% Splashimage, off SKIP15: ifnotexist,%F1% { msgbox,262144,,URL Download was not successfull return } V=0 Splashimage,,M2 x80 y55 w600 CWWhite fs10,%C1%,READ >>> FileRead,AA,%F1% ALF= LS1= LS3= LS7= Loop Parse,AA,="<> { ALF=%A_LoopField% StringRight x,ALF,4 StringRight y,ALF,3 If (x =".mp3" or x =".wav" or x =".ram" or x =".wma" or x =".mid" or y =".rm" or y =".ra") { stringmid,LS1,ALF,1,1 stringmid,LS3,ALF,1,3 stringmid,LS7,ALF,1,7 if FIRSTFOUND= { FIRSTFOUND=1 Filedelete,%F2% } if LS1=/ { V++ stringlen,L1,ALF L2:=(L1-1) stringmid,ALF1,ALF,2,L2 Fileappend,%DRIVE%/%ALF1%`r`n,%F2% continue } if LS3=../ { V++ stringlen,L1,ALF L2:=(L1-3) stringmid,ALF1,ALF,4,L2 Fileappend,%DRIVE%/%ALF1%`r`n,%F2% continue } if LS7=http:// { V++ Fileappend,%ALF%`r`n,%F2% continue } V++ if ALF contains / Fileappend,%DRIVE%/%ALF%`r`n,%F2% else Fileappend,%C1%/%ALF%`r`n,%F2% } } READTEXT= MUSIC= if V>0 { FX=%F2% LV_Delete() FileRead,AA,%F2% FileDelete,%F2% Sort,AA,U FileAppend,%AA%,%F2% I:=0 loop,read,%F2% { LR=%A_LoopReadLine% if LR= continue I++ name= dir= SplitPath,LR,name, dir, ext, name_no_ext, drive LV_Add("",I,NAME,DIR) } LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(1,"Integer") GuiControl,1:Enable,DNL-ALL GuiControl,1:Enable,DNL-SEL GuiControl,1:Enable,DNL-SKIP GuiControl,1:Enable,DNL-STOP GuiControl,1:,total1,%I% Splashimage, off return } Splashimage, off FX=%F2% ;Gui,1:-AlwaysOnTop ;GuiControl,1:Disable,DNL-STOP msgbox, 262144, ,Nothing found return BLACK: SysGet m, MonitorWorkArea Gui,2:-Border Gui,2:Color,000000 ;BLACK Gui,2:Font,S12 cwhite, Verdana Gui,2:Show,% "x" mLeft+5 " y" mTop+5 " w" mRight-mLeft-10 " h " mBottom-mTop-10, BLACK Gui,1:+AlwaysOnTop Gui,2:-AlwaysOnTop Gui,1:-AlwaysOnTop return ;---------------------- ESC:: Gui,2:show,minimize return