]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
Merge branch 'master' into next
authorAndre Noll <maan@tuebingen.mpg.de>
Mon, 13 May 2024 19:03:52 +0000 (21:03 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Mon, 13 May 2024 19:03:52 +0000 (21:03 +0200)
* master:
  web: Generate left- and right-justified text.
  Change color of signature and tar icons.
  Prevent doxygen from generating invalid html.
  Prefer https:// for web pages and git URLs.
  manual: Avoid duplicate section headings.
  manual: Replace http:// links with https://
  manual: Replace readline link.
  manual: Remove raid6 link.
  manual: Remove Articles section.
  manual: Replace doxygen link.
  manual: Replace broken git link.
  manual: Remove xmms2 link.
  manual: Fix local links.

INSTALL
README
command.c
configure.ac
mp4.c
web/about.in.html
web/download.in.html
web/images/signature.png
web/images/tar-icon.png
web/manual.md
web/para.css

diff --git a/INSTALL b/INSTALL
index 45676b7ea44d0bb5cfc854272bdcbd5cf7a2e3a0..cabeb10ff0976c007003eb46222c883ce1b7b4b5 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,15 +2,15 @@ Any knowledge of how to work with mouse and icons is not required.
 
 Installing lopsub
 ~~~~~~~~~~~~~~~~~
-       git clone git://git.tuebingen.mpg.de/lopsub
+       git clone https://git.tuebingen.mpg.de/lopsub
        cd lopsub && make && sudo make install
-       (see http://people.tuebingen.mpg.de/maan/lopsub/)
+       (see https://people.tuebingen.mpg.de/maan/lopsub/)
 
 Installing osl
 ~~~~~~~~~~~~~~
-       git clone git://git.tuebingen.mpg.de/osl
+       git clone https://git.tuebingen.mpg.de/osl
        cd osl && make && sudo make install
-       (see http://people.tuebingen.mpg.de/maan/osl/)
+       (see https://people.tuebingen.mpg.de/maan/osl/)
 
 Installing paraslash from tarball
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -37,4 +37,4 @@ Example for cross-compiling
 
 For details see the user manual:
 
-       http://people.tuebingen.mpg.de/maan/paraslash/manual.html
+       https://people.tuebingen.mpg.de/maan/paraslash/manual.html
diff --git a/README b/README
index d8a545fc7abd744e6df57c51638dee607574e69e..510c7e1fd033e6898aa6ca7b96a673797e3d6bff 100644 (file)
--- a/README
+++ b/README
@@ -5,9 +5,9 @@ audio files. See the user manual for details.
 Distribution of paraslash is covered by the GNU GPL, version 2 unless
 otherwise stated. See file COPYING.
 
-Web page:             http://people.tuebingen.mpg.de/maan/paraslash/
-Gitweb:               http://git.tuebingen.mpg.de/paraslash.git/
-Git URL:              git://git.tuebingen.mpg.de/paraslash.git
+Web page:             https://people.tuebingen.mpg.de/maan/paraslash/
+Gitweb:               https://git.tuebingen.mpg.de/paraslash.git/
+Git URL:              https://git.tuebingen.mpg.de/paraslash.git
 Email:                Andre Noll <maan@tuebingen.mpg.de>
 
 Comments and bug reports are welcome.
index 60c2aeba4300124c51af13d03c522fe2c2bbb1f1..bddb9cf0b16ed7387fc8f3520ff92db699dac28d 100644 (file)
--- a/command.c
+++ b/command.c
 #include "signal.h"
 #include "version.h"
 
+/** \cond server_cmd_aux_info */
 #define SERVER_CMD_AUX_INFO(_arg) _arg,
 static const unsigned server_command_perms[] = {LSG_SERVER_CMD_AUX_INFOS};
 #undef SERVER_CMD_AUX_INFO
 #define SERVER_CMD_AUX_INFO(_arg) #_arg,
 static const char * const server_command_perms_txt[] = {LSG_SERVER_CMD_AUX_INFOS};
 #undef SERVER_CMD_AUX_INFO
+/** \endcond server_cmd_aux_info */
 
 /** Commands including options must be shorter than this. */
 #define MAX_COMMAND_LEN 32768
@@ -420,7 +422,8 @@ static int com_version(struct command_context *cc, struct lls_parse_result *lpr)
 }
 EXPORT_SERVER_CMD_HANDLER(version);
 
-/** These status items are cleared if no audio file is currently open. */
+/** \cond empty_status_items */
+/* These status items are cleared if no audio file is currently open. */
 #define EMPTY_STATUS_ITEMS \
        ITEM(path) \
        ITEM(directory) \
@@ -454,6 +457,8 @@ EXPORT_SERVER_CMD_HANDLER(version);
        ITEM(amplification) \
        ITEM(play_time) \
 
+/** \endcond empty_status_items */
+
 /*
  * Create a set of audio-file related status items with empty values. These are
  * written to stat clients when no audio file is open.
index 34dcd060a5891a07dc6ea8c62ca53a7209f2a376..63b06316137c0a67d6b2142bda481e55aab934ed 100644 (file)
@@ -1,7 +1,7 @@
 AC_PREREQ([2.61])
 
 AC_INIT([paraslash], [m4_esyscmd_s(./GIT-VERSION-GEN)],
-       [maan@tuebingen.mpg.de], [], [http://people.tuebingen.mpg.de/maan/paraslash/])
+       [maan@tuebingen.mpg.de], [], [https://people.tuebingen.mpg.de/maan/paraslash/])
 AC_CONFIG_HEADERS([config.h])
 
 AC_CONFIG_FILES([Makefile])
@@ -81,7 +81,7 @@ if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
        The lopsub library is required to build this software, but
        the above checks indicate it is not installed on your system.
        Run the following command to download a copy.
-               git clone git://git.tuebingen.mpg.de/lopsub.git
+               git clone https://git.tuebingen.mpg.de/lopsub.git
        Install the library, then run this configure script again.
 ])
 fi
diff --git a/mp4.c b/mp4.c
index 5ca1307f680d366c155b2e98257ba807c5a4fb92..fe9d4b37e3e94c0c906b3cc16234539cde19a6b6 100644 (file)
--- a/mp4.c
+++ b/mp4.c
@@ -131,7 +131,8 @@ static int read_int16(struct mp4 *f, uint16_t *result)
        return ret;
 }
 
-/** A macro defining the atoms we care about. It gets expanded twice. */
+/** \cond atom_items */
+/* A macro defining the atoms we care about. It gets expanded twice. */
 #define ATOM_ITEMS \
        ATOM_ITEM(MOOV, 'm', 'o', 'o', 'v') /* movie (top-level container) */ \
        ATOM_ITEM(TRAK, 't', 'r', 'a', 'k') /* container for a single track */ \
@@ -155,6 +156,8 @@ static int read_int16(struct mp4 *f, uint16_t *result)
        ATOM_ITEM(META, 'm', 'e', 't', 'a') /* iTunes Metadata box */ \
        ATOM_ITEM(DATA, 'd', 'a', 't', 'a') /* iTunes Metadata data box */ \
 
+/** \endcond atom_items */
+
 /** For the C enumeration we concatenate ATOM_ with the first argument. */
 #define ATOM_ITEM(_name, a, b, c, d) ATOM_ ## _name,
 /** The enumeration of interesting atoms. */
index f188ff2566ad30645365e73aa62e399439dfbf5e..452fa3574f4e051627d62ecd24242d63fa0c7350 100644 (file)
@@ -19,7 +19,7 @@ Unix systems. It is written in C and released under the GPLv2. </p>
 <p> Author: Andre Noll, <a
 href="mailto:maan@tuebingen.mpg.de">maan@tuebingen.mpg.de</a>,
 Homepage: <a
-href="http://people.tuebingen.mpg.de/maan/">http://people.tuebingen.mpg.de/maan/</a>
+href="https://people.tuebingen.mpg.de/maan/">https://people.tuebingen.mpg.de/maan/</a>
 </p>
 
 <p> Comments and bug reports are welcome. Please provide the version
index 2b31e5d76c7f9f7c348ba08f852dc6c5a5780f73..1287597e20cdb4bc3c002e9e28447626819e8401 100644 (file)
@@ -11,7 +11,7 @@ source: </p>
                Clone the git repository by executing
 
                <pre> <kbd>
-                       git clone git://git.tuebingen.mpg.de/paraslash.git
+                       git clone https://git.tuebingen.mpg.de/paraslash.git
                </kbd> </pre>
 
                <p> The repository contains the full history of the
@@ -66,7 +66,7 @@ source: </p>
 
                The
 
-                       <a href="http://git.tuebingen.mpg.de/paraslash.git">gitweb</a>
+                       <a href="https://git.tuebingen.mpg.de/paraslash.git">gitweb</a>
 
                page contains a snapshot link for each revision. This
                allows getting a specific revision without downloading
index 9524182c292882b12c3efceccfc2a8e57da7a610..c52fd4a2fa2d580b46e7a4dad1d989509604b6c1 100644 (file)
Binary files a/web/images/signature.png and b/web/images/signature.png differ
index 4b1b472d1624129c109f0aa4688418f4b11b9bb2..596b53a1267d3be6cbe05f241837f7a2649b3fa0 100644 (file)
Binary files a/web/images/tar-icon.png and b/web/images/tar-icon.png differ
index b5329ea07f3d8a2f9553f384c9129c4ad1a262e3..0db1e22c26fdee83b3df4aaf60bad0537e40a0f1 100644 (file)
@@ -14,7 +14,7 @@ Introduction
 
 In this chapter we give an [overview](#Overview) of the interactions
 of the programs contained in the paraslash package, followed by
-[brief descriptions](#The.paraslash.executables) of all executables.
+[brief descriptions](#The-paraslash-executables) of all executables.
 
 Overview
 --------
@@ -135,7 +135,7 @@ fine-grained selection based on various properties of the audio file,
 including information found in (ID3) tags. Simple playlists are also
 supported. It is possible to store images (album covers) and lyrics
 in the database and associate these to the corresponding audio files.
-The section on the [audio file selector](#The.audio.file.selector)
+The section on the [audio file selector](#The-audio-file-selector)
 discusses this topic in more detail.
 
 Another component of para_server is the virtual streaming system,
@@ -287,9 +287,9 @@ Requirements
 ------------
 <h3> For the impatient </h3>
 
-       git clone git://git.tuebingen.mpg.de/lopsub
+       git clone https://git.tuebingen.mpg.de/lopsub
        cd lopsub && make && sudo make install
-       git clone git://git.tuebingen.mpg.de/osl
+       git clone https://git.tuebingen.mpg.de/osl
        cd osl && make && sudo make install && sudo ldconfig
        sudo apt-get install autoconf libssl-dev m4 \
               libmad0-dev libid3tag0-dev libasound2-dev libvorbis-dev \
@@ -306,7 +306,7 @@ option parser for subcommands generates the command line and config
 file parsers for all paraslash executables. Clone the source code
 repository with
 
-               git clone git://git.tuebingen.mpg.de/lopsub
+               git clone https://git.tuebingen.mpg.de/lopsub
 
 - [gcc](ftp://ftp.gnu.org/pub/gnu/gcc) or
 [clang](http://clang.llvm.org). All gcc versions >= 5.4 are currently
@@ -324,11 +324,11 @@ from templates by the m4 macro processor.
 
 Optional:
 
-- [libosl](http://people.tuebingen.mpg.de/maan/osl/). The _object
+- [libosl](https://people.tuebingen.mpg.de/maan/osl/). The _object
 storage layer_ library is used by para_server. To clone the source
 code repository, execute
 
-               git clone git://git.tuebingen.mpg.de/osl
+               git clone https://git.tuebingen.mpg.de/osl
 
 - [openssl](https://www.openssl.org/) or
 [libgcrypt](ftp://ftp.gnupg.org/gcrypt/libgcrypt/).  At least one
@@ -339,7 +339,7 @@ to install the development package (`libssl-dev` or `libgcrypt-dev`
 on debian systems) as well.
 
 - [flex](https://github.com/westes/flex) and
-[bison](https://www.gnu.org/software/bison) are needed to build the
+[bison](https://www.gnu.org/software/bison/) are needed to build the
 mood parser of para_server. The build system will skip para_server
 if these tools are not installed.
 
@@ -385,7 +385,7 @@ the ao writer (ESD, PulseAudio,...).  Debian package: `libao-dev`.
 para_gui. Debian package: `libncurses-dev`.
 
 - [GNU
-Readline](http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html). If
+Readline](https://www.gnu.org/software/readline/). If
 this library (`libreadline-dev`) is installed, para_client, para_audioc
 and para_play support interactive sessions.
 
@@ -523,7 +523,7 @@ starts streaming. To activate streaming, execute
 
 Since no playlist has been specified yet, the "dummy" mode which
 selects all known audio files is activated automatically. See the
-section on the [audio file selector](#The.audio.file.selector) for how
+section on the [audio file selector](#The-audio-file-selector) for how
 to use playlists and moods to specify which files should be streamed
 in which order.
 
@@ -555,12 +555,12 @@ authentication method. Authenticated connections are encrypted using
 the AES stream cipher in integer counter mode.
 
 In this chapter we briefly describe RSA and AES, and sketch the
-[authentication handshake](#Client-server.authentication)
+[authentication handshake](#Client-2d-server-authentication)
 between para_client and para_server. User management is discussed
-in the section on [the user_list file](#The.user_list.file).
+in the section on [the user_list file](#The-user_list-file).
 These sections are all about communication between the client and the
 server. Connecting para_audiod is a different matter and is described
-in a [separate section](#Connecting.para_audiod).
+in a [separate section](#Connecting-para_audiod).
 
 RSA and AES
 -----------
@@ -635,8 +635,8 @@ infeasibility to invert the hash function.
 
 Neither para_server or para_client create RSA keys on their
 own. This has to be done once for each user as sketched in
-[Quick start](#Quick.start) and discussed in more detail
-[below](#The.user_list.file).
+[Quick start](#Quick-start) and discussed in more detail
+[below](#The-user_list-file).
 
 The user_list file
 ------------------
@@ -708,13 +708,13 @@ maintains tables containing images (e.g. album cover art) and lyrics
 that can be associated with one or more audio files.
 
 In this chapter we sketch the setup of the [AFS
-process](#The.AFS.process) during server startup and proceed with the
-description of the [layout](#Database.layout) of the various database
-tables. The section on [playlists and moods](#Playlists.and.moods)
+process](#The-AFS-process) during server startup and proceed with the
+description of the [layout](#Database-layout) of the various database
+tables. The section on [playlists and moods](#Playlists-and-moods)
 explains these two audio file selection mechanisms in detail
 and contains practical examples. The way [file renames and content
-changes](#File.renames.and.content.changes) are detected is discussed
-briefly before the [Troubleshooting](#Troubleshooting) section
+changes](#File-renames-and-content-changes) are detected is discussed
+briefly before the [Troubleshooting](#Common-problems) section
 concludes the chapter.
 
 The AFS process
@@ -774,7 +774,7 @@ entry with metadata obtained from the audio format handler is added
 to the database.
 
 Note that AFS employs
-[libosl](http://people.tuebingen.mpg.de/maan/osl/), the object
+[libosl](https://people.tuebingen.mpg.de/maan/osl/), the object
 storage layer library, as the database backend. This library offers
 functionality similar to a relational database, but is much more
 lightweight than a full featured database management system.
@@ -1166,7 +1166,7 @@ data remains as before.
 It is possible to change the behaviour of the add command by using the
 "-l" (lazy add) or the "-f" (force add) option.
 
-Troubleshooting
+Common problems
 ---------------
 
 Use the debug loglevel (-l debug) to show debugging info. All paraslash
@@ -1349,12 +1349,12 @@ used. For these data connections, a variety of transports (UDP, DCCP,
 HTTP) can be chosen.
 
 The chapter starts with the [control
-service](#The.paraslash.control.service), followed by a section
-on the various [streaming protocols](#Streaming.protocols)
+service](#The-paraslash-control-service), followed by a section
+on the various [streaming protocols](#Streaming-protocols)
 in which the data connections are described. The way
 audio file headers are embedded into the stream is discussed
-[briefly](#Streams.with.headers.and.headerless.streams) before the
-[example section](#Networking.examples) which illustrates typical
+[briefly](#Streams-with-headers-and-headerless-streams) before the
+[example section](#Networking-examples) which illustrates typical
 commands for real-life scenarios.
 
 Both IPv4 and IPv6 are supported.
@@ -1374,7 +1374,7 @@ is unaffected if the child dies or goes crazy for whatever reason. In
 fact, the child process can not change address space of server process.
 
 The section on [client-server
-authentication](#Client-server.authentication) above described the
+authentication](#Client-2d-server-authentication) above described the
 early connection establishment from the crypto point of view. Here
 it is described what happens after the connection (including crypto
 setup) has been established.  There are four processes involved during
@@ -1442,7 +1442,7 @@ only for Linux.
 
 - UDP. Recommended for multicast LAN streaming.
 
-See the Appendix on [network protocols](#Network.protocols)
+See the Appendix on [network protocols](#Network-protocols)
 for brief descriptions of the various protocols relevant for network
 audio streaming with paraslash.
 
@@ -1513,7 +1513,7 @@ be configured via the FEC parameters which are dictated by server
 and may also be configured through the "sender" command.  The FEC
 parameters are encoded in the header of each network packet, so no
 configuration is necessary on the receiver side. See the section on
-[FEC](#Forward.error.correction) below.
+[FEC](#Forward-error-correction) below.
 
 Streams with headers and headerless streams
 -------------------------------------------
@@ -1653,7 +1653,7 @@ executables. For example, the mp3dec filter depends on the mad library.
 Forward error correction
 ------------------------
 
-As already mentioned [earlier](#Streaming.protocols), paraslash
+As already mentioned [earlier](#Streaming-protocols), paraslash
 uses forward error correction (FEC) for the unreliable UDP and
 DCCP transports. FEC is a technique which was invented already in
 1960 by Reed and Solomon and which is widely used for the parity
@@ -1884,8 +1884,8 @@ shown by this theme. See gui_theme.c for examples.
 
 The "." and "," keys are used to switch between themes.
 
-Examples
---------
+Gui examples
+------------
 
 -> Show server info:
 
@@ -1953,8 +1953,8 @@ from tar balls) and for contributing non-trivial changes to the
 paraslash project, some additional tools should be installed on a
 developer machine.
 
-- [git](http://git.or.cz/). As described in more detail
-[below](#Git.branches), the git source code management tool is used for
+- [git](https://git-scm.com/). As described in more detail
+[below](#Git-branches), the git source code management tool is used for
 paraslash development. It is necessary for cloning the git repository
 and for getting updates.
 
@@ -1967,7 +1967,7 @@ HTML version of this manual and some of the paraslash web pages are
 written in the Markdown markup language and are translated into html
 with the converter of the *Discount* package.
 
-- [doxygen](http://www.stack.nl/~dimitri/doxygen/). The documentation
+- [doxygen](https://www.doxygen.nl/). The documentation
 of paraslash's C sources uses the doxygen documentation system. The
 conventions for documenting the source code is described in the
 [Doxygen section](#Doxygen).
@@ -2294,54 +2294,42 @@ and contributed significant improvements.
 References
 ==========
 
-Articles
---------
-- [Polynomial Codes over Certain Finite
-Fields](http://kom.aau.dk/~heb/kurser/NOTER/KOFA01.PDF) by Reed, Irving
-S.; Solomon, Gustave (1960), Journal of the Society for Industrial
-and Applied Mathematics (SIAM) 8 (2): 300-304, doi:10.1137/0108018)
-
 RFCs
 ----
 
-- [RFC 768](http://www.ietf.org/rfc/rfc768.txt) (1980): User Datagram
+- [RFC 768](https://www.ietf.org/rfc/rfc768.txt) (1980): User Datagram
 Protocol
 
-- [RFC 791](http://www.ietf.org/rfc/rfc791.txt) (1981): Internet
+- [RFC 791](https://www.ietf.org/rfc/rfc791.txt) (1981): Internet
 Protocol
 
-- [RFC 2437](http://www.ietf.org/rfc/rfc2437.txt) (1998): RSA
+- [RFC 2437](https://www.ietf.org/rfc/rfc2437.txt) (1998): RSA
 Cryptography Specifications
 
-- [RFC 4340](http://www.ietf.org/rfc/rfc4340.txt) (2006): Datagram
+- [RFC 4340](https://www.ietf.org/rfc/rfc4340.txt) (2006): Datagram
 Congestion Control Protocol (DCCP)
 
-- [RFC 4341](http://www.ietf.org/rfc/rfc4341.txt) (2006): Congestion
+- [RFC 4341](https://www.ietf.org/rfc/rfc4341.txt) (2006): Congestion
 Control ID 2: TCP-like Congestion Control
 
-- [RFC 4342](http://www.ietf.org/rfc/rfc4342.txt) (2006): Congestion
+- [RFC 4342](https://www.ietf.org/rfc/rfc4342.txt) (2006): Congestion
 Control ID 3: TCP-Friendly Rate Control (TFRC)
 
-- [RFC 6716](http://www.ietf.org/rfc/rfc6716.txt) (2012): Definition
+- [RFC 6716](https://www.ietf.org/rfc/rfc6716.txt) (2012): Definition
 of the Opus Audio Codec
 
 Application web pages
 ---------------------
 
-- [paraslash](http://people.tuebingen.mpg.de/maan/paraslash/)
-- [xmms](https://xmms2.org/wiki/Main_Page)
+- [paraslash](https://people.tuebingen.mpg.de/maan/paraslash/)
 - [mpg123](http://www.mpg123.de/)
 - [gstreamer](https://gstreamer.freedesktop.org/)
-- [icecast](http://www.icecast.org/)
-- [Audio Compress](https://beesbuzz.biz/code/audiocompress.php)
+- [icecast](https://www.icecast.org/)
+- [Audio Compress](https://github.com/fluffy-critter/audiocompress)
 
 External documentation
 ----------------------
 
-- [The mathematics of
-Raid6](https://www.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf)
-by H. Peter Anvin
-
 - [Effective Erasure Codes for reliable Computer Communication
 Protocols](http://info.iet.unipi.it/~luigi/fec_ccr.ps.gz) by Luigi
 Rizzo
index 2043fbb70b2afdf9ef243200920910bf564f2a1e..3a928c058a53aa4156d4fb4473b5d4d8f6cc0b3e 100644 (file)
@@ -2,6 +2,8 @@ body {
        font-family: sans-serif;
        background-color: black;
        color: #bbbbbb;
+       text-align: justify;
+       padding: 0px 40px 40px 40px;
        margin: 20px;
 }