13 years agoMerge commit 'meins/master'
Andre Noll [Mon, 2 Mar 2009 09:39:59 +0000 (10:39 +0100)]
Merge commit 'meins/master'

13 years agovss.c: Improve the fec timing code.
Andre Noll [Sun, 1 Mar 2009 22:09:51 +0000 (23:09 +0100)]
vss.c: Improve the fec timing code.

This patch

- Fixes a the bug where assert(start_buf) caused para_server
to abort.
- Gets rid of buffer underruns by introducing a quick hack that
sends all but the first slice a bit early.
- Moves some code from compute_next_fec_slice() to
setup_next_fec_group() where it belongs.

13 years agoSimplify dispatch_slice().
Andre Noll [Sun, 1 Mar 2009 21:10:53 +0000 (22:10 +0100)]
Simplify dispatch_slice().

13 years agofecdec: Add some more documentation, minor improvements.
Andre Noll [Sun, 1 Mar 2009 21:08:23 +0000 (22:08 +0100)]
fecdec: Add some more documentation, minor improvements.

13 years agofecdec: Minor cleanups.
Andre Noll [Sun, 1 Mar 2009 20:54:24 +0000 (21:54 +0100)]
fecdec: Minor cleanups.

13 years agofecdec.c: Add some more sanity checks to find_group().
Andre Noll [Sun, 1 Mar 2009 20:09:37 +0000 (21:09 +0100)]
fecdec.c: Add some more sanity checks to find_group().

13 years agoMake fec parameters configurable.
Andre Noll [Sun, 1 Mar 2009 18:26:04 +0000 (19:26 +0100)]
Make fec parameters configurable.

This patch allows to specify the fec parameters in the add subcommand
like this:

para_client sender udp add

13 years agoMore source code documentation.
Andre Noll [Sun, 1 Mar 2009 13:57:52 +0000 (14:57 +0100)]
More source code documentation.

13 years agovss.h: Kill unused VSS_CHANGE.
Andre Noll [Sun, 1 Mar 2009 13:43:25 +0000 (14:43 +0100)]
vss.h: Kill unused VSS_CHANGE.

13 years agofecdec.c: Don't warn about incomplete slices at close time.
Andre Noll [Sun, 1 Mar 2009 13:42:39 +0000 (14:42 +0100)]
fecdec.c: Don't warn about incomplete slices at close time.

Move that warning to free_oldest_group().

13 years agofecdec_filter.c: Kill useless UNUSED_GROUP_NUM.
Andre Noll [Sun, 1 Mar 2009 13:00:40 +0000 (14:00 +0100)]
fecdec_filter.c: Kill useless UNUSED_GROUP_NUM.

A group is complete iff num_received_slices >= data_slices_per_group.

13 years agofecdec_filter cleanups and documentation improvements.
Andre Noll [Sun, 1 Mar 2009 12:55:29 +0000 (13:55 +0100)]
fecdec_filter cleanups and documentation improvements.

Rename struct fec_group to fecdec_group as we already have struct
fec_group in vss.c. Also kill useless INPUT_BUFFER_SIZE define.

13 years agoAdd some more FEC source code documentation.
Andre Noll [Sun, 1 Mar 2009 12:24:31 +0000 (13:24 +0100)]
Add some more FEC source code documentation.

13 years agoTrivial doxygen fixes.
Andre Noll [Sat, 28 Feb 2009 21:56:47 +0000 (22:56 +0100)]
Trivial doxygen fixes.

13 years agoDefine _GNU_SOURCE to get the ucred structure.
Andre Noll [Sat, 28 Feb 2009 21:39:50 +0000 (22:39 +0100)]
Define _GNU_SOURCE to get the ucred structure.

This is needed for glibc >= 2.8.

13 years agoSimplify compute_slice_timeout().
Andre Noll [Sat, 28 Feb 2009 17:21:55 +0000 (18:21 +0100)]
Simplify compute_slice_timeout().

