UPDATE=20071204 /* DATE.....................2007-12-03 garry .........................Download YOUTUBE and RECORD to MP3 MP3DirectCut 2.03 .......http://www.mpesch3.de/ and also mpglib.dll and lame_enc.dll (F12) for record flv.. to MP3 http://www-users.york.ac.uk/~raa110/audacity/lame.html http://www.autohotkey.net/~garry/WGETSTREAMMP3DIRECTCUT.zip How to use.............. start script, start youtube , copy youtube-video-link with rightclick or CTRL+C download starts automatically to c:\_YOUTUBE , automatically rename can play video and/ or record it to xy.mp3 >> needs mp3directcut.exe/mpglib.dll/lame_enc.dll (see links above) records to the same name then video ;http://www.autohotkey.com/forum/topic14882.html */ ;---------------------------------------------------------------------- #NoEnv setworkingdir, %a_scriptdir% NAMELV =funHU_YTB_AUDIO_RECORD02 autotrim,off clipboard= ;-- where to save downloaded videos and recorded MP3 ------- R3V=C:\_YOUTUBE ;<<<<<< save here ifnotexist,%R3V% FileCreateDir,%R3V% RU4=%R3V%\_RECORDING_MP3 ifnotexist,%RU4% FileCreateDir,%RU4% ;----------------------------------------------------- ;--- MP3directcut needed if you want record xy.flv to xy.mp3 ------ MyPLAYER =%A_ProgramFiles%\K-Lite Codec Pack\Media Player Classic\mplayerc.exe DIRECTCUT =%A_scriptDir%\MP3DIRECTCUT\mp3directcut.exe ;record xy.ram to xy.mp3 and cut mp3 files ;------------------------------------------------------ ;F1=http://www.funpic.hu/en.picview.php?id=32137 ;for test ;F1=http://www.youtube.com/watch?v=iCKMzrPy4t4 F1= F2= F3=ytbe.txt F4=urlkeep.txt MAXSIZE=50000 ;delete file below this size transform,S,chr,32 WA=%A_screenwidth% HA=%A_screenheight% SW :=(WA*95)/100 ;width guishow width SH :=(HA*90)/100 ;height TDY :=(SH*96)/100 ;Y position Textfield below when mplayerc starts Gui,1:Font, S10 CDefault, FixedSys Gui,1:Add, Text, x5 y25 w60 h20 ,URL-1 Gui,1:Add, Text, x5 y50 w60 h20 ,NAME Gui,1:Add, Text, x5 y75 w60 h20 ,URL-2 Gui,1:Add, Text, x5 y100 w60 h20 ,PROCESS Gui,1:Add, Edit, x65 y25 w530 h20 vF1,%F1% Gui,1:Add, Edit, x65 y50 w530 h20 vF2 readonly,%F2% Gui,1:Add, Edit, x65 y75 w530 h20 readonly, Gui,1:Add,Progress,x65 y100 w530 h20 vPRBAR cFF7200 Gui,1:Add,Text, x65 y100 w530 +0x200 +Center +BackgroundTrans vText22, Gui,1:Add, Button, x10 y130 w90 h25 gYOUTUBE ,YOUTUBE Gui,1:Add, Button, x110 y130 w90 h25 gFUNHU ,FUNPIC ;Gui,1:Add, Button, x310 y130 w90 h25 gCLEAR ,CLEAR Gui,1:Add, Button, x500 y130 w90 h25 gBREAK ,BREAK Gui,1:Add,Button ,x10 y470 w90 h25 gVIDEO ,VIDEO Gui,1:Add,Button ,x110 y470 w90 h25 gMUSIC ,MUSIC Gui,1:Add,Button ,x210 y470 w90 h25 gURLS ,URLS Gui,1:Add,Button ,x310 y470 w90 h25 gFOLDER ,FOLDER Gui,1:add,Text, cRED x420 y470 vTEXT1,RECORD (RightClick) Gui,1:Add,Edit, x90 y520 w500 h25 readonly, Gui,1:Add,Edit, x90 y550 w500 h25 readonly, Gui,1:Add,Edit, x90 y580 w500 h25 readonly, Gui,1:Add,Button, x2 y520 w80 h25 gDELETE ,DELETE Gui,1:Add,Button ,x2 y550 w80 h25 gDNL1 ,DNL1 > T1 :=570 T2 :=0 T3 :=0 T4 :=0 LSW:=T1+T2+T3+20 GSW:=LSW+30 Gui,1:Font, S12 CDefault, Verdana Gui,1:Add, ListView, x10 y170 grid r14 w%LSW% +hscroll nosort altsubmit vA1 gA2,Name|URL1|URL2|DATE Gui,1:Font, CDefault, FixedSys LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(4,T4) GuiControl,1:Focus,F1 Gui,1:Show, x0 y0 h620 w%GSW%,VIDEO DOWNLOAD and RECORD MP3 %UPDATE% gosub,video gosub,DDDD settimer,DDDD,1000 ;means goto start return ;------------------ END MENU -------------------------------------- ;------------------ LISTVIEW -------------------------------------- A2: Gui,1: Submit, NoHide Gui,1:ListView,A1 RN:=LV_GetNext("C") ;2 selected checked RF:=LV_GetNext("F") ;2 selected focused GC:=LV_GetCount() ;4 total if A_GuiEvent=Normal { if (RN="" OR RN=0) return C1= C2= C3= C4= LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) LV_GetText(C4,A_EventInfo,4) GuiControl,1:Text,Edit4,%C1% if URLS=1 { GuiControl,1:Text,Edit5,%C2% GuiControl,1:Text,Edit6,%C3% return } if MUSIC=1 { run,%RU4%\%C1% return } goto,black } if A_GuiEvent = RightClick { if VIDEO=1 { LV_GetText(C1,A_EventInfo,1) SplitPath,C1,name, dir, ext, name_no_ext, drive if ext=flv goto,record } return } return ;----------- END LISTVIEW -------------------------------------- DELETE: ;----delete URLS textfile 1 selected line ------- if URLS=1 { if (RF="" OR RF=0) return LV_GetText(C1,RF,1) MsgBox, 4, ,Want you really delete from this list %C1% ? IfMsgBox,No Return Else { LV_Delete(RF) RN=0 filedelete,%F4% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX3,A_INDEX,3) fileappend,%BX1%;%BX2%;%BX3%;%BX4%`r`n,%F4% } } gosub,filllist1 return } return ;-------------- END DELETE --------------------------------------- ;--------------- READ URLS-FILE ---------------------------------------- URLS: VIDEO=0 MUSIC=0 URLS =1 GuiControl,1:Disable,URLS GuiControl,1:Enable ,VIDEO GuiControl,1:Enable ,MUSIC GuiControl,1:Enable,DELETE GuiControl,1:Enable,DNL1 > GuiControl,1:Text,TEXT1,%nothing% GuiControl,1:Text,Edit4, GuiControl,1:Text,Edit5, GuiControl,1:Text,Edit6, filllist1: LV_Delete() loop,read,%F4% { LR=%A_loopreadline% if LR= continue C1= C2= C3= C4= stringsplit,C,LR,`; LV_Add("",C1,C2,C3,C4) C1= C2= C3= C4= } return ;--------------- END READ URLS ------------------------------------------ ;--------------- READ FOLDERS-CONTENT ------------------------------------ VIDEO: VIDEO=1 MUSIC=0 URLS =0 R3XX=%R3V% GuiControl,1:Disable,VIDEO GuiControl,1:Disable,DELETE GuiControl,1:Disable,DNL1 > GuiControl,1:Enable,MUSIC GuiControl,1:Enable,URLS GuiControl,1:Text,TEXT1,RECORD (RightClick) goto,CONT03 MUSIC: VIDEO=0 MUSIC=1 URLS =0 R3XX=%RU4% GuiControl,1:Disable,MUSIC GuiControl,1:Disable,DELETE GuiControl,1:Disable,DNL1 > GuiControl,1:Enable ,VIDEO GuiControl,1:Enable,URLS GuiControl,1:Text,TEXT1,%nothing% CONT03: GuiControl,1:Text,Edit4, GuiControl,1:Text,Edit5, GuiControl,1:Text,Edit6, LV_Delete() I:=0 FSIZE:=0 Loop %R3XX%\*.* { LR=%A_LoopFileLongPath% SplitPath,LR,name, dir, ext, name_no_ext, drive I++ Filegettime,TM1,%LR%,C LV_Add("",A_loopfilename,TM1) } LV_ModifyCol(2,"integer") LV_ModifyCol(2, "Sort") LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return ;--------------- END READ FOLDERS-CONTENT ------------------------------------ FOLDER: run,%R3V% return TEST: run,control desk.cpl,,3 return BREAK: reload return CLEAR: GuiControl,1:Focus,F1 GuiControl,1:Text,Edit1, GuiControl,1:Text,Edit2, GuiControl,1:Text,Edit3, GuiControl,1:,Text22, GuiControl,1:+cC8D0D4,PRBAR return FUNHU: run,http://www.funpic.hu/en.gallery.php?id=-2&s=dd&p=1 return YOUTUBE: run,http://www.youtube.com return ;======================= RECORD MP3directcut ======================================= 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="" OR RF=0) { msgbox,262144,,Select a row return } ifexist,%R3XX%\%C1% { SplitPath,C1, name, dir, ext, name_no_ext, drive if ext=mp3 { msgbox, Don't record an mp3 file return } run,%R3XX%\%C1% sleep,100 run,%DirectCut% %RU4%\%name_no_ext%.mp3 /rec ;folder not the same name then video run,sndvol32 return } return ;====================== END RECORD MP3DIRECTCUT =============================== ;=========================================================================== DDDD: Gui,1:submit,nohide URL1=%clipboard% if URL1 contains watch?v= goto,start2 if URL1 contains funpic goto,start2 return ;----------------------------------- START: gui,1:submit,nohide ;---------------------------------------- DNL1: Gui,1:submit,nohide if C2= return clipboard= URL1=%C2% START2: GuiControl,1:Text,Edit1,%URL1% clipboard= settimer,DDDD,off skip2: gui,1:submit,nohide if URL1= { msgbox,URL is missing return } ;============================================================================ ;===================== FUNPIC =============================================== if URL1 contains funpic { ;-- search for URL --------------------------------- StringGetPos,VAR1,URL1,id= VAR1:=(VAR1+4) stringmid,NEW,URL1,VAR1,5 stringleft,N1,NEW,2 ;------- search for title ------------------- ;