click on _RSS , doubleclick, see contents, doubleclick to see or listen
select genre (oldies,divers) , doubleclick, listen radio or see TV
(needs wideband/DSL and realplayer)
after first start creates folder _CSV, put here these 2 examples,start again
_RSS.csv =
German Science Deutschlandfunk Wissenschaft;http://www.dradio.de/rss/podcast/sendungen/forschak/ Swiss News DRS1 Echo der Zeit;http://services.drs.ch/xml/Echo_der_Zeit_rss.xml Blogging Alone;http://radio.weblogs.com/0104704/rss.xml Mother of all podcast feeds;http://audio.weblogs.com/rss100.xmldivers.csv=
USA Why we fight for ;rtsp://indybay.org/uploads/why_we_fight.rm CANADA-TV CPAC ;http://video.cpac.ca/CPAC1E CANADA-MONTREAL ;http://213.251.134.62:5000 JAPAN NEWS ;http://www.nhk.or.jp:80/rj/on_demand/rj_channel_e/english.smi VIETNAM ChoVietnam ;http://216.66.69.90:8064 FINLAND-TV TV-Uutiset ;http://ra.yle.fi/ramgen/yle24/video/uusin_rk.rm LATVIJA-LR1 ;rtsp://lr1r.latvijasradio.lv:554/encoder/lr1.rm NEDERLAND DEVENTER ;http://217.67.237.54:80 SWEDEN-Falkoeping ;rtsp://82.193.179.76/encoder/fnf.rm YUGOSLAVIA MORAVA ;http://67.15.66.51:8700 ALBANIA Haracina ;http://62.75.178.141:8000 HAWAII Mountain Apple Company;http://69.13.65.118:8000 AUSTRIA STEIERMARK ;http://vid01.wkstmk.at/ram/radiost.ram SWITZERLAND DRS1 --NEWS ;http://audio.drs.ch/ramgen/nachrichten/latestnews.smi ARUBA GALACTICA ;rtsp://209.88.129.57:554/encoder/galacticafm.rm USA SCIRNET1950-60 ;http://213.251.129.14:8038;http://216.66.69.90:8880 USA ClassicHeartland ;http://130.166.72.1:8006 USA TIMS BONEYARD ;http://68.46.123.206:8000
/* ============================================================================= Date : 2005-11-29 LastModified : 2005-11-30 Author : <garry> ProductName : RSS_READER.ahk <AutoHotKey> : listen radio/TV : see RSS and start mp3/video ============================================================================== */ ;============================================================================= TW=RSS C=008080 ;teal setformat,float,3.0 runwait,%COMSPEC% /C if not exist \_CSV\NUL MD _CSV,,hide runwait,%COMSPEC% /C if not exist \_HTM\NUL MD _HTM,,hide ;REALPLAYER=%A_ProgramFiles%\REAL10-5GOLD\realplay.exe REALPLAYER=%A_ProgramFiles%\REALPLAYER\realplay.exe R3C=%A_scriptDir%\_CSV R3E=%A_scriptDir%\_CSV\_RSS.csv R3F=%A_scriptDir%\_CSV\_RSS_last.csv R3D=%A_scriptDir%\_CSV\_Divers2.csv ifnotexist,%R3D% { fileappend,,%R3D% } ifnotexist,%R3E% { fileappend,,%R3E% } ifnotexist,%R3F% { fileappend,,%R3F% } ;============================================================================== formattime,TS,,longdate formattime,TT,T12,time SM2:=100 ;volume soundset,0,master,mute ;SPEAKER=MASTER ON SoundSet,%SM2%,master ;SPEAKER=MASTER volume soundset, 0,WAVE,mute ;WAVE ON SoundSet,100,WAVE ;WAVE SoundGet,MAS,Master Gui,Color, 000000 Gui,Font, S10 CDefault , FixedSys XL:=230 WL:=610 T1:=(WL-5) T2:=0 T3:=0 Gui,Font, S10 CDefault,Lucida Console Gui,Add, ListView,background%C% csilver grid r20 x260 y0 w%WL% +hscroll altsubmit gLW2, Name|RECORD|REMARK LV_ModifyCol() Gui,Show, x3 y3 w880 h325,%TW% Gui,add,Listbox,x130 y17 w130 h312 vF1 gLB Loop,%R3C%\*.csv { FX=%A_LoopFileName% stringlen,L1,FX stringmid,FA,FX,1,L1-4 GuiControl,,F1,%FA% } Gui,Font, S10 CDefault , FixedSys ;----------------------------------------------------------------------------- Gui,Add,Text,cyellow x10 y1 ,VOLUME Gui,Add,Text,cyellow x140 y1 ,GENRE Gui,Add,Slider, x5 y17 w120 h20 vVolume Range0-100 gVolumeX,%SM2% Gui,Add,Edit, x5 y39 w120 h20 vEditText3 gEdit3, Gui,Add,Button, x5 y66 w120 h20,MUTE_ON/OFF Gui,Add,Button, x5 y91 w120 h20,MIXER Gui,Font, S8 cwhite, Verdana Gui,add,button, x5 y120 w120 h20,ShoutCast Gui,add,button, x5 y150 w120 h20,Radio-Search Gui,add,button, x5 y180 w120 h20,TV-Search Gui,Font, S10 CDefault , FixedSys Gui,Add,Button, x5 y295 w120 h20,AddUrl ;---------------------------------------------------------- Gui,Font, S8 cwhite, Verdana Gui,Add,Edit, x260 y300 w%WL% h20 ReadOnly vH2, ;---------------------------------------------------------- LB: Gui,Submit,nohide T1A:=(XL+T1) T2A:=(XL+T1+T2) ;T3A:=(XL+T1+T2+T3) LV_Delete() LV_ModifyCol(1,T1) ;LV_ModifyCol(2,"integer 0") LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) GuiControl,,H2, F2=%R3C%\%F1%.csv loop,read,%F2% { stringsplit,BX,A_LoopReadLine,`;, if BX1= GOTO SK1 LV_Add("",BX1,BX2,BX3) SK1: BX1= BX2= BX3= } return ;============================================================== CREA-PODCAST: Gui,submit,nohide K=0 FPC1=%A_ScriptDir%\_HTM\h.TXT filedelete,%FPC1% filedelete,%R3F% URLDownloadToFile,%C2%,%FPC1% Loop,Read,%FPC1% { LRL=%A_LoopReadLine% IfInString,LRL,<title> { { StringGetPos,P1,LRL,<title> P1:=P1+8 } IfInString,LRL,</title> { StringGetPos,P2,LRL,</title> P2:=P2-7 } StringMid,title,LRL,P1,P2 } IfInString,LRL,<enclosure url=" { { StringGetPos,P1,LRL,<enclosure url=" P1:=P1+17 } stringlen,L2,LRL stringmid,A6,LRL,P1,L2-P1 I=0 Loop,parse,A6,` { I++ Transform,D2,ASC,%A_LOOPFIELD% if D2=32 GOTO,GG1 } GG1: P2:=((P1+I)-(P1+2)) StringMid,url,LRL,P1,P2 StringReplace,title,title,;,,All StringReplace,title,title,,,All K++ Fileappend,%title%;%url%`r`n,%R3F% } } CHK1: if K>0 { Splashimage,,b x300 y440 w500 h50 CWsilver m9 b fs10 zh0,%TS% %TT%,%C1% RSS created Sleep,2000 Splashimage, off GoTo,EX } else { Splashimage,,b x300 y440 w500 h50 CWsilver m9 b fs10 zh0,%C1% RSS not created,FAILURE Sleep,2000 Splashimage, off GoTo,Ex } EX: LV_Delete() LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) ;LV_ModifyCol(2,"integer 0") LV_ModifyCol(3,T3) GuiControl,,H2, loop,read,%R3F% { stringsplit,BX,A_LoopReadLine,`;, if BX1= GOTO SK7 LV_Add("",BX1,BX2,BX3) SK7: BX1= BX2= BX3= } return ;==================================================================================== ;---------------------------------------- buttonAddUrl: LM1=60 ;lenght NAME Gui,2:Font, S10 CDefault , FixedSys Gui,2:Add,Text, x1 y5 w80 h20, NAME Gui,2:Add,Edit, limit%LM1% x80 y5 w500 h20 vA31, %A31% Gui,2:Add,Text, x1 y35 w80 h20, URL Gui,2:Add,Edit, x80 y35 w500 h20 vA35, %A35% Gui,2:Add, Button, x550 y62 w40 h25, OK Gui,2:Show, x2 y385 w600 h95, URL-INPUT return ;--------------------------------------- 2ButtonOK: 2GuiClose: 2GuiEscape: Gui,2:submit if A31= { A31=_unknown } if A35= { GUI destroy return } if F1= { FILEAPPEND, %A31%`;%A35%`r`n,%R3D% } else { FILEAPPEND, %A31%`;%A35%`r`n,%F2% } A31= A35= Gui destroy return ;--------------------------------------- VolumeX: Gui, Submit, NoHide SoundSet,%volume%,master SoundGet,MAS,Master GuiControl,, EditText3,%volume% Return Edit3: Gui, Submit, Nohide GuiControl,,volume,%EditText3% Return ;----------------------------------------- buttonMUTE_ON/OFF: soundset,+1,master,mute K1++ transform,MD1,MOD,K1,2 transform,pr,chr,37 if MD1=0 MD2=%MAS%%PR% else MD2=SPEAKER OFF Gui,Add,Edit, cred x5 y39 w120 h20 ,%MD2% return ;------------------------------------------- buttonMixer: run,sndvol32.exe ;CN=RunDLL32.EXE shell32.dll,Control_RunDLL mmsys.cpl,,1 ;run,%CN% return ;---------------------------- buttonShoutcast: run,http://www.shoutcast.com return ;======================================= buttonRadio-search: run,http://www.radio-locator.com/cgi-bin/home return ;----------------------------------------------------------------------------- buttonTV-search: run,http://www.wwitv.com/portal.htm?http://www.wwitv.com/television/index.html return ;================================================ LW2: Gui, Submit,nohide if A_GuiEvent = Normal { MouseGetPos,x,y LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) GuiControl, ,H2,%C2% if x>%T1A% { LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) GuiControl, ,H2,%C2% } } ;============== PLAY ========= if A_GuiEvent = DoubleClick { MouseGetPos,x,y { if x<%T1A% { LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) GuiControl, ,H2,%C2% stringright,E3,C2,3 stringright,E4,C2,4 if E4=.xml GoTo,RS E4X=.mp3,.smi,.mpg if C2 contains %E4X% GoTo,REAL RS: if F1=_RSS GoTo, CREA-PODCAST REAL: ifexist,%REALPLAYER% run,"%REALPLAYER%" "%C2%" return } } } return GuiClose: ExitApp