Skip to content

Commit

Permalink
Releasing 1.0.0 beta1, updating versions, copyrights, and doc.
Browse files Browse the repository at this point in the history
--HG--
extra : convert_revision : svn%3Aaec24677-d710-0410-a355-ac75e2bdf181/trunk%407569
  • Loading branch information
dbaelde@aec24677-d710-0410-a355-ac75e2bdf181 committed Sep 7, 2010
1 parent 464e98c commit 4630c5a
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 38 deletions.
39 changes: 38 additions & 1 deletion CHANGES
@@ -1,5 +1,42 @@

1.0.0 beta1 (06-09-2010)
========================
This beta version introduces two major new features: heterogeneous stream
types and clocks.
New:
- Different sources can carry different types of content.
- Encoding formats have been introduced to help infer stream content types.
This brings static checking for bounds in encoding parameters.
- Introduce conversions between stream contents (mono, stereo, drop
audio, video, etc) and muxing.
- Allow explicit type annotations in scripts.
- Introduce clocks, cleanly allowing for the coexistence of different
time flows, and avoiding inconsistencies that can result from it.
Soundcard I/O and cross-based operators notably make use of it.
- Remove root.sync, replaced by attaching a source s to clock(sync=false,s).
- Enable dynamic source creation and source.shutdown().
- Extend and adapt MIDI and video operators.
- Introduce purely metadata streams (audio=video=midi=0 channels) and
metadata stream decoder.
- Support WAV streams in input.http/harbor().
- Introduce static image decoder using SDL image.
- Remove bound of request identifies (RID).
- Experimental: source.dynamic() for advanced dangerous hacking.
- Make path relative to script in %include "PATH", and introduce
%include <...> where path is relative to liquidsoap library directory.
- Add channels_matrix parameter to output.ao().
- Add on_(dis)connect hooks in input.harbor().
Cleanup and fixes:
- Lots of cleanup and fixes as with all major code rewriting.
- Optimize video and stabilize it a little bit... still not perfect.
- Rewrite stream and file decoding API, as well as file format detection.
- Enhance shutdown and error message reporting, notably for icecast
and request-based sources.
- Avoid quasi-infinite loop in failed request resolving.


0.9.3 (04-09-2010) 0.9.3 (04-09-2010)
======== ==================
This release is a bugfix of the latest snapshot (0.9.2). This release is a bugfix of the latest snapshot (0.9.2).
It will be the last bugfix before 1.0. It will be the last bugfix before 1.0.
Bugs fixed: Bugs fixed:
Expand Down
6 changes: 3 additions & 3 deletions INSTALL
@@ -1,6 +1,6 @@


Liquidsoap 0.9.3 Liquidsoap 1.0.0 beta
---------------- ---------------------


Mandatory dependencies : Mandatory dependencies :


Expand All @@ -10,7 +10,7 @@


Optional dependencies : Optional dependencies :


ocaml-cry>=0.1.3 for sending to Shoutcast & Icecast ocaml-cry>=0.1.5 for sending to Shoutcast & Icecast
ocaml-ogg>=0.4.1 for Ogg data ocaml-ogg>=0.4.1 for Ogg data
ocaml-vorbis>=0.5.1 for Ogg/Vorbis data ocaml-vorbis>=0.5.1 for Ogg/Vorbis data
ocaml-theora>=0.2.0 for Ogg/Theora data ocaml-theora>=0.2.0 for Ogg/Theora data
Expand Down
6 changes: 3 additions & 3 deletions configure.ac
Expand Up @@ -7,9 +7,9 @@ dnl $libdir/liquidsoap/$libs_dir_version


# Remove +svn and set svn_snapshot to false # Remove +svn and set svn_snapshot to false
# before releasing # before releasing
AC_INIT([liquidsoap],[0.9.2+svn]) AC_INIT([liquidsoap],[1.0.0-beta1])
svn_snapshot=true svn_snapshot=false
version=0.9.2 version=1.0.0-beta1


if test $svn_snapshot != "false"; then if test $svn_snapshot != "false"; then
version="$version+svn" version="$version+svn"
Expand Down
11 changes: 11 additions & 0 deletions doc/content/clocks.txt
Expand Up @@ -174,6 +174,17 @@ itself. The new clock will follow (the computer's idea of) real time,
unless <code>sync=false</code> is passed, in which case it will run unless <code>sync=false</code> is passed, in which case it will run
as fast as possible. as fast as possible.


The old (pre-1.0.0) setting <code>root.sync</code> is superseeded
by <code>clock</code>.
If you want to run an output as fast as your CPU allows,
just attach it to a new clock without synchronization:
%%
clock(sync=false,output.file(%vorbis,"audio.ogg",source))
%%
This will automatically attach the appropriate sources to that clock.
However, you may need to do it for other operators if they are totally
unrelated to the first one.

The <code>buffer()</code> operator can be used to communicate between The <code>buffer()</code> operator can be used to communicate between
any two clocks: it takes a source in one clock and builds a source any two clocks: it takes a source in one clock and builds a source
in another. The trick is that it uses a buffer: if one clock in another. The trick is that it uses a buffer: if one clock
Expand Down
72 changes: 42 additions & 30 deletions doc/liquidsoap.1
@@ -1,45 +1,43 @@
.\" Hey, EMACS: -*- nroff -*- .\" Hey, EMACS: -*- nroff -*-
.TH LIQUIDSOAP 1 "May 27, 2007" "Liquidsoap 0.9.2" .TH LIQUIDSOAP 1 "September 06, 2010" "Liquidsoap 1.0.0 beta1"




.SH NAME .SH NAME
liquidsoap \- programmable audio stream generator liquidsoap \- a multimedia streaming language
.\" .\"
.SH SYNOPSIS .SH SYNOPSIS
.B liquidsoap .B liquidsoap
.RI [ option ... ] .RI [ option ... ]
.RI [ script.liq | expression | audiofile ] .RI [ script | expression ]
.\" .\"
.SH DESCRIPTION .SH DESCRIPTION
.B liquidsoap .B Liquidsoap
is an extensible and flexible audio stream generator, mainly used for is a programming language for describing multimedia streaming systems.
streaming to a shoutcast/icecast server. It is also possible to output in a It is very flexible, making simple things simple but giving a lot
file, to speakers or as raw PCM stream. of control for advanced uses.
.BR liquidsoap .B Liquidsoap
can perform any audio processing, mixing streams together, applying filters, supports audio, video and MIDI streams,
generating sound procedurally, there is no limit but your imagination. and a wide range of input/output operators
Input files can be accessed through the network, using samba, ftp or speech including Icecast and various soundcard APIs.
synthesis. It can perform a broad range of signal processing,
Recognized formats are MP3, Ogg/Vorbis, AAC and WAV. combine streams in various ways, support custom transitions,
Liquidsoap also inputs HTTP streams, or from a soundcard. generate sound procedurally...
The system features lots of programming operators, including user requests, and all this can be assembled as you wish.
time-based selection, sum. Input files can be accessed remotely, or even be synthesized on the fly
Many of these features are optional, so it is possible that they are using external scripts such as speech synthesis.
not enabled in your installation. Finally, interaction with a running liquidsoap instance is possible
via telnet or socket.


.I script.liq Liquidsoap scripts passed on the command line will be evaluated:
is a they shall be used to define the streaming system to be ran.
.B liquidsoap It is possible to pass multiple scripts; they will all be ran successively,
script containing the settings and the source definitions. and definitions from one script can be used in subsequent ones.
The script will be read from standard input if A script will be read from standard input if
.B \-\- .B \-
is given as script filename. is given as script filename.
Information about scripting liquidsoap is available on our website: Information about scripting liquidsoap is available on our website:
.B http://savonet.sf.net/ .B http://savonet.sf.net/


If the parameter is an audio file then liquidsoap will attempt to decode it and
will display the obtained metadata.

If the parameter is not a file it will be treated as an expression which will If the parameter is not a file it will be treated as an expression which will
be executed. It is a convenient way to test simple one-line scripts. In that be executed. It is a convenient way to test simple one-line scripts. In that
case, the default is to have log messages on standard output and to disable the case, the default is to have log messages on standard output and to disable the
Expand All @@ -48,8 +46,10 @@ telnet server.
.\" .\"
.SH OPTIONS .SH OPTIONS
.TP .TP
.B \-h .BI \-h " NAME"
Print the description of a plugin: format, protocol, operator, etc. Print the description of plugins of the given name
(operators from the scripting API,
but also protocols, stream, file and metadata formats).
.TP .TP
.B \-c, \-\-check .B \-c, \-\-check
Only check the syntax of the script. Only check the syntax of the script.
Expand All @@ -68,6 +68,10 @@ Print debugging log messages.
.B \-d, \-\-daemon .B \-d, \-\-daemon
Run in daemon mode, i.e. detach and write a PID file. Run in daemon mode, i.e. detach and write a PID file.
.TP .TP
.B \-\-interactive
Launch an interactive read-eval-print loop for executing scripting
expressions.
.TP
.B \-t, \-\-enable-telnet .B \-t, \-\-enable-telnet
Enable the telnet server interface. Enable the telnet server interface.
.TP .TP
Expand All @@ -80,9 +84,13 @@ Enable the UNIX socket server interface.
.B \-U, \-\-disable-unix-socket .B \-U, \-\-disable-unix-socket
Disable the UNIX socket server interface. Disable the UNIX socket server interface.
.TP .TP
.B \-\- .B \-
Read script on standard input. Read script on standard input.
.TP .TP
.BI \-r " FILENAME"
Process a request: resolve it, attempt to decode it, display its metadata
and duration. This is useful to test how liquidsoap sees your files.
.TP
.B \-\-list\-plugins .B \-\-list\-plugins
Human-readable List of all protocols, operators formats, metadata resolvers, outputs. Human-readable List of all protocols, operators formats, metadata resolvers, outputs.
.TP .TP
Expand All @@ -103,6 +111,10 @@ Display a described table of the configuration keys.
.TP .TP
.B \-\-conf\-dump .B \-\-conf\-dump
Dump the configuration state Dump the configuration state
.TP
.B \-p, \-\-parse-only
Parse scripts but do not type-check and run them.

.\" .\"
.SH SEE ALSO .SH SEE ALSO
Our website Our website
Expand Down
2 changes: 1 addition & 1 deletion src/main.ml
Expand Up @@ -376,7 +376,7 @@ let options =
Arg.Unit (fun () -> Arg.Unit (fun () ->
Printf.printf Printf.printf
"Liquidsoap %s%s.\n\ "Liquidsoap %s%s.\n\
Copyright (c) 2003-2009 Savonet team\n\ Copyright (c) 2003-2010 Savonet team\n\
Liquidsoap is open-source software, \ Liquidsoap is open-source software, \
released under GNU General Public License.\n\ released under GNU General Public License.\n\
See <http://savonet.sf.net> for more information.\n" See <http://savonet.sf.net> for more information.\n"
Expand Down

0 comments on commit 4630c5a

Please sign in to comment.