| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
It's a hassle to maintain, the link is dead since the server moved from
gitweb to cgit, and nobody except the bots care anyway.
|
| |
|
|
| |
lopsub has been removed from Debian.
|
| |
|
|
|
|
| |
The screenshot that shows the colorful blackness theme of para_gui was
last updated 13 years ago. Replace it with a recent screenshot that has the
progress bar and add a second screenshot that shows para_gui's new figlet theme.
|
| |
|
|
|
| |
This adds another theme for para_gui which displays the artist and title of the
current file using large ascii art characters produced by the figlet(1) utility.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes gui.c to no longer spawn a para_audioc process to get the status
items from para_audiod. Instead, the para_gui process connects directly to
audiod using the same mechanism as para_audioc. Besides being more efficient,
this approach has the advantage that status item updates are now atomic in
the sense that complete sideband packages (containing any number of status
items) are received, so torn status items can no longer occur.
To implement this, move the code that can be shared between gui and audioc
to a separate file, audioc_common.c. This file contains only one public
function: connect_audiod(). Since this function uses unix socket magic and
employs the sideband API, para_gui needs to link in net.o and sideband.o,
in addition to the new audioc_common.o.
With these changes in place, para_gui's --stat-command option becomes
unused. Drop it, as it's not worth the pain to introduce a depreciation
period. On the other hand, para_gui now needs an option to specify the path
to the socket on which para_audiod is expected to listen, so move the lopsub
stanza of para_audioc's --socket option to the new socket.m4 file and include
it from both the audioc and the gui lopsub suites.
|
| |
|
|
|
|
|
|
| |
The download page was removed two months ago in the commit shown below. That
commit removed the link from header.html but missed to apply the same tweak
to header2.html (which gets included from the doxygen pages).
Fixes: 9b87049d7b0bedddee35a9e06e5c4af3eb038014
|
| |
|
|
|
| |
Avoid naming a particular version, since this kind of information tends to
become stale without being noticed.
|
| |
|
|
|
|
| |
The mbox listing mode was removed in v0.8.1.
Fixes: 600903a8e599f5b3b8b4a1e0f410acfefe209902
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AFS socket cookie replacement
-----------------------------
A small but rather intrusive patch set which touches the guts of the afs
callback mechanism.
* t/socket-cookie:
afs: Avoid the void * argument of send_lls_callback_request().
Kill afs socket cookie and afs_client_list.
afs: Improve error handling of afs_signal_post_monitor().
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now create a per-command socket pair in the command handler and use the
permanent server-afs socket to pass one end of the pair from the command
handler to the afs process.
With this approach only the command handlers can possibly talk to the
afs process, so we don't need to worry about malicious or bogus connections
arriving at the local socket.
Consequently, we may remove the socket cookie and employ blocking I/O for the
shared memory identifiers that are transferred through the per-command socket.
Connections are now dispatched in one go, obviating the need to keep track
of connected clients. So remove struct afs_client and the client list.
|
| |/
|
|
|
|
| |
The development page and the manual explain how the integration branches work,
so this does not need to be repeated on the download page. The remaining part
is basically just the two links, and those can simply be added to the main page.
|
| | |
|
| |
|
|
| |
Currently the former gets included from the latter, so this should be a no-op.
|
| |
|
|
|
| |
Move the sentence about the stability of "master" from the download page to
the "Git Branches" section of the manual and rework this section at bit.
|
| |
|
|
|
| |
This simplifies the code, and we may now assume that the database is always
open, which paves the way for further simplifications.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove dccp support
The first patch of this series removes the dccp sender and receiver. Both are
deprecated as of paraslash-0.7.6, released in 2025-11. The short depreciation
period should not be a problem because dccp was never adopted widely, and
the linux kernel no longer supports the protocol.
The removal paves the way for quite some subsequent cleanups. In particular,
the acl and chunk queue APIs, which used to be shared between the http and
the dccp sender, no longer need to be public, so subsequent patches of the
series move acl.c and chunk_queue.c into http_send.c.
* refs/heads/t/rm_dccp:
http_send.c: Simplify format_url().
Move format_url() from net.c to http_send.c.
Merge acl.c into http_send.c.
Merge chunk_queue.c into http_send.c.
http_send.c: Move header_sent to struct private_http_sender_data.
http_send.c: Move chunk queue into struct private_http_sender_data.
struct sender: Remove unused sched pointer argument of ->post_monitor().
struct sender: Remove unused chunks_sent parameter of ->send().
http_send.c: Kill http_send_ok_msg() and http_send_err_msg().
http_send.c: Remove trivial shutdown wrapper.
http_send.c: Merge free_sender_status() into http_shutdown().
http_send.c: Merge init_sender_status() into http_send_init().
http_send.c: Rename or remove generic_foo().
http_send.c: Remove sender_status pointer arguments.
Move struct sender_status into http_send.c.
Move send_common.c into http_send.c.
Remove dccp.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes all traces of dccp, specifically dccp_recv.c and dccp_send.c.
The flowops related functions of net.c can go away as well, as flowops were
only needed for the dccp transport. A few other functions are simplified by
dropping the flowops or protocol parameter.
Further cleanups are possible, but are deferred to subsequent commits. In
particular, some functions of send_common.c are only called by the http
transport now. These can be moved to http_send.c and then be made static.
|
| |/
|
|
|
|
|
|
| |
The resample filter did not turn out to be very useful in the 10+ years of
its existence, so remove it. This filter was the penultimate user of the
check_wav API, so the removal clears the way for further cleanups.
No changes to audiod.c, filter.c play.c are necessary.
|
| |
|
|
|
|
|
|
| |
Modulo a minor translation vector tweak, the new logo is the result of
removing a part of the svg code.
"In pursuit of knowledge, every day something is acquired. In pursuit of
wisdom, every day something is dropped." -- Lao Tzu
|
| |
|
|
|
| |
It is silly to have a screenshots directory with only one file in it. Move
the file to where it belongs.
|
| |
|
|
|
|
|
| |
I haven't used this filter in ages, and most likely nobody else ever has.
It was very little work to maintain this code since it was added over 13
years ago, but it still adds some overhead, so let's schedule it for removal
after v0.8.0.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This revamps the doxygen part of the documentation web page and adds a couple
of entry points for users to get started with the code base. We provide links
to header files which describe the API of central subsystems and links to
the main function of each paraslash executable.
The file comments of the source files reachable through these links have been
extended to contain a detailed description of the API or executable. Unlike
the introductory text of the manual pages, these comments focus on the code,
in particular on the interaction between the various subsystems.
* refs/heads/t/doxygen: (31 commits)
mix
web: Revamp documentation page.
Improve server documentation.
Improve para_play documentation.
Improve crypto documentation.
Improve i9e documentation.
Improve mixer documentation.
Improve audiod documentation.
Improve audioc documentation.
Improve client documentation.
Improve gui documentation.
Improve writer documentation.
Improve receiver documentation.
Improve filter documentation.
Improve audio file selector documentation.
Improve sender documentation.
Improve FEC documentation.
Improve virtual streaming system documentation.
Improve audio format handler documentation.
Improve buffer tree documentation.
...
|
| | |
| |
| |
| |
| |
| | |
Now that all executables and the bulk of the APIs are documented reasonably
well, provide some entry points on the documentation web page and describe
what users will find behind all the links.
|
| | |
| |
| |
| |
| | |
This way only the list of functions, macros etc. appears at the top of each
page, making it easier to navigate.
|
| | |
| |
| |
| | |
It creates lots of dead links.
|
| | |
| |
| |
| |
| |
| | |
The less it contains, the nicer are the generated pages. Indent the remaining
lines with tabs rather than spaces to foil any heretic movements which try
to narrow indentations.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The new file was created with
doxygen -l web/DoxygenLayout.xml
It will be adjusted in a subsequent commit, so this change is a no-op.
|
| | |
| |
| |
| | |
This looks much better in firefox, but has no effect for elinks.
|
| | |
| |
| |
| |
| | |
This makes the headings stand out, which improves readability for text mode
browsers such as elinks which can't use a different font size.
|
| | |
| |
| |
| |
| | |
Amazing to see that none of this is actually used in the pages generated
by doxyen-1.8.
|
| | |
| |
| |
| | |
Put the pages below build/ so that make distclean removes them.
|
| |/
|
|
|
|
| |
Nobody needs tarballs in 2025, so remove the documentation and all links
which refer to files in the releases directory. The tarball make(1) target
can go away as well.
|
| |
|
|
| |
It's used to create the API web pages, after all.
|
| |
|
|
|
| |
The source browser has been deactivated long ago, so the global package is
no longer needed.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The series first drops the para_upgrade_db executable because it is no longer
needed. This removes the penultimate user of the sha1 infrastructure. The
remaining commits deal with the last user: the handshake between para_client
and para_server. Since paraslash-0.7.0, client and server employ sha256
by default, but fall back to sha1 in order to stay compatible to old 0.6.x
versions. After this series, server and client always employ sha256 as the
hash algorithm, breaking compatibility with 0.6.x clients. As a result,
the sha1 hash algorithm is no longer used anywhere, so the corresponding
infrastructure is no longer needed. This gets rid of a fair amount of code.
* refs/heads/t/rm_sha1:
Rename hash2 -> hash.
Remove sha1.
Remove para_upgrade_db.
aft: Compare the full hash, not just the first 20 bytes.
|
| | |
| |
| |
| |
| | |
It is no longer needed since everybody should have upgraded by now, and it
blocks the road towards the removal of sha1.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
DCCP was marked deprecated in Linux since version 6.4 (released in 2023-06),
and 6.16 (released in 2025-07) dropped the protocol. This patch adds some
warnings which trigger when the dccp sender or receiver are in use. We also
mark all DCCP related options as deprecated. However, the paraslash dccp
sender and receiver will stay until at least v0.8.0.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A small series which cleans up the audio format handlers. In particular,
some rarely tested code of the mp3 audio format handler has been removed.
The merge conflict in afh.c was easy to resolve.
* refs/heads/t/afh:
Remove documentation of non-existing fd parameter of compute_afhi().
mp3_afh.c: Drop mp3_ prefix from non-methods.
afh: Remove unnecessary fd argument of ->get_file_info().
mp3_afh: Don't pass unused file descriptor internally.
afh: Make ->rewrite_tags() mandatory.
Let the mp3 audio format handler depend on libid3tag.
afh_common.c: Kill next_audio_format().
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the library is not installed we currently build the audio format handler
anyway, but only support id3v1 tags and do not implement ->rewrite_tags()
to modify the id3 tags.
Since id3v1 tags are rather limited and long superseded by id3v2, let's
drop the code from mp3_afh.c which is only compiled in if libid3tag is not
installed, and disable server side mp3 support instead in this case. This
requires a few additions to the build system to make the audio format handler
optional, but thanks to the removals in mp3_afh.c, this still results in a
negative diffstat. Removed code is debugged code, after all.
The manual and the test suite need small adjustments as well.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The guts of mp4ff have been incorporated into the paraslash source code
in 2021 after mp4ff had been removed from the faad repository. This commit
corrects the outdated packages notes.
Fixes: c9f23c7c737251ceb6f278fd3d3d016d754bf497
|
| |/ /
| |
| |
| |
| |
| | |
Since 2021, the autogen.sh script no longer builds the package.
Fixes: e2f5d34e427707eac3d5fbe7e20cb177c09be77e
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A single patch which deprecates the setatt server subcommand. This subcommand
fails, for example, if the name of an audio file happens to end in '+' or
'-'. The replacement for setatt is the touch subcommand, which gained two
options to set or unset attributes.
* refs/heads/t/deprecate_setatt:
server: Deprecate setatt in favor of touch.
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds --set-attribute and --unset-attribute to the touch subcommand,
re-implementing the features of the setatt command with a saner syntax.
We augment the change_atts_data structure using pre-computed values for
verbose and dry-run mode and pass a pointer to this structure rather than
the general callback arg pointer. The existing setatt subcommand neither
sets nor consults the two new booleans.
The touch completer of para_client is updated to complete the two new options,
executing the lsatt subcommand to get the attribute names. The manual and
the test suite also need minor adjustments.
|
| | |
| |
| |
| | |
It serves no purpose.
|
| | |
| |
| |
| |
| | |
The pages look better without this since the tables no longer contain
horizontal lines above all entities.
|
| | | |
|
| |/
|
|
|
| |
It's only needed for the web pages, so it should not be contained in the
top-level directory.
|
| |
|
|
|
| |
It's a noteworthy feature if software works without relying on third-party
internet services.
|
| |
|
|
|
| |
The AFS process passes an open file descriptor to the server process,
which is only possible with sockets but not with pipes.
|
| |
|
|
|
|
|
| |
paraslash-0.6.5 was the last maintenance release. As of today,
the "maint" branch no longer exists in the git repo, so adjust the
documentation at two places: the user manual and the download page.
Streamline the text a bit, while at it.
|