 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Thu Apr 20, 2006 6:34 am Post subject: Internet music search and save |
|
|
MODIFIED...............2007-10-23
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.autohotkey.com/forum/viewtopic.php?p=148163#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)
| Code: | 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..................http://autohotkey.net/~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
|
Last edited by garry on Tue Oct 23, 2007 6:10 pm; edited 15 times in total |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Wed Aug 09, 2006 9:56 am Post subject: |
|
|
smaller version
type in song-name or artist then ENTER, see url's
once mouseclick to download selected url or button DNLALL for all
search for:
-mp3
-music (all)
-images
-all in web
Find lyrics (without commercials)
| Code: | /*
DATE.............2006-08-09 garry
MODIFIED.........2006-08-12
USE for..........Download Musikfiles from Internet and search for lyrics
Picture..........http://autohotkey.net/~garry/I%20walk%20the%20line.jpg
*/
SetBatchLines -1
setformat,float,3.0
NAME=MP3_DOWNLOAD.ahk
transform,S,chr,32
soundset, 0,master,mute ;SPEAKER=MASTER ON
;SoundSet,50,master ;SPEAKER=MASTER volume
LAC1=.mp3
LAC2=.mp3`,.wav`,.rm`,.ra`,.ram`,.wma`,.mid
MAX1:=10000 ;size bytes
F1=%A_scriptDir%\_URL1.txt ;original
F2=%A_scriptDir%\_URL2.txt ;URL LAST
R3M=_MUSIC
ifnotexist,%R3M%
FileCreateDir,%R3M%
Gui,1:Color, 000000
Gui,1:Font, S10 CDefault , FixedSys
GUY:=400
GSW:=1000 ;GuiShow width
GSH:=388 ;GuiShow height
ROW:=17
LSW:=(GSW-30) ;ListView width
T1 :=(LSW-30) ;TAB1
GBL:=(GSW-100) ;LastRightButton
GB2:=(GSW-190) ;LastRightButton-1
GB3:=(GSW-280) ;LastRightButton-2
GB4:=(GSW-370) ;LastRightButton-3
GB5:=(GSW-460) ;LastRightButton-4
T2Y:=(GSH-60) ;
T1Y:=(GSH-30) ;Y down
T0Y:=(GSH-20) ;Y down
Gui,1:Add, ListView,grid y18 20 r%ROW% w%LSW% +hscroll altsubmit vMyListView gMyListView,URL
Gui,1:Font,S8 cwhite, Verdana
Gui,1:Add,Text,x20 y2 vTotal1 w100,%I%
Gui,1:Add,Text, x10 y%T2Y% w50 h20 ,SEARCH
Gui,1:add,GroupBox, x0 y0 w0 h0,P1
Gui,1:Add, Radio,x230 y%T0Y% vACR,MP3
Gui,1:Add, Radio,x290 y%T0Y% ,MUSIC
Gui,1:Add, Radio,x360 y%T0Y% ,PICTURE
Gui,1:Add, Radio,x450 y%T0Y% ,ALL
GuiControl,1:,ACR,1
Gui,1:Font, S10 CDefault , FixedSys
Gui,1:Add , Edit, x70 y%T2Y% w730 h20 vURLX
Gui,1:Add , Edit, x10 y%T1Y% w40 h20 vCOUNT
Gui,1:Add , Edit, x70 y%T1Y% w140 h20 vSIZE
Gui,1:Add,Button,x%GB4% y%T1Y% w85 h25 gTRY3 ,LYRIC-DOG
Gui,1:Add,Button,x%GB3% y%T1Y% w80 h25 gLYRIC ,LYRIC
Gui,1:Add,Button,x%GB2% y%T2Y% w80 h25 gCLEAR ,CLEAR
Gui,1:Add,Button,x%GB2% y%T1Y% w80 h25 gFOLDER ,FOLDER
Gui,1:Add,Button,x%GBL% y%T2Y% w80 h25 gDNLALL ,DNLALL
Gui,1:Add,Button,x%GBL% y%T1Y% w80 h25 gRELOAD ,BREAK
Gui,1:Add,Button,default x100 y%TY5% w0 h0 gWHERE ,
GuiControl,1:,DED1,%LAC2%
GuiControl,1:Focus,URLX
gosub,FILL
GuiControl,1:,total1,%I%
Gui,1: Show, x2 y%GUY% w%GSW% h%GSH% ,%NAME%
return
FILL:
Gui,1:submit,nohide
I:=0
LV_Delete()
LV_ModifyCol(1,T1)
loop,read,%F2%
{
I+=1
LR=%A_LOOPREADLINE%
LV_Add("",LR)
}
return
;################### BUTTONS ##############################
LYRIC:
gui,submit,nohide
if URLY=
return
F11=songtexturl.txt
APPX1=http://lirama.net/search?searchobj=name&search=%URLY%
URLDownloadToFile,%APPX1%,%F11%
A=<li><a href="/
B="/
C=">
Loop,Read,%F11%
{
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
F12=songtextmpb.txt
StringReplace,NewStr,URLY,%S%,-,All
URLDownloadToFile,http://www.beakauffmann.com/%NEWSTR%.html,%F12%
Loop,Read,%F12%
{
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%
;run,http://lirama.net%NEW% ;when more then one opens the first found lyric
return
RELOAD:
reload
return
FOLDER:
run,%R3M%
return
CLEAR:
GuiControl,1:Focus,URLX
GuiControl,Text,Edit1,%OutputVar%
GuiControl,Text,Edit2,%OutputVar%
GuiControl,Text,Edit3,%OutputVar%
return
;-----------------
WHERE:
START:
Gui,1:submit,nohide
URLX=%URLX%
URLY=%URLX%
if URLX=
return
if ACR=4
{
run,http://www.dogpile.com/info.dogpl/search/web/%URLX%/1/100/1/-/-/-/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/0
return
}
if ACR=3
{
;run,http://www.dogpile.com/info.dogpl/search/images/%URLX%/1/-/1/-/-/-/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/0
run,http://www.dogpile.com/info.dogpl/search/images/%URLX%/1/100/1/-/-/-/1/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/417/top/-/-/0
return
}
if ACR=1
LAC=%LAC1%
if ACR=2
LAC=%LAC2%
LV_Delete()
Filedelete,%F1%
Filedelete,%F2%
;----------------------------------------------
{
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
LAC=%LAC%
}
K=0
A=http://
T=
Loop,Read, %F1%
{
T=%A_LoopReadLine%
StringReplace t,T,.%A_Space%,`,,All
StringRight r,t,1
IfEqual r,., StringTrimRight t,t,1
Loop Parse,t,`,` `"`>`[`]`=`;?`!
{
StringLeft r,A_LoopField,7
If r=%A%
{
stringright,Q4,A_LOOPFIELD,4
if Q4 contains %LAC%
{
fileappend,%A_LoopField%`r`n,%F2%
K++
}
}
}
}
if K>0
{
goto,KH
}
else
{
msgbox,Nothing found
return
}
KH:
sleep,500
FileRead,AA,%F2%
FileDelete,%F2%
Sort,AA,U
FileAppend,%AA%,%F2%
I:=0
loop,read,%F2%
{
I++
LV_Add(""I,A_LOOPREADLINE)
}
LV_ModifyCol(1,T1)
GuiControl,1:,total1,%I%
return
;################### LISTVIEW ##################################
MyListView:
GuiControlGet, MyListView
if A_GuiEvent = Normal
{
RN:=LV_GetNext("C") ;2 selected checked
RF:=LV_GetNext("F") ;2 selected focused
C1=
GuiControl,Text,Edit1,%NOTHING%
GuiControl,Text,Edit2,%NOTHING%
GuiControl,Text,Edit3,%NOTHING%
LV_GetText(C1,A_EventInfo,1)
SIZE=
NAME=
TEXT1=FINISHED
PLAYED=0
ROK=0
settimer,AAS1,off
SplitPath,C1,name, dir, ext, name_no_ext, drive
GuiControl,Text,Edit1,%C1%
GuiControl,Text,Edit2,%RN%
StringReplace,NewStr,Name,`%20,%S%,All
NAME=%NewStr%
F3=%A_scriptdir%\%R3M%\%NAME%
ifexist,%F3%
{
Y++
F3=%A_scriptdir%\%R3M%\%NAME_NO_EXT%_Z%Y%.%EXT%
}
settimer,AAS1,100
Splashimage,,M2 x80 w700 y5 CWred fs10,%NAME%,DOWNLOAD >>>
URLDownloadToFile,%C1%,%F3%
Splashimage, off
settimer,AAS1,off
PLAYED=0
FileGetSize,size,%F3%
if ext=ram
{
if size <40
{
Filedelete,%F3%
TEXT1=DELETED
goto,SKIP1
}
ROK=1
goto,SKIP1
}
if size <%MAX1%
{
Filedelete,%F3%
TEXT1=DELETED
}
SKIP1:
GuiControl,Text,Edit3,%TEXT1%
if ROK=1
RUN,%F3% ;should start realplayer for RAM
ROK=0
/*
;---------------------------
;PLAY when download finished
If size >%MAX1%
{
IF PLAYED=0
{
RUN,%F3%
PLAYED=1
}
}
;---------------------------
*/
}
return
;---------------------------
AAS1:
Gui,1:submit,nohide
FileGetSize,size,%F3%
If size >0
GuiControl,Text,Edit3,%SIZE%
else
GuiControl,Text,Edit3,WAIT
If size >%MAX1%
{
IF PLAYED=0
{
RUN,%F3%
PLAYED=1
}
}
return
;============================================================================
DNLALL:
I=0
loop,read,%F2%
{
I++
SIZE=
TEXT1=FINISHED
C1=%A_LOOPREADLINE%
GuiControl,Text,Edit2,%I%
GuiControl,Text,Edit1,%C1%
SplitPath,C1,name, dir, ext, name_no_ext, drive
GuiControl,Text,Edit1,%C1%
StringReplace,NewStr,Name,`%20,%S%,All
NAME=%NewStr%
F3=%A_scriptdir%\%R3M%\%NAME%
ifexist,%F3%
{
Y++
F3=%A_scriptdir%\%R3M%\%NAME_NO_EXT%_Z%Y%.%EXT%
}
settimer,AAS2,100
Splashimage,,M2 x80 w700 y5 CWred fs10,%NAME%,DOWNLOAD >>>
URLDownloadToFile,%C1%,%F3%
Splashimage, off
settimer,AAS2,off
FileGetSize,size,%F3%
if ext=ram
{
if size <40
{
Filedelete,%F3%
TEXT1=DELETED
goto,SKIP2
}
goto,SKIP2
}
if size <%MAX1%
{
Filedelete,%F3%
TEXT1=DELETED
}
SKIP2:
GuiControl,Text,Edit3,%TEXT1%
}
if TEXT1=FINISHED
;run,%F3%
run,%R3M%
return
AAS2:
Gui,1:submit,nohide
FileGetSize,size,%F3%
If size >0
GuiControl,Text,Edit3,%SIZE%
else
GuiControl,Text,Edit3,WAIT
return
GuiClose:
ExitApp
|
Last edited by garry on Tue Aug 29, 2006 8:05 am; edited 6 times in total |
|
| Back to top |
|
 |
d-man
Joined: 08 Jun 2006 Posts: 285
|
Posted: Wed Aug 09, 2006 3:03 pm Post subject: |
|
|
Great script! I'm really impressed.
Perhaps when 2 or more songs have the same name it could handle it by adding soemthing to their naem rather than erasing the others.
Also if the file already exists it could be named differently.
Also, if the file is empy (not found) perhaps it could let you know and not try to play it. |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Wed Aug 09, 2006 9:06 pm Post subject: |
|
|
thanks for suggestions d-man, should work on it or correct the script
made a small correction, if text1=finished then play the last song when DNLALL (not tested)
with wget.exe in first example it makes a new name when name exist
xyz.mp3 > xyz.mp3.1
in first example now works wget.exe hidden , see procent in edit-field
maybe use this smaller script also with wget.exe |
|
| Back to top |
|
 |
rajat as guest Guest
|
Posted: Wed Aug 09, 2006 10:42 pm Post subject: |
|
|
I just checked it out and ...man! this is awesome! ... could getting your fav song be easier?!
Just two requests:
- I love this so please keep this updated to use latest urls
- If not too difficult, adding support for getting lyrics as well
thanks for sharing! |
|
| Back to top |
|
 |
rajat again as guest Guest
|
Posted: Wed Aug 09, 2006 10:44 pm Post subject: |
|
|
| and yeah just one last thing... it'd be better if you just edit the first post of this topic to show the latest changes and provide the latest script version. and you can make a post at bottom to anounce your update. |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Fri Aug 11, 2006 8:18 pm Post subject: |
|
|
hello d-man and rajat,
thank you for your comments, made small corrections in second script
no time and not good programmer, you can it easy better, place your script
the first one works not bad , wget.exe seems faster, can also skip
here are the links saved and can also search later for url , like
search=http://www.mpbnet.com.br/textos/rm.html |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Sat Aug 12, 2006 9:50 pm Post subject: |
|
|
modified second script:
-don' t overwrite existing files (xy.mp3 xy_Z1.mp3 xy_Z2.mp3)
-add button to get lyric
-radiobutton to search mp3/musicall/picture/all in web |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1687
|
Posted: Tue Aug 22, 2006 9:58 pm Post subject: |
|
|
Thanks for the lyrics addition! i really like your script.
I would like to request for 2 things:
- NO resetting of master (or any other) volume please. My speakers suddenly turned to 100% is like overkill.
- NO absolute positioning of windows (or atleast the main window). Just remove the X### and Y### from 'Gui, Show' command. I don't have a very high resolution and the windows hide half behind the taskbar.
thanks. _________________
 |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Wed Aug 23, 2006 10:15 pm Post subject: |
|
|
thank you Rajat
here a test script without wget, modified screen (not tested)
find more songs on the link rightside (most when ended with MP3/Sound/audio...):
>>see first script above
Last edited by garry on Mon Aug 28, 2006 10:52 am; edited 4 times in total |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1687
|
Posted: Wed Aug 23, 2006 10:38 pm Post subject: |
|
|
thanks for the improvements garry! but where did the lyrics and picture etc. options go? _________________
 |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Wed Aug 23, 2006 11:07 pm Post subject: |
|
|
example:
jim reeves and then LYRIC button
lirama.net found 256 songs, when not found search for brasilian music (privat site) or at least dogpile search
it exist many links but the most have commercials, maybe you know a good one
jim reeves, enter
select pic, > find pictures in dogpile search
select all, > find all from dogpile search
be careful when you open links which are usually found in search engines |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1687
|
Posted: Wed Aug 23, 2006 11:17 pm Post subject: |
|
|
maybe i'm messing up something, but i don't see any picture or lyrics button when i run the last posted script of yours. _________________
 |
|
| Back to top |
|
 |
garry
Joined: 19 Apr 2005 Posts: 2212 Location: switzerland
|
Posted: Wed Aug 23, 2006 11:33 pm Post subject: |
|
|
maybe I should check with different screensize
Last edited by garry on Mon Aug 28, 2006 10:52 am; edited 1 time in total |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1687
|
Posted: Wed Aug 23, 2006 11:43 pm Post subject: |
|
|
if i set the height of gui to be 475 then it looks fine on my screen.
i tried to see how it'd look on somebody's screen with resolution of 800*600 (yeah, they're still in use).
 _________________
 |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|