Hi list, The Savonet project aims at building a complex web-radio system, completely written in OCaml. We are proud to finally release the first stable version of liquidsoap, the heart of the Savonet system! Not only is it stable, it is also very rich, as demonstrated by examples on our website. Unfortunately, we can't make a public demonstration web-radio. Gentoo ebuilds are available, and Debian packages should be released soon. Check on our website: http://savonet.sourceforge.net Here's a list of the released packages, featuring newly released sub-projects and many major bug fixes: * liquidsoap-0.2.0 Programmable and extensible audio stream generator, allows any kind of audio manipulation. * ocaml-dtools-0.1.1 Utilies for logging, configuration, and startup/shutdown services of your OCaml applications. * ocaml-ftp-0.1.0 FTP file access. * ocaml-smbclient-0.1.0 Bindings for libsmbclient, for Samba file access. * ocaml-fetch-0.1.0 Transparent remote/local file access. * ocaml-mad-0.1.3 Bindings for libmad, for encoding/decoding MP3. * ocaml-mp3id3-0.2.0 For reading Mp3Id3 tags. * ocaml-vorbis-0.2.0 Bindings for libvorbis+libogg, for encoding/decoding Ogg/Vorbis. * ocaml-shout-0.2.0 Bindings for shout2 library for streaming ogg/mp3 audio data. * ocaml-ssl-0.2.0 Bindings for libssl, provinding secure sockets. Thanks to all that work, liquidsoap is a very powerful and flexible audio streaming language, abstracting over format, protocol, stream generation, manipulation and output. Allowing arbitrarily deep-nested composition of streams and easy extensibility, it gives you more power than you need for creating an original web-radio. But liquidsoap is still very light and easy to use, in the Unix tradition of many simple strong components working together. The web-radio we're running accepts user requests, and then search in a database for matching songs. The database feeder is not yet released, but is available on CVS. Other unmaintained parts of the project are a website and an OCaml IRC bot, making easy the user requests and playlist querying. Instead we're currently using an unpublished Perl hack. All of these components were expected to communicate using libsavonet, using authentification, and directly exchanging caml values over network. Hope our project interests a few of you, and demonstrate that OCaml is a great real-life programming language. -- David, for Team Savonet