<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/client.h, branch pu</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=pu</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=pu'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-10-10T19:02:57Z</updated>
<entry>
<title>Make para_mixer single-threaded.</title>
<updated>2026-10-10T19:02:57Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-10-05T23:34:24Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=532eca24d41745ade0c1538f768883132c0c85e2'/>
<id>urn:sha1:532eca24d41745ade0c1538f768883132c0c85e2</id>
<content type='text'>
Introduce the public client_run(), defined in client_common.c, and call
it from mixer.c, avoiding the exec API. This way, para_mixer no longer
links with exec.o and thus no longer spawns a process. To make this work,
the executable needs to link with the three client objects, the two crypto
objects and the buffer tree object.
</content>
</entry>
<entry>
<title>client: Use a named enumeration for the client status.</title>
<updated>2026-10-10T18:48:39Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-09-19T19:12:44Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=bd34ebfc6b42d7c88c7493edab72e7e05be4cdb8'/>
<id>urn:sha1:bd34ebfc6b42d7c88c7493edab72e7e05be4cdb8</id>
<content type='text'>
Named enumerations are generally preferred over anonymous ones.
</content>
</entry>
<entry>
<title>Introduce struct client_config to hide context from public API.</title>
<updated>2026-10-10T18:48:39Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-10-05T19:05:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=1a29479e9387402abc251d553d7c8cd20368507b'/>
<id>urn:sha1:1a29479e9387402abc251d553d7c8cd20368507b</id>
<content type='text'>
The new structure contains those fields of struct client_task that are only
needed in client_common.c. It is declared in client_common.c and embeds a
struct client_task.

Provide a static helper which employs offsetof to convert a client_task
pointer to struct client_config.
</content>
</entry>
<entry>
<title>Switch to SPDX identifiers.</title>
<updated>2026-03-17T22:45:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T14:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea0cecf96e08c489fdcc94d046019f4ce46f58e2'/>
<id>urn:sha1:ea0cecf96e08c489fdcc94d046019f4ce46f58e2</id>
<content type='text'>
Generated with

	sed -i 's|Copyright.*Andre Noll.*|SPDX-License-Identifier: GPL-2.0 */|g' *.c *.h

followed by manually tweaking the result a bit. No license change intended.
</content>
</entry>
<entry>
<title>Remove loglevel argument of client_parse_config().</title>
<updated>2025-09-13T18:21:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-09-07T20:03:27Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=f29f87c74d55d99eec0a081879c8a232ba9de051'/>
<id>urn:sha1:f29f87c74d55d99eec0a081879c8a232ba9de051</id>
<content type='text'>
There are two callers, one in client_common.c and one in client.c. The
former passes NULL, hence does not need the argument. The latter passes a
non-NULL pointer to initialize the global client_loglevel integer, but this
initialization can as well be done in the caller, simplifying the code a bit.
</content>
</entry>
<entry>
<title>Remove loglevel argument of client_open().</title>
<updated>2025-09-13T18:21:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-09-04T17:24:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=edaa61da570419f46b5b2bf1e32aff5a5ec901ba'/>
<id>urn:sha1:edaa61da570419f46b5b2bf1e32aff5a5ec901ba</id>
<content type='text'>
Both callers pass NULL.
</content>
</entry>
<entry>
<title>client: Remove unused -&gt;config_file member.</title>
<updated>2018-03-30T14:18:17Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2018-03-14T19:39:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=b925d770ed653757edb59e32e6069b626d13bcae'/>
<id>urn:sha1:b925d770ed653757edb59e32e6069b626d13bcae</id>
<content type='text'>
Currently we store a copy of the config file path in the client task
structure for no reason at all. Remove it.
</content>
</entry>
<entry>
<title>Shorten copyright notice.</title>
<updated>2017-09-22T14:35:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-09-10T12:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d31995b3074bb19aa4da66ce5c4774ca9ed101a1'/>
<id>urn:sha1:d31995b3074bb19aa4da66ce5c4774ca9ed101a1</id>
<content type='text'>
The GPLv2 line does not add any additional information, so drop
it. This leaves a single line of legalese text for most files, which
is about the amount of screen real estate it deserves.

This patch was created with the following script (plus some manual
fixups):

	awk '{
		if (NR &lt;= 5) {
			gs = gensub(/.*Copyright.* ([0-9]+).*Andre Noll.*/, "\\1", "g")
			if (gs != $0)
				year = gs
			next
		}
		if (NR == 6 &amp;&amp; year != "")
			printf("/* Copyright (C) %s Andre Noll &lt;maan@tuebingen.mpg.de&gt;, see file COPYING. */\n", year)
		print
	}'
</content>
</entry>
<entry>
<title>Convert para_client to lopsub.</title>
<updated>2017-03-26T09:02:28Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2016-04-10T20:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=56330d8f7795979211591bb54273c59beeb45327'/>
<id>urn:sha1:56330d8f7795979211591bb54273c59beeb45327</id>
<content type='text'>
This replaces the gengetopt command line parser for para_client by a
lopsub suite and links para_client against the lopsub library. The ggo
file for para_client was the last user of m4/gengetopt/complete.m4,
so this file can be removed.

The tricky part is create_merged_lpr(), which replaces
make_client_argv(). It is called from the i9e line handler and from
the completers. The new function merges the original parse result
with the arguments given at the command line to produce the parse
result stored in the client task structure.

The completers no longer duplicate the possible options each server
subcommand because the header file generated by lopsubgen exposes
an array of string literals which is suitable as the opts argument
of i9e_complete_option().
</content>
</entry>
<entry>
<title>Update year in copyright headers.</title>
<updated>2015-01-12T22:35:45Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2015-01-02T02:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9b406cbe5d20ba969713ca3d7a8033e697476d75'/>
<id>urn:sha1:9b406cbe5d20ba969713ca3d7a8033e697476d75</id>
<content type='text'>
Done with

	files=$(git grep -l 'Copyright (C) [0-9]\{4\}\(-2014\)* Andre Noll')
	sed --in-place= -e 's/Copyright (C) \([0-9]\{4\}\)-2014 Andre Noll/Copyright (C) \1 Andre Noll/1' $files

In previous years we ran a similar script to set the second year in
the range to the current year. This is kind of silly, so let's get
rid of this useless information.

This commit replaces "Copyright (C) A-B" by "Copyright (C) A" in
all file headers, i.e. only the first year (A) is left in. Accurate
information including time stamps for each change can be obtained
from the git history.
</content>
</entry>
</feed>