13 years agovss.c: Get rid of some casts.
Andre Noll [Sat, 28 Feb 2009 14:09:13 +0000 (15:09 +0100)]
vss.c: Get rid of some casts.

13 years agoMerge branch 'gerrit'
Andre Noll [Sat, 28 Feb 2009 13:56:11 +0000 (14:56 +0100)]
Merge branch 'gerrit'

13 years agoAdd forward error correction code to the udp sender/receiver.
Andre Noll [Sat, 28 Feb 2009 13:55:46 +0000 (14:55 +0100)]
Add forward error correction code to the udp sender/receiver.

This patch adds the first draft of a FEC implementation based
on code by Luigi Rizzo.

On the server side, the FEC encoding is done within the virtual
streaming system which also contains the timing routines for sending
a FEC-encoded audio stream. Senders my request such an encoded stream
by calling vss_add_fec_client() with a fec_client_parms structure
that contains the FEC parameters and a callback function which is used
to actually send the data.

On the receiver side, the new fecdec filter is introduced which must
be used to decode a FEC-encoded stream. As the fec parameters are
contained in the header of each data slice of the encoded stream, no
options to this filter are necessary.

ATM, FEC is only used by the udp sender/receiver, but other protocols
can be easily changed to use FEC as well.

This new code is still experimental, lacks documentation and the fec
parameters can currently only be changed by editing the source code.

13 years agoURL/UDPv6 support for the UDP sender.
Gerrit Renker [Sat, 28 Feb 2009 12:40:01 +0000 (13:40 +0100)]
URL/UDPv6 support for the UDP sender.

This adds support for URL strings to support IPv4/IPv6 addresses, hostnames,
and optional port numbers to the UDP sender. The syntax is based on RFC 3986,
example URL strings to be used with the 'add'/'delete' commands are: # host:port # host with default port 8000
     localhost # hostname (for IPv4 or IPv6 host)
     localhost:8001 # hostname with port
     [::1]:8000  # same, but different syntax
     [badc0de::1] # IPv6 host with default port 8000

The 'delete' command now also supports port-wildcarding, i.e. not specifying
the port in the 'delete' command removes all targets whose host names match.

The UDP sender has been tested to function with IPv6, including multicasting:
 * server: para_server --udp_target=[ff05::beef]:8000 --udp_mcast_iface=eth1
 * client: para_audiod -F -D -r 'ogg:udp -i ff05::beef -I eth0'

13 years agoAuxiliary functions to parse and validate parts of URIs.
Gerrit Renker [Sat, 28 Feb 2009 12:40:01 +0000 (13:40 +0100)]
Auxiliary functions to parse and validate parts of URIs.

To support URI syntax in the manner of RFC 3986, this adds a self-contained set
of functions to parse (parts of) URIs and to validate such parts using basic
syntax checks.

To avoid blocking while resolving DNS strings, strings that do not have the
characteristics of native IPv4/v6 address strings always pass; a wrong hostname
will then be detected later when connecting.

Note: strictly speaking, this does not deal with URIs, since the 'scheme' part
      is missing and only the "locator" part is parsed. It is possible to extend
      this later, using something like dccp://host[:port], http://host[:port],
      or udp://host[:port] to specify the transport protocols of paraslash.

13 years agoaacdec: Do not fail on emtpy buffers.
Andre Noll [Sat, 28 Feb 2009 11:45:51 +0000 (12:45 +0100)]
aacdec: Do not fail on emtpy buffers.

13 years agoalsa: Do not fail if sw params could not be installed.
Andre Noll [Mon, 23 Feb 2009 13:24:42 +0000 (14:24 +0100)]
alsa: Do not fail if sw params could not be installed.

This is not fatal, so just print a warining.

13 years agoSimplify client_open().
Andre Noll [Fri, 20 Feb 2009 21:47:06 +0000 (22:47 +0100)]
Simplify client_open().

Use the file_exists() helper and add missing documenation for
the loglevel arg.

