<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/mp.c, branch master</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=master</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-03-26T15:50:54Z</updated>
<entry>
<title>Merge topic branch t/spdx into master</title>
<updated>2026-03-26T15:50:54Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-26T15:50:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=c7d8695602cdde107a85cb63db846d92e48d9437'/>
<id>urn:sha1:c7d8695602cdde107a85cb63db846d92e48d9437</id>
<content type='text'>
Switch to SPDX licence identifiers

A single patch which replaces the first comment line of most .c and .h files
containing the copyright notice by standardized SPDX (Software/System Package
Data Exchange) nomenclature.

* t/spdx:
  Switch to SPDX identifiers.
</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>Simplify and rename get_attribute_bitnum_by_name().</title>
<updated>2026-03-17T18:25:05Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-01T22:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=32dd8568133e89b6efcd93d30ce6428859eb3a6c'/>
<id>urn:sha1:32dd8568133e89b6efcd93d30ce6428859eb3a6c</id>
<content type='text'>
Return the bit number directly, avoiding the result pointer argument for
the bit number. Remove the pointless "one" variable in one of the callers,
the touch callback, while at it.
</content>
</entry>
<entry>
<title>Implement selector abstraction.</title>
<updated>2026-03-17T18:25:05Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-02-23T18:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=8981b82878ca3e49fb36ce8405725eb41dd75836'/>
<id>urn:sha1:8981b82878ca3e49fb36ce8405725eb41dd75836</id>
<content type='text'>
Currently mood.c and playlist.c contain similar public functions. For example,
there is mood_load() and playlist_load(), mood_loop() and playlist_loop().

Introduce struct selector_ops which contains methods such as -&gt;load()
and loop(). We define two instances of the new structure, one for the mood
selector and one for the playlist selector. The structures can be constant,
but need to be public. The methods can be static.

The score table is now regarded as owned by the mood or playlist. It is no
longer listed in afs_tables[] and afs_table_operations can go away.

We don't need the global score_table variable anymore because all public
functions of score.c now take a pointer to the table to operate on. Similarly,
current_mood and current_playlist can be removed.
</content>
</entry>
<entry>
<title>attribute.c: Switch from unsigned char to uint8_t.</title>
<updated>2026-03-17T18:25:05Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-01T12:29:53Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=4ae43673709b979251bca4dbc5cb215b2d7d704a'/>
<id>urn:sha1:4ae43673709b979251bca4dbc5cb215b2d7d704a</id>
<content type='text'>
We perform arithmetical operations and use its value as the right hand side
of the shift operator, so uint8_t seems to be more natural than unsigned
char. Rename char_compare() to u8_compare() and simplify it a bit by
dereferencing the two pointers right away.
</content>
</entry>
<entry>
<title>mood parser: Demote severity of parse errors.</title>
<updated>2025-10-19T09:33:19Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-10-13T18:26:59Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=49d7cbc427f1826b289eda30561e72ba3fc0f073'/>
<id>urn:sha1:49d7cbc427f1826b289eda30561e72ba3fc0f073</id>
<content type='text'>
These errors occur when the user adds a syntactically incorrect mood, an error
which is handled and which should not trigger a warning in the server log.
</content>
</entry>
<entry>
<title>mp.c: Remove a dead store.</title>
<updated>2025-05-22T14:44:07Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-20T20:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=094af0d6526ef2bc502daf1aad3a544bbe4e89eb'/>
<id>urn:sha1:094af0d6526ef2bc502daf1aad3a544bbe4e89eb</id>
<content type='text'>
Found by the clang analyzer.
</content>
</entry>
<entry>
<title>Include regex.h from para.h.</title>
<updated>2025-05-19T17:35:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-18T20:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=67388cd4fae0cfd1674aada937f4f4d2faeeee1f'/>
<id>urn:sha1:67388cd4fae0cfd1674aada937f4f4d2faeeee1f</id>
<content type='text'>
Every .c file includes it anyway.
</content>
</entry>
<entry>
<title>Add missing newline in mp_init() error string.</title>
<updated>2025-04-07T15:28:42Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-04-06T22:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=14c320a7a52e670913f8302c7acc49833611cb5a'/>
<id>urn:sha1:14c320a7a52e670913f8302c7acc49833611cb5a</id>
<content type='text'>
Because callers expect this. Also print the message to the server log.
</content>
</entry>
<entry>
<title>Rename mood_switch(), mood_close(), playlist_{open/close}.</title>
<updated>2022-10-17T18:36:21Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2022-03-23T17:42:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9055c71be97f1095dcdbd83da305b600f204f763'/>
<id>urn:sha1:9055c71be97f1095dcdbd83da305b600f204f763</id>
<content type='text'>
This naming is unfortunate because we also have the static
{mood,pl}_{open,close}() in blob.c which operate on the osl table. In
contrast, the functions renamed in this commit operate on blob objects
and change the current mood or playlist. Let's call these operations
load/unload to avoid confusion.
</content>
</entry>
</feed>
