[Mono-list] A new project: a radiostation application

Philip Van Hoof spamfrommailing@freax.org
03 Mar 2003 10:42:57 +0100

Hi there,

We, three developers, are planning to start working on a GPL
radiostation application. There are a few such applications already
available like http://www.carmen.be. We would like to inherit the
features from such applications and make it possible to import data from
them. You can find screenshots of carmen on their website.

Some of the features include ...

* Playing multiple music channels at the same time. This music can come
from anywhere (a stream on the internet, a local mp3 or ogg file, a
stream from a shoutcast-server, input from a soundcard, etc etc)

* It should support all the advanced features of those fancy soundcards
-this is, in the first stage, less important. Most radiostations don't
yet need a very high quality sound which those soundcards can deliver-

* It should support multiple soundcards. For example, one soundcard for
the input of media, one for the output, another one for another radio
station that is running on the same computer, etc etc

* Support for Radio Data System (I don't know if it is used a lot in the
US but it is in Europe.. the primary use of this application will be in
Belgium/Europe. So we need support for at least one device)

* Automated mixing of songs. Each song has information like fadein and
fadeout time in a database. This information should be used to determine
when the next song should start and when the current song should start
fading in. It should also be possible to record a introduction for each
song and the system should, if recorded, play that while starting the
song (so, 

* A very, "VERY" advanced playlist which gives the DJ the possibility to
of course add and remove songs very easily and which shows when the
songs will start (the correct time, calculated using information like
fadein, fadeout and song lengths of other songs that will be played).

* Support in the playlist to have advertisement. Most radiostations have
a "advertisement"-planning .. (for example, they start the commercials
each hour or each half-hour or at 16:00 and 16:15 and ...). The playlist
should show that...

* It should be possible for the DJ's to control the computer at home.
For example in case nobody is mixing at night or in the early morning
and something went wrong... So perhaps a webinterface or something like
that should add the possibility to change the next song that will be

* Monitoring of data: Another soundcard gets input. If there is nomore
sound then something like sending a mail or a SMS to a key DJ should
happen automatically. The idea is to be on the air 24/7... 

* Multiple players (duh). So we are not JUST trying to recompile xmms or
another simple mp3-player. And all these players can play anything
like.. a stream from a shoutcast-servver, a local mp3file, a cd, a a

* A music-voting system. So that people can vote the next songs on a
website, using their mobile, etc etc .. For example, at night or in the
early morning when there is no DJ .. the voting system is used. And, of
course, the mixing and the playlist does it job starting and mixing

I figured..we will need a VERY VERY VERY advanced multimedia framework
for this. Then I saw a demo of GStreamer at FOSDEM in Brussels and
started thinking .. maybe this can help us. We will also need a very
good application development framework. Two of the three developers have
been programming .NET. One (me) is also a fanatic GNOME developer and
one is willing to learn a lot. Maybe C# is a good choice so thats why I
am sending this question to both the GStreamer and Mono mailinglists.

The questions..

* Are both GTK# and GST# mature enough for this? And if the "#" is not
mature enough then is GStreamer ready for a project like this?

* Are there others interested in helping this project? We do want to use
the GPL license but .. we are also planning to actually sell this
application and do professional support for it here in Belgium. Of
course once it is finished (so, we are serious.. not a bunch of kids
trying to hack a application and then throw it in the masses -> this is
a very specific application with a huge amount of very important
features that just need to work, period). We think we will need a year
to complete the application (three developers). Note that we will not
work on this application every hour.. we have real jobs and
[girl|boy]friends :)!

* Is the linux platform ready for this? Afaik it is. But what about
support for multiple soundcards and RDS?)

* How portable are GStreamer, Mono and Gtk# (I know mono runs on Windows
and a lot other platforms. But what about GStreamer and the C# bindings
like Gtk# and Gst#?). It would be, of course, great if we can build our
application once and can then deploy it on a lot platforms.

* Is this project a good idea? Or should we not even think about trying
to create it .. (yes, we know that Unix stands for anti-bloatware. Well.
if you are a DJ then you understand that this application should work
fast and well. A DJ does not have time to switch between mp3-players,
mixing tools, playlists, crab, a advertising/commercial-planning
application, RDS, blabla, ... it should all be integrated in one system)

* Are there specific requirements for non-Belgian and/or not Europe
radiostations? Are there idea's ? Hints? Tips?

* etc

Philip Van Hoof
me at freax dot org
http://www.freax.be http://www.freax.eu.org