World: r3wp
[!REBOL3-OLD1]
older newer | first last |
shadwolf 2-Dec-2009 [20001] | user-agent winamp doesn't work in fact the reply we have is like an HTTP document not found ... |
Oldes 2-Dec-2009 [20002] | opening http scheme is doing the GET for you, so no, you can't do that. |
shadwolf 2-Dec-2009 [20003x2] | cause you use the http:// scheme no ? |
in your url ? using the tcp:// would it be possible ? | |
Oldes 2-Dec-2009 [20005] | yes |
shadwolf 2-Dec-2009 [20006x5] | : open/direct/no-wait/binary tcp://ifb.impek.com:8000/ insert p "GET path HTTP/1.0 ^/ Icy-MetaData:1 ^/^/" |
like that ? | |
how can i inject request to the socket ? | |
to do what is explained here http://www.smackfu.com/stuff/programming/shoutcast.html | |
oldes ? | |
Oldes 2-Dec-2009 [20011x5] | you can use something like: maxlen: 20 * 4096 p: open/no-wait/direct tcp://ifb.impek.com:8000 insert p "GET / HTTP/1.0 ^/Icy-MetaData:1 ^/^/" data: copy #{} while [not none? buf: copy/part p 2048][ append data buf if maxlen <= length? data [break] ] ;do something with data close p |
but why? You get the ICY using the method above as well. And if yu need song data, these will be in ID3 tags. | |
and the ID3 will be on the song start so this would require to listen the stream for some time and parse it | |
also instead of: while [not none? buf: copy/part p 2048][ using: while [buf: copy/part p 2048][ which is more ROBOLious :) | |
I just don't get why REBOL is changing the LF to CRLF, but I was not doing network coding for a very long time. | |
shadwolf 2-Dec-2009 [20016x5] | in fact the ICY we get with your method is a warning notice inviting you to use winamp and not the ICY with the song title and artist name wich are the information i want ... |
anyway i can work with the HTML version ... | |
oldes have you read the site i gave earlier ? | |
oh osrry i didn't read the whole replies ... | |
ok thank you very much i will try that | |
Oldes 2-Dec-2009 [20021] | no.. I don't have much time now.. I don't think it's warning. I can try to sniff real winamp communitacion later. Also we are really off topic here |
shadwolf 2-Dec-2009 [20022x2] | but with the request injection the reply is the data .... |
rhat's what the PHP script does it get the raw data tehn locate the metatag part and extract the needed data | |
Oldes 2-Dec-2009 [20024] | check this: maxlen: 20 * 4096 p: open/direct/binary tcp://ifb.impek.com:8000 insert p "GET / HTTP/1.0 ^/Icy-MetaData:1 ^/^/" data: copy #{} while [buf: copy/part p 20048][ append data buf probe length? buf if f: find buf "StreamTitle" [ probe as-string copy/part f find f ";" break ] if maxlen <= length? data [break] ] probe length? data close p |
shadwolf 2-Dec-2009 [20025] | oldes with you last methode we get the information i want oldes with you last methode we get the information i want StreamTitle='RACHID TAHA BONJOUR';StreamUrl=''; vMQ(@K @ abm@]kaz |
Oldes 2-Dec-2009 [20026] | I know:) but you should parse it using some better way, if you want to also store the MP3 |
shadwolf 2-Dec-2009 [20027x3] | so i do a find "StreamTitle=" or a parse data [ some [ "StreamTile=" copy artistsong thru ";StreamUrl="] |
in order to isolate the inforation i want | |
oldes i don't care the MP3 i can't decode it with rebol .... | |
Oldes 2-Dec-2009 [20030] | no.. the StreamTitle is just a part of the ICY info |
shadwolf 2-Dec-2009 [20031] | i just want the StreamTitle information ... |
Oldes 2-Dec-2009 [20032x2] | ok, if you need only the name, than it should be enough, if you don't get the info just in the buf border |
btw, I like Rachid Taha's music:) | |
shadwolf 2-Dec-2009 [20034x5] | yeah that's the new one ok i made a HTML version oldes if you want to see the bot |
irc.quoimagueule.com:6667 #maurice | |
ok it work perfect thank you oldes ^^ | |
hum the HTML modeparsing is faster than the binary version T___T at least i learned many things on the net area... | |
thank you very much for your time oldes | |
Oldes 2-Dec-2009 [20039] | because the binary is used for player, and zou first get about 40kB of data before the name. |
shadwolf 3-Dec-2009 [20040x2] | yeah |
oldes one day we will do a winamp streaming player using Rebol 3 in only 10 lines :P | |
Steeve 3-Dec-2009 [20042] | About comparing pairs, currently we've got an error... >> 1x1 < 2x2 == script error! cannot compare pair! with pair! Is that "y" must take precedence over "x" (as in R2), or not. But a default behavior must be taken. Personnaly I prefer no coordinate precedence (i don't really care). i.e. : >> pair1 < pair2 as >> pair1 = min pair1 pair2 |
Oldes 3-Dec-2009 [20043] | I agree |
Geomol 3-Dec-2009 [20044x2] | Isn't this more correct? (pair1 = min pair1 pair2) and (pair1 <> pair2) |
Yours is the same as: pair1 <= pair2 | |
Steeve 3-Dec-2009 [20046] | correct |
BrianH 4-Dec-2009 [20047x2] | IMO both coordinates should be lesser for < to return true. If you want to compare the x or y coordinates on their own, do so. |
So p1 < p2 would be the same thing as (p1/x < p2/x) and (p1/y < p2/y). | |
Geomol 4-Dec-2009 [20049x2] | It's also problematic using MIN with pairs to make some rules, as can be seen with this example: >> min 2x2 3x1 == 2x1 It seems, MIN can create a new value, that isn't among the input values. Related to this is complex numbers, that have a real and an imaginary part (like 2D coords have two parts). In e.g. Python, you get an error, when using inequalities (<, >, <= and >=) with complex numbers. In math, it doesn't really make sense to use an equality with two complex numbers. You can do that with the absolute value (like length of a vector). So maybe it's more correct to give an error, when comparing pairs this way, like R3 does now. |
or use the rules found here: http://en.wikipedia.org/wiki/Inequality#Complex_numbers_and_inequalities and here: http://en.wikipedia.org/wiki/Inequality#Vector_inequalities | |
older newer | first last |