13 years agoMerge commit 'fml/master'
Andre Noll [Mon, 16 Feb 2009 22:38:16 +0000 (23:38 +0100)]
Merge commit 'fml/master'

13 years agoPut IPv4-specific parts inside the ACL subsystem
Gerrit Renker [Sat, 7 Feb 2009 19:16:50 +0000 (20:16 +0100)]
Put IPv4-specific parts inside the ACL subsystem

The ACL subsystem performs access validation based on IPv4 address /
netmask pairs. Since the internals of this system are exposed via
struct sender_command_data, other subsystems can only use IPv4.

This patch migrates the IPv4-specific parts of the ACL subsystem inside
that system and replaces the 'struct in_addr' address with a host
string. A subsequent patch converts the remaining subsystems to also
use strings instead of AF-dependent addresses.

For the present purpose the string size (fixed) is over-dimensioned,
since a valid IPv4 address contains at most 15 = 4*3 + 3 + 1 bytes
(including the 3 dots and the '\0'). The size should also be sufficient
for hostnames, since RFC 1123, 2.1 suggests a maximum length of 255.

Since the conversion string -> struct in_addr now happens later,
syntax checks have been added for argument strings.

13 years agoTypos
Gerrit Renker [Sat, 7 Feb 2009 18:06:31 +0000 (19:06 +0100)]

Found when rtfm.

13 years agoAllow to specify UDPv4/6 multicast interface
Gerrit Renker [Sat, 14 Feb 2009 17:36:42 +0000 (18:36 +0100)]
Allow to specify UDPv4/6 multicast interface

Using a Posix function, this allows to specify outgoing/incoming
multicast interfaces, e.g.

  para_server --udp_target= --udp_mcast_iface=eth1


  para_audiod -D -r 'ogg:udp -i -I eth0'

The option simplifies multicast streaming, which is now possible without
having to set a multicast route when there is more than one network interface.

This option works unconditionally for UDPv6. For UDPv4 it is only enabled
on hosts that support `struct ip_mreqn', support for which is detected
via configure.

On OSes that do not support this struct, a warning message is printed;
while it is possible to add the same functionality also in those cases,
it would complicate the implementation and thus has been left out.

13 years agoSupport for UDPv4/v6 multicast streaming
Gerrit Renker [Mon, 2 Feb 2009 19:58:49 +0000 (20:58 +0100)]
Support for UDPv4/v6 multicast streaming

This provides self-contained support for UDPv4/v6 multicast:
 * receiver joins multicast v4/v6 address;
 * sender, on encountering a multicast address, sets TTL/IPv6
   number of multicast hops, and (as a precaution) enables looping
   back of multicast packets.

The use of the sender is still restricted to UDPv4, since it is also
necessary to perform changes to the (IPv4-based) udp_target struct,
which should be done in a separate patch.

13 years agoFix a typo in gui.c.
Andre Noll [Sun, 15 Feb 2009 17:12:19 +0000 (18:12 +0100)]
Fix a typo in gui.c.

13 years agoMerge commit 'fml/master'
Andre Noll [Wed, 11 Feb 2009 22:56:24 +0000 (23:56 +0100)]
Merge commit 'fml/master'

13 years agoFix the ROUND_UP macro.
Andre Noll [Wed, 11 Feb 2009 21:18:17 +0000 (22:18 +0100)]
Fix the ROUND_UP macro.


13 years agoDo not allocate too much space for the mp3 chunk table.
Andre Noll [Wed, 11 Feb 2009 21:17:42 +0000 (22:17 +0100)]
Do not allocate too much space for the mp3 chunk table.

The chunk_table contains an array of uint32_t values.

14 years agoMerge commit 'fml/master'
Andre Noll [Tue, 10 Feb 2009 07:44:02 +0000 (08:44 +0100)]
Merge commit 'fml/master'

14 years agoMerge commit 'meins/master'
Andre Noll [Mon, 9 Feb 2009 19:37:04 +0000 (20:37 +0100)]
Merge commit 'meins/master'

14 years agoMerge commit 'meins/master'
Andre Noll [Fri, 6 Feb 2009 17:01:53 +0000 (18:01 +0100)]
Merge commit 'meins/master'

14 years agoafs.cmd: Add documentation of ls -lc.
Andre Noll [Wed, 4 Feb 2009 21:33:04 +0000 (22:33 +0100)]
afs.cmd: Add documentation of ls -lc.

14 years agoattribute.c: Trivial docu fix.
Andre Noll [Wed, 4 Feb 2009 21:32:34 +0000 (22:32 +0100)]
attribute.c: Trivial docu fix.

14 years agoIgnore SIGUSR1 before forking the afs process.
Andre Noll [Wed, 4 Feb 2009 21:27:29 +0000 (22:27 +0100)]
Ignore SIGUSR1 before forking the afs process.

Otherwise, afs might get killed by SIGUSR1 before it gets a chance
to ignore this signal.

14 years agoafs: Fix a shm leak.
Andre Noll [Wed, 4 Feb 2009 21:25:55 +0000 (22:25 +0100)]
afs: Fix a shm leak.

Even if the command handler stops to read the command output
afs must continue to read shmids from server fd so that it can
destroy all shared memory areas that the server created for afs.

14 years agoCall shm(destroy) on the mmd shared memory area right after creating it.
Andre Noll [Tue, 3 Feb 2009 20:41:08 +0000 (21:41 +0100)]
Call shm(destroy) on the mmd shared memory area right after creating it.

It will only be destroyed when the last reference is gone, which
is when para_server exits. This allows to get rid of a global
variable. Moreover, the shared memory area will be destroyed even
in case para_server crashes.

14 years agoSimplify ggo/makefile.
Gerrit Renker [Tue, 27 Jan 2009 10:46:27 +0000 (11:46 +0100)]
Simplify ggo/makefile.

Use a define rather than shell code to compute the options to gengetopt.

14 years agoFix config file handling for audiod and clean up init functions.
Andre Noll [Mon, 26 Jan 2009 22:27:50 +0000 (23:27 +0100)]
Fix config file handling for audiod and clean up init functions.

As noted by Gerrit Renker, audiod refused to start if the --config_file
option was not given and the default config file does not exist.

Fix this bug and rename some of the init functions to make the naming
more consistent.

14 years agoMerge commit 'fml/master'
Andre Noll [Mon, 26 Jan 2009 19:38:08 +0000 (20:38 +0100)]
Merge commit 'fml/master'

14 years agoFix build as root.
Andre Noll [Mon, 26 Jan 2009 13:19:19 +0000 (14:19 +0100)]
Fix build as root.

As noted by Gerrit Renker, when trying to extract help text from
./para_audiod, the build stops when logged in as root because
para_audiod refuses to start as root if --user and --group are
not given.

This patch moves the check for UID==0 after the check for --help and
--detailed-help so that the help text may be extracted as root even
if no --user and --group options are given.

14 years agoBuild problem when no audiod.conf exists
Gerrit Renker [Sat, 24 Jan 2009 22:37:04 +0000 (23:37 +0100)]
Build problem when no audiod.conf exists

This avoids stopping the build process and allows users to read
the detailed help before getting the error message about a missing
audiod.conf file - fixed by parsing after testing for the help text.

14 years agoDon't let make write the filename into the output
Gerrit Renker [Sat, 24 Jan 2009 20:50:09 +0000 (21:50 +0100)]
Don't let make write the filename into the output

The 'cd' output in the command echoed the directory into the
output, which is not welcome in the output file (gengetopt
did not like that).

14 years agoFix para_client's --loglevel option.
Andre Noll [Sat, 24 Jan 2009 14:08:43 +0000 (15:08 +0100)]
Fix para_client's --loglevel option.

Without this fix, para_client always used loglevel debug.

14 years agoFix compile warning on NetBSD.
Andre Noll [Wed, 21 Jan 2009 15:43:41 +0000 (16:43 +0100)]
Fix compile warning on NetBSD.

This fixes

color.c:71: warning: array subscript has type 'char'

14 years agoosx_write.c: Add missing include.
Andre Noll [Wed, 21 Jan 2009 15:11:51 +0000 (16:11 +0100)]
osx_write.c: Add missing include.

14 years agoMerge commit 'meins/master'
Andre Noll [Mon, 19 Jan 2009 13:49:09 +0000 (14:49 +0100)]
Merge commit 'meins/master'

14 years agoMerge commit 'athcx/master'
Andre Noll [Sun, 18 Jan 2009 23:29:44 +0000 (00:29 +0100)]
Merge commit 'athcx/master'

14 years agomake_wav_header(): Add some comments.
Andre Noll [Sun, 18 Jan 2009 23:23:49 +0000 (00:23 +0100)]
make_wav_header(): Add some comments.

14 years agoserver.c: Only try to print errors when not in daemon mode.
Andre Noll [Sun, 18 Jan 2009 23:22:53 +0000 (00:22 +0100)]
server.c: Only try to print errors when not in daemon mode.

14 years agoUse symbolic names for loglevels and clean up the ggo mess.
Andre Noll [Sun, 18 Jan 2009 01:25:42 +0000 (02:25 +0100)]
Use symbolic names for loglevels and clean up the ggo mess.

We now use m4 to generate the ggo files, which allows to get rid of
a lot of duplicated command line options and improves the readability
of the man pages.

14 years agoAdd some more derived files to .gitignore.
Andre Noll [Sun, 18 Jan 2009 01:19:00 +0000 (02:19 +0100)]
Add some more derived files to .gitignore.

14 years agoMove gengetopt targets to own Makefile.
Andre Noll [Sat, 17 Jan 2009 18:59:35 +0000 (19:59 +0100)]
Move gengetopt targets to own Makefile.

14 years agoMove ggo files to a separate directory.
Andre Noll [Sat, 17 Jan 2009 18:22:14 +0000 (19:22 +0100)]
Move ggo files to a separate directory.

14 years agoMove color logging code to daemon.c and use it also for para_audiod.
Andre Noll [Fri, 16 Jan 2009 18:28:57 +0000 (19:28 +0100)]
Move color logging code to daemon.c and use it also for para_audiod.

This patch also introduces the para_log() function of daemon.c so that
both para_server and para_audiod can use it.

14 years agoRename daemon_init() to daemonize().
Andre Noll [Thu, 15 Jan 2009 23:39:05 +0000 (00:39 +0100)]
Rename daemon_init() to daemonize().

14 years agoImplement colored logging for para_server.
Andre Noll [Thu, 15 Jan 2009 23:19:22 +0000 (00:19 +0100)]
Implement colored logging for para_server.

14 years agoLoglevel adjustments.
Andre Noll [Thu, 15 Jan 2009 23:18:20 +0000 (00:18 +0100)]
Loglevel adjustments.

14 years agoMake the loglevels start at zero.
Andre Noll [Thu, 15 Jan 2009 18:32:47 +0000 (19:32 +0100)]
Make the loglevels start at zero.

We want to use an array of size NUM_LOGLEVELS.

14 years agoPrefix loglevel macros with "LL_".
Andre Noll [Thu, 15 Jan 2009 17:47:53 +0000 (18:47 +0100)]
Prefix loglevel macros with "LL_".

14 years agoNEWS update.
Andre Noll [Thu, 15 Jan 2009 04:21:13 +0000 (05:21 +0100)]
NEWS update.

14 years agopara_fade: Add description of the three modes of operation.
Andre Noll [Thu, 15 Jan 2009 04:20:51 +0000 (05:20 +0100)]
para_fade: Add description of the three modes of operation.

Some other small improvements as well.

14 years agoAdd some missing source code documentation.
Andre Noll [Thu, 15 Jan 2009 03:58:05 +0000 (04:58 +0100)]
Add some missing source code documentation.

14 years agoImprove memory mapping.
Andre Noll [Mon, 12 Jan 2009 18:57:01 +0000 (19:57 +0100)]
Improve memory mapping.

para_mmap(): Do not exit on errors. Fix the only caller in vss.c

mmap_full_file(): Use para_mmap().

14 years agopara_fd_set(): Replace check for invalid fds by an assert().
Andre Noll [Mon, 12 Jan 2009 17:11:52 +0000 (18:11 +0100)]
para_fd_set(): Replace check for invalid fds by an assert().

14 years agoImprove SIGHUP handling for afs.
Andre Noll [Mon, 12 Jan 2009 16:34:19 +0000 (17:34 +0100)]
Improve SIGHUP handling for afs.

Make afs also reload the config file and reopen its log file. The old
code did not honor for example loglevel changes.

14 years agoCosmetics: Rename some functions.
Andre Noll [Mon, 12 Jan 2009 14:52:14 +0000 (15:52 +0100)]
Cosmetics: Rename some functions.

Add "_or_die" suffix to functions that exit on errors.

14 years agoVarious small cleanups and documentation improvements.
Andre Noll [Sun, 11 Jan 2009 23:43:21 +0000 (00:43 +0100)]
Various small cleanups and documentation improvements.

14 years agoMajor udp sender/receiver improvements.
Andre Noll [Sun, 11 Jan 2009 22:18:04 +0000 (23:18 +0100)]
Major udp sender/receiver improvements.

- Reserve some bytes in the udp header for future extensions.
- Simplify udp audio header reading/writing.
- Handle short reads in udp_recv.
- Extended sanity checks for the udp audio header.
- Fix a memory leak in the error path of udp_recv_open().

14 years agofilter_common: Fix error checking.
Andre Noll [Sun, 11 Jan 2009 22:16:01 +0000 (23:16 +0100)]
filter_common: Fix error checking.

task->error being a positive value should not be regarded as
an error condition.

14 years agovss barrier fixes.
Andre Noll [Sun, 11 Jan 2009 16:07:36 +0000 (17:07 +0100)]
vss barrier fixes.

This fixes some problems with --announce_time and --autoplay_delay.

14 years agoserver.c: Init the now timeval early.
Andre Noll [Sun, 11 Jan 2009 16:06:03 +0000 (17:06 +0100)]
server.c: Init the now timeval early.

It is used at least in init_vss() which gets called before schedule().

14 years agoSimplify udp_send.c.
Andre Noll [Sun, 11 Jan 2009 02:34:33 +0000 (03:34 +0100)]
Simplify udp_send.c.

It's enough to loop only once over all targets.

14 years agoAlways respect the data_send_barrier.
Andre Noll [Sun, 11 Jan 2009 02:33:08 +0000 (03:33 +0100)]
Always respect the data_send_barrier.

14 years agoImplement chunk queing for the udp sender.
Andre Noll [Sat, 10 Jan 2009 17:36:59 +0000 (18:36 +0100)]
Implement chunk queing for the udp sender.

14 years agoFix a bug in udp_send_buf().
Andre Noll [Sat, 10 Jan 2009 17:19:15 +0000 (18:19 +0100)]
Fix a bug in udp_send_buf().

In case multiple targets are defined and a write for one of them
fails, the old code would return early rather than continue to send
the chunk to the other targets.

14 years agoAdd chunk_queue infrastructure to the udp sender.
Andre Noll [Sat, 10 Jan 2009 17:15:18 +0000 (18:15 +0100)]
Add chunk_queue infrastructure to the udp sender.

The chunk queue is created and destroyed but not yet used.

14 years agoMake send_queued_chunks() public.
Andre Noll [Sat, 10 Jan 2009 17:03:24 +0000 (18:03 +0100)]
Make send_queued_chunks() public.

The udp sender will start to use it soon. Make it take the fd and
the chunk queue instead of a struct sender_client as the udp sender
does not use struct sender_client.

14 years agoupd_send: Add socket fd to close_on_fork list.
Andre Noll [Sat, 10 Jan 2009 16:56:30 +0000 (17:56 +0100)]
upd_send: Add socket fd to close_on_fork list.

14 years agoupd_send.c: Use write_nonblock() rather than write_all().
Andre Noll [Sat, 10 Jan 2009 16:09:16 +0000 (17:09 +0100)]
upd_send.c: Use write_nonblock() rather than write_all().

To this aim, move write_nonblock() from send_common.c to fd.c.

14 years agoFix an fd leak in udp_send.c.
Andre Noll [Sat, 10 Jan 2009 15:52:54 +0000 (16:52 +0100)]
Fix an fd leak in udp_send.c.

In case mark_fd_nonblocking() fails, the old code leaks an open fd.

14 years agoudp sender: Make ttl configurable.
Andre Noll [Sat, 10 Jan 2009 15:50:43 +0000 (16:50 +0100)]
udp sender: Make ttl configurable.

14 years agoudp sender/receiver improvements.
Andre Noll [Sat, 10 Jan 2009 02:48:55 +0000 (03:48 +0100)]
udp sender/receiver improvements.

14 years agoChange year of copyright from 2008 to 2009.
Andre Noll [Sat, 10 Jan 2009 00:53:18 +0000 (01:53 +0100)]
Change year of copyright from 2008 to 2009.

14 years agoReplace the ortp sender/receiver by the generic udp sender/receiver.
Andre Noll [Sat, 10 Jan 2009 00:37:49 +0000 (01:37 +0100)]
Replace the ortp sender/receiver by the generic udp sender/receiver.

The ortp code was broken for quite some time. The new code is smaller and
we drop the dependency on libortp.

14 years agoMerge commit 'meins/master'
Andre Noll [Fri, 9 Jan 2009 00:16:44 +0000 (01:16 +0100)]
Merge commit 'meins/master'

14 years agoFix typo in fade.ggo.
Andre Noll [Thu, 8 Jan 2009 14:35:34 +0000 (15:35 +0100)]
Fix typo in fade.ggo.

14 years agoFix a typo in gui.c.
Andre Noll [Wed, 17 Dec 2008 11:49:24 +0000 (12:49 +0100)]
Fix a typo in gui.c.

14 years agoaudiod: Implement --config-file option.
Andre Noll [Sun, 14 Dec 2008 12:03:48 +0000 (13:03 +0100)]
audiod: Implement --config-file option.

14 years agoaudiod: Include help for receivers/filter/writers in help output.
Andre Noll [Sun, 7 Dec 2008 11:21:48 +0000 (12:21 +0100)]
audiod: Include help for receivers/filter/writers in help output.

14 years agoMake functions for printing recv/filter/write help public.
Andre Noll [Sun, 7 Dec 2008 10:16:43 +0000 (11:16 +0100)]
Make functions for printing recv/filter/write help public.

So that these functions can also be used by audiod.

14 years agopara_afh: Accept more than one input file in info mode.
Andre Noll [Sun, 7 Dec 2008 09:45:33 +0000 (10:45 +0100)]
para_afh: Accept more than one input file in info mode.

14 years agoFix a typo in audiod.ggo.
Andre Noll [Sun, 7 Dec 2008 09:44:28 +0000 (10:44 +0100)]
Fix a typo in audiod.ggo.

14 years agoNEWS update.
Andre Noll [Sat, 6 Dec 2008 16:56:58 +0000 (17:56 +0100)]
NEWS update.

14 years agoImprove help/man page of para_recv.
Andre Noll [Sat, 6 Dec 2008 16:56:08 +0000 (17:56 +0100)]
Improve help/man page of para_recv.

14 years agoMerge commit 'meins/master'
Andre Noll [Sat, 6 Dec 2008 14:36:46 +0000 (15:36 +0100)]
Merge commit 'meins/master'