IntRadRec - an internet radio recorder

Miscellaneous Forums/Blitz Showcase/IntRadRec - an internet radio recorder

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: <a href="http://somafm.com" target="_blank">http://somafm.com</a>
<<< content-type: audio/mpeg
<<< icy-pub: 1
<<< icy-metaint: 16384
<<< icy-br: 128
<<< 
Bank size: 8192 Head location:16384(15972) Head Len:166 Meta:ŒA2‹¡7â6{²ÜoIÈ8>y6¼%w=Ó.í²ÐÌq׉$ÕUpµÇ«³™s“ó‘È”%|xïígZ³XõŠo% ESÿû’èòÎ!ÕOJP^„úoJ$ÑZ
1+‚–éÁ¼!0ÿÿë%Xß千~
0y€ÒÔdŒ²·‰ÉOµNÖñƒŽ¼Øâk>R-"[u*%1&—t:íG£°í¹,mö£ŒÖ†¬ÛÆsò­1ú»ž5y—2ííîĂЂ,¬n}¼~lûC.­ §¥A§˜ÜR/ÓiFY#Iaª?X<
Bank size: 8192 Head location:32768(32356) Head Len:6 Meta:zàbÆJà<¸\ÃN
%ék½pxÿWñŠóü4ÞÖÀIŒãŠ}®úÖhw¬›µõV(þÑjÿ=ñ¦pSTL•Žù°eô!šow¬þÃ&‰sªÝ‚m
Bank size: 8192 Head location:49152(47767) Head Len:106 Meta:‘LŒ{e‘]YšËì†FA'ÜyOŠ[="GWSEÂGTÄ”[…"¥Þ‹šP@~«‘4;°QÓ
Bank size: 8192 Head location:65536(64151) Head Len:26 Meta:ô€\.ê	Æ'áž•¿øíŸë>ïþÿüõ¹6ÆÈ×&R‰“'˃„4 ïhÔ~˜||@ðLk9à /%Ò6	]bµ 
¯éEòÂÊÒó»låàu§«hÎÎ!sÜ’hÉ	ÐDÙ‚t2ó
ä¾d²²ê;¿ý«¯oŠ:FžƒàCŒL?ãH#ýnéÈ}5x6ƒ¨æ0‹ÔhÎ7€à0õšGvWIúäêeqHmøzþd»Ÿžáuùr2çþîüÛþ*yY„ö©‘¼baë
ÙŽãùëUþe_¯þï!œž©q•Í|qÿû’íó"*ÑZ2`b$z@kIJ”Õb°Ëu™,Àö%püß8ð	µ
ñNå#¼<ˆ Ú͸VÂåï®N¡³*3pÍŽÃ×”Ñ{ávòù—/ýwÓlŠ“!ëÝu™Æ&ì>9Žãêõ¹þdoûvå¹=©ã+^8úç«Gp„m¢¼€e2évvê»õš8(’t@‰sçŽ4Ó¶Æ|Í”¨


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

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

I know you can stream audio in FMOD and BASS, are you using one of those? or MaxMod?

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.