congratulations from piradio and radiopiloten, too. liquidsoap spent us a lot of beauty sleep, because we always could trust in it's stability and reliability. go on like this! best wishes, Peter
Am 09.10.2011 22:21, schrieb David Baelde: > Dear all, > > After several beta versions, a release candidate and lots of local > tests... Samuel, Romain and I are proud to announce the release of > liquidsoap 1.0.0! > > Although many people already use liquidsoap in various production > settings, this is an important milestone for the project. We consider > this version stable and well designed, we'll maintain it as it is, > doing our best to ensure backward compatibility. > > Of course, we also already have several important ideas for the > future, but we'll take a break before starting to move towards 2.0 ;) > > As usual, download from our sourceforge page: > http://sourceforge.net/projects/savonet/ > > We hope you'll enjoy it. Don't hesitate to spread the word, and don't > forget to register into the Flows which is absurdly Franco-French > at the moment (http://savonet.sourceforge.net/flows.html). > > ** Background > > Liquidsoap is a programming language for multimedia stream processing, > mainly used in building complex netradios. This design makes it a > flexible tool: we believe that liquidsoap is easy to get started with > for a simple project, but the programmability and the many features > make it possible to extend your system beyond what any other tool can > do in that domain. > > ** History& Credits > > Not counting a demo in 2004 at ENS Lyon, Liquidsoap's first release > was the 0.2.0 in 2005. The 0.3.0 line brought the first stable > versions, used in productions with uptimes of months. In 2009, we > started the 0.9.0 line, determined to bring what we considered to be > the missing features for 1.0.0: per-source stream types (mono in one > source, stereo in the other, video in yet another) and clocks. The > first 1.0.0 beta version came up in Sept 2010, and we've mostly been > stabilizing since then -- although a few important features were also > introduced, notably the seek support, v4l input, minimal HTTP& > icecast server capabilities, OSC support. > > Liquidsoap's main developers are David Baelde, Romain Beauxis and > Samuel Mimram. But the project has benefited from the contributions of > many more people, including Vincent Tabard, Julien Cristau, Stéphane > Gimenez, and many more from year when liquidsoap was a students' > project at ENS Lyon. We'd also like to thank the many people hacking > liquidsoap scripts, building tools on top of it, who bring valuable > feedback and ideas. > > ** Changelog > > This is the changelog for 1.0.0 only. If you're migrating from a > version of liquidsoap older than the beta3, don't forget to check the > full CHANGES file for migration tips! > > 1.0.0 (08-10-2011) > ================== > Finally, the 1.0.0 release! It brings several important fixes, but > also some nice novelties. > The most outstanding difference concerns output.icecast(): its restart > and restart_delay parameters are gone, replaced by a new on_stop handler > which is called on every error (failed connection or disconnection) and > returns the new restart delay. The on_error handler receives a string > describing the error which enables user-friendly reporting, adaptative > delays, etc. > Note that on_error defaults to fun(_)->3. which is equivalent to having > restart=true, restart_delay=3. in previous versions, NOT the same as the > former restart=false default. As a result, liquidsoap won't fail to startup > if an initial connection attempt fails. > ================== > Fixes: > - LS-532,527: avoid freeze after errors in streaming threads or source > initialization routines > - LS-542: race condition in playlist*() breaking randomness > - LS-489: double expiration lead to illegal queue length and freeze of > request-based sources > - Avoid multiple simultaneous reloading in playlist*(), > thanks to Fabio Costa for his help on this one! > - Pass charset information to icecast server to avoid encoding bugs > - LS-555: timeout for icecast connection attempts > - LS-559: permanent stop after disconnection on Ogg streams > - LS-565: efficient and crash-free error handling in input.http/harbor() > when the input stream has an invalid number of channels > - LS-431: proper handling of duration in blank() avoids abusive empty tracks > - LS-556: rework conversion operators, optimizations used to be unsafe& > broken > - LS-574: silent MIDI synthesis operators > - LS-396: drop*()'s types reflect that they don't support variable arities > - LS-442: allow comments not terminated by newline at end of file > New: > - on_error handler in output.icecast(), see above > - New msg param in %mp3 for marking frame headers, defaults to version string > - output.file(): new on_close parameter, may be used to write exact duration > - %mp3.vbr/abr for variable bitrate MP3, %mp3 is now a synonym of %mp3.cbr > - MP3 encoders now support ID3v2 tags > - input.http(): new "status" command > - LS-556: mux_mono() for adding a single audio channel into a stream > - video.add_text() using libgd (gd4o) for environments without X > Dependency on graphics can be disabled (to work around erreneous detection) > - script language: add infix operator mod (patch by Fabio Costa) > - delay() now has an "initial" parameter > - LS-557: "server.timeout" setting can now be disabled by setting it to -1 > - LS-532: source.init() for selective init with a way to handle errors, > plus settings "clock.allow_streaming_errors" and "init.force_stat" (or > --force-start on the command line) for easing dynamic uses of liquidsoap > Enhancements: > - Panic crash to avoid frozen liquidsoap after duppy crashes > - Text-to-speech: festival and sox are now only runtime dependencies > - LS-475,516: better support for dynamic URL change in input.http() > - LS-484: display user-friendly error messages in interactive mode > - LS-308: use seconds internally in request sources, avoid overflow and > display more user-friendly debug messages > - Cleanup visu.volume() and video.vis_volume() > - LS-573: replace " " by "_" in identifiers to make them valid in the server > - Script syntax: unary minus now usable without parenthesis after semicolon > - Two generic queues by default, to avoid deadlocks in advanced situations > - Documentation, build& install system, etc. > > Cheers! ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
