So, I want to build the greatest online radio ever! (for my, currently crappy, faderwave.net radio station. Right now, I''m running Icecast straight up. The only problem is that managing different DJs and keeping them off the air when they aren''t supposed to be there is a pain. There also is not one single management package that does everything. My current system is a hacked together mess. So, I want to build a unified ruby based solution. No, I''m not going to try to replace Icecast with a hacked pure ruby version, but I am going to try to setup a proxy for DJs to connect to where I can manage every small bit. To do all that, I really have to understand how Icecast works. So, I hacked together a mongrel handler that can accept broadcasting clients and send the stream to listeners... except I don''t really know what I''m doing. So, I would appreciate it if you could look over the code and tell me why it sucks and how to improve it. It''s really short, under 100 lines with comments. Of course, this is just a really rough solution that I hacked together to experiment with interfacing with broadcasting clients and audio players. Anyway, here it is: http://pastie.caboo.se/59073 Thanks, -carl -- EPA Rating: 3000 Lines of Code / Gallon (of coffee)
woops, the subject is supposed to be Shoutcast!!! On 5/4/07, Carl Lerche <carl.lerche at gmail.com> wrote:> So, I want to build the greatest online radio ever! (for my, currently > crappy, faderwave.net radio station. Right now, I''m running Icecast > straight up. The only problem is that managing different DJs and > keeping them off the air when they aren''t supposed to be there is a > pain. There also is not one single management package that does > everything. My current system is a hacked together mess. > > So, I want to build a unified ruby based solution. No, I''m not going > to try to replace Icecast with a hacked pure ruby version, but I am > going to try to setup a proxy for DJs to connect to where I can manage > every small bit. > > To do all that, I really have to understand how Icecast works. So, I > hacked together a mongrel handler that can accept broadcasting clients > and send the stream to listeners... except I don''t really know what > I''m doing. So, I would appreciate it if you could look over the code > and tell me why it sucks and how to improve it. It''s really short, > under 100 lines with comments. > > Of course, this is just a really rough solution that I hacked together > to experiment with interfacing with broadcasting clients and audio > players. Anyway, here it is: > > http://pastie.caboo.se/59073 > > Thanks, > -carl > -- > EPA Rating: 3000 Lines of Code / Gallon (of coffee) >-- EPA Rating: 3000 Lines of Code / Gallon (of coffee)
This sparks nobody''s interest? That makes me a sad panda :( On 5/4/07, Carl Lerche <carl.lerche at gmail.com> wrote:> woops, the subject is supposed to be Shoutcast!!! > > On 5/4/07, Carl Lerche <carl.lerche at gmail.com> wrote: > > So, I want to build the greatest online radio ever! (for my, currently > > crappy, faderwave.net radio station. Right now, I''m running Icecast > > straight up. The only problem is that managing different DJs and > > keeping them off the air when they aren''t supposed to be there is a > > pain. There also is not one single management package that does > > everything. My current system is a hacked together mess. > > > > So, I want to build a unified ruby based solution. No, I''m not going > > to try to replace Icecast with a hacked pure ruby version, but I am > > going to try to setup a proxy for DJs to connect to where I can manage > > every small bit. > > > > To do all that, I really have to understand how Icecast works. So, I > > hacked together a mongrel handler that can accept broadcasting clients > > and send the stream to listeners... except I don''t really know what > > I''m doing. So, I would appreciate it if you could look over the code > > and tell me why it sucks and how to improve it. It''s really short, > > under 100 lines with comments. > > > > Of course, this is just a really rough solution that I hacked together > > to experiment with interfacing with broadcasting clients and audio > > players. Anyway, here it is: > > > > http://pastie.caboo.se/59073 > > > > Thanks, > > -carl > > -- > > EPA Rating: 3000 Lines of Code / Gallon (of coffee) > > > > > -- > EPA Rating: 3000 Lines of Code / Gallon (of coffee) >-- EPA Rating: 3000 Lines of Code / Gallon (of coffee)
Hey Carl-- I thought it was cool ;) Cheers- -Ezra On May 9, 2007, at 2:39 PM, Carl Lerche wrote:> This sparks nobody''s interest? That makes me a sad panda :( > > On 5/4/07, Carl Lerche <carl.lerche at gmail.com> wrote: >> woops, the subject is supposed to be Shoutcast!!! >> >> On 5/4/07, Carl Lerche <carl.lerche at gmail.com> wrote: >>> So, I want to build the greatest online radio ever! (for my, >>> currently >>> crappy, faderwave.net radio station. Right now, I''m running Icecast >>> straight up. The only problem is that managing different DJs and >>> keeping them off the air when they aren''t supposed to be there is a >>> pain. There also is not one single management package that does >>> everything. My current system is a hacked together mess. >>> >>> So, I want to build a unified ruby based solution. No, I''m not going >>> to try to replace Icecast with a hacked pure ruby version, but I am >>> going to try to setup a proxy for DJs to connect to where I can >>> manage >>> every small bit. >>> >>> To do all that, I really have to understand how Icecast works. So, I >>> hacked together a mongrel handler that can accept broadcasting >>> clients >>> and send the stream to listeners... except I don''t really know what >>> I''m doing. So, I would appreciate it if you could look over the code >>> and tell me why it sucks and how to improve it. It''s really short, >>> under 100 lines with comments. >>> >>> Of course, this is just a really rough solution that I hacked >>> together >>> to experiment with interfacing with broadcasting clients and audio >>> players. Anyway, here it is: >>> >>> http://pastie.caboo.se/59073 >>> >>> Thanks, >>> -carl >>> -- >>> EPA Rating: 3000 Lines of Code / Gallon (of coffee) >>> >> >> >> -- >> EPA Rating: 3000 Lines of Code / Gallon (of coffee) >> > > > -- > EPA Rating: 3000 Lines of Code / Gallon (of coffee) > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >-- Ezra Zygmuntowicz -- Lead Rails Evangelist -- ez at engineyard.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)