IntRadRec - an internet radio recorder

Community Forums/Showcase/IntRadRec - an internet radio recorder

Andres(Posted 2008) [#1]
I'm creating a little and simple radio recorder:

It can start up with windows and can be minimized automatically. You can choose for every radio to start recording when porgram starts. Split the file by name, size and time, no split is also supported. Program consists of only 1 file, the executable, because radio list and stuff like that is held in the registry. You can export/import WinAmp pls files, save/load IRR files.

It's almost finished, but i'm having problems with name splitting. 2 times out of 10 i get the correct meta data from the shoutcast stream, but otherwize it gives me just crap:

>>> sent header line, <<< incoming header line
Bank size: how many bytes are streamed in the bank
Head location: Over all meta data location(total received bytes, where bank size isn't added yet)
Head len: length of the header, readbyte() * 16
Meta: data that is read from that location and length
>>> GET /stream/1018 HTTP/1.1
>>> Host: scfire-nyk-aa02.stream.aol.com
>>> User-Agent: IntRadRec 0.01
>>> Icy-MetaData: 1
>>> Accept: */*
>>> Connection: Close
>>> 
<<< ICY 200 OK
<<< icy-notice1: <BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
<<< icy-notice2: Firehose Ultravox/SHOUTcast Relay Server/Linux v2.6.0<BR>
<<< icy-name: Groove Salad: a nicely chilled plate of ambient beats and grooves. [SomaFM]
<<< icy-genre: Ambient Chill
<<< icy-url: http://somafm.com
<<< content-type: audio/mpeg
<<< icy-pub: 1
<<< icy-metaint: 16384
<<< icy-br: 128
<<< 
Bank size: 8192 Head location:16384(15972) Head Len:166 Meta:A276{oI8>y6%w=.q׉$UpǫsȔ%|xgZXo% ES!OJP^oJ$Z
1+!0%X千~
0ydONk>R-"[u*%1&t:G,mֆs15y2Ă,n}~lC. AR/iFY#Ia?X<
Bank size: 8192 Head location:32768(32356) Head Len:6 Meta:zbJ<\N
%kpxW4I}hwV(j=pSTLe!ow&s݂m
Bank size: 8192 Head location:49152(47767) Head Len:106 Meta:L{e]YFA'yO[P="GWSEGTĔ["ދP@~4;Q
Bank size: 8192 Head location:65536(64151) Head Len:26 Meta:\.	'ផ>6&R'˃4 h~|k|@Lk9 /%6	]b 
Eluh!Usܒh	Dقt2
d;o:FCL?H#n}5x60h70GvWIeqHmzdur2*yYba
َUe_!q|q"*Z2`b$z@kIJbˁu,%p8	
N#< VN*3p͎ה{fv/wl!u&>9dov=+^8Gpme2vv8(t@s4Ӷ|͔


reference on meta data: http://www.smackfu.com/stuff/programming/shoutcast.html

icy-metaint equals to first Head location so it should get the StreamTitle='' field, but why it doesn't :S


Ginger Tea(Posted 2008) [#2]
id change the name
i know its the first 3 letters of INTernet RADio RECorder but intradrec just dont trip off the toungue

webradiocorder, although not the best name, is way better


plash(Posted 2008) [#3]
I know you can stream audio in FMOD and BASS, are you using one of those? or MaxMod?


Andres(Posted 2008) [#4]
I'm coding it in BlitzPlus without any library. What are these FMOD and BASS? I tried IntRadRec at friends place and I got the meta data fine, but at home i don't. I tried getting meta data by seeking the whole stream, but that takes ~5% of my processor and that's too much.