Commit Graph

4220 Commits

Author SHA1 Message Date
Nedko Arnaudov 3cd263b030 Bump jackdbus version to 2.23.0 2023-11-07 21:20:53 +02:00
Nedko Arnaudov 3cc8d25b68 As same uptime() is shared between linux and freebsd, adjust the wscript 2023-11-07 21:16:08 +02:00
Nedko Arnaudov 8947e5659a wscript: add --devmode option; use -std=gnu99 by default; adjust --debug 2023-11-07 21:06:43 +02:00
Nedko Arnaudov 8897c95c97 Fix warnings 2023-11-07 21:06:01 +02:00
Nedko Arnaudov 72b81b8fcb Remove traces of jackaudio/jack2 macos and windows support in jackdbus codebase 2023-11-07 20:46:42 +02:00
Nedko Arnaudov ed167c1fa1 wsript: C++ compiler is not used, drop checks and options 2023-11-07 20:41:38 +02:00
Nedko Arnaudov a750039aa9 Use WafToolchainFlags from git submodule 2023-11-07 20:24:09 +02:00
Nedko Arnaudov 21a3d589b1 Merge branch 'stable' itno 'main' 2023-11-07 11:14:58 +02:00
Nedko Arnaudov df84b1d17d dbus/reserve.c: Fix -Wsingle-bit-bitfield-constant-conversion by using unsigned int
../dbus/reserve.c:154:16: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
  154 |                                 d->gave_up = 1;
      |                                            ^ ~
2023-11-07 10:52:55 +02:00
Nedko Arnaudov 994086cfd9 Replace sigsegv.c with siginfo.c and build it only when explicitly enabled
siginfo is disabled by default so building on new CPU
architectures does not require adjusting of siginfo.c anymore.

When needed, --siginfo can be used as option to ./waf configure
to enable the functionality
2023-11-07 02:51:33 +02:00
Nedko Arnaudov 36bdfb2c65 remove in-tree version of control.h
System wide one is used instead
2023-11-07 01:58:02 +02:00
Nedko Arnaudov b659584d0e dbus/reserve.c: Include system-wide control.h 2023-11-07 01:54:43 +02:00
Nedko Arnaudov 191ae7a7eb Build jackdbus against system-wide jack headers 2023-07-25 22:15:24 +03:00
Nedko Arnaudov 92e12d5c7d remove unused files dbus/audio_reserve.[ch]
These are actually jackd specific.
2023-07-25 22:08:38 +03:00
Nedko Arnaudov a8ec586cba dbus/jack_control: moved to https://gitea.ladish.org/LADI/jack_control
Backup repo: https://github.com/LADI/jack_control

dbus/jack_control is now submodule

jack_control is now always installed as part of jackdbus.
With dedicated repos for jackdbus and jack_control,
there is no point in having jack_control installation conditional.
2023-07-24 02:59:00 +03:00
Nedko Arnaudov f586075555 Adjust link to jack_control script 2023-07-24 02:33:52 +03:00
Nedko Arnaudov 2fbd7ace76 dbus/controller.c: Use jackctl_server_create() instead of jackctl_server_create2()
This is mort portable across jack1 and jack2. jackctl_server_create2() is jackd.exe specific and has no purpose for jackdbus.
2023-07-22 06:44:36 +03:00
Nedko Arnaudov 1a23ec5ae9 jack_control: new command - "show"
show command behaves a bit like last parts of (current) adevices.sh script,
but chains the involved commands status2, dg, dp and ep internally.

The adevices.sh script uses status command and does not display
JACK settings unless jack is started. The show command uses
status2, so the settings will be displayed always.
2023-07-09 17:28:27 +03:00
Nedko Arnaudov 757bfbb903 jack_control: add status2 command
While status command returns always, status2 command
allows followup chained commands.
2023-07-09 17:23:29 +03:00
Nedko Arnaudov a6f0b65a3f Add LADI icons 2023-05-27 21:32:18 +03:00
Nedko Arnaudov e79afc708b README.adoc: Add packaging section
Based on:

https://github.com/jackaudio/jackaudio.github.com/wiki#installation-and-packaging
2023-05-27 19:40:11 +03:00
Nedko Arnaudov c9ba7c26c9 README.adoc: Fix TOC generation (ladoc-py) 2023-05-27 19:38:12 +03:00
Nedko Arnaudov bdcff7c377 README.adoc: fix typo (imPlements) 2023-05-15 23:21:11 +03:00
Nedko Arnaudov 3ae2f9b5a0 README: Add links to QjackCtl, Cadence and Studio Controls 2023-05-13 19:38:13 +03:00
Nedko Arnaudov b956c9032a README: add hyperlinks 2023-05-13 19:37:22 +03:00
Nedko Arnaudov ba6faf9cca Adjust asciidoc command-line for ladoc-py
https://gitea.ladish.org/LADI/ladoc-py
2023-05-13 18:51:28 +03:00
Nedko Arnaudov c565e4b707 README.adoc: Remove non-ASCII char 2023-05-12 10:45:26 +03:00
Nedko Arnaudov 07085ef095 wscript: switch to WafToolchainFlags 2023-05-06 21:09:29 +03:00
Nedko Arnaudov 4263a92024 wscript: WafToolchainFlags 2023-05-06 21:09:04 +03:00
Nedko Arnaudov c097aa5a38 NEWS: jackdbus-2.22.1 2023-04-18 23:07:18 +03:00
Nedko Arnaudov a1c3bf010e ci/github: Remove Ubuntu 23.04 runner (doesnt work) 2023-04-18 22:05:03 +03:00
Nedko Arnaudov bf3b35c43b ci/github: Ubuntu 18.04 deprecated, add 23.04
https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/
2023-04-18 21:56:30 +03:00
Nedko Arnaudov 005535b799 Restore display of source sha-1 in jackdbus log
This commit changes build info to display info about jackdbus itself,
along with libjackserver.so provided build info

Fixes https://github.com/LADI/jackdbus/issues/1
2023-04-18 21:43:20 +03:00
Nedko Arnaudov c685e29dc7 Update jack2 pdf link to archive.org
The current one is broken for unknown reasons.
2023-03-08 10:17:15 +02:00
Nedko Arnaudov 3f04377896 Merge commit v1.9.22 into jackdbus 2023-02-02 20:03:23 +02:00
falkTX 4f58969432
Update changelog
Signed-off-by: falkTX <falktx@falktx.com>
2023-02-02 12:04:10 +01:00
falkTX 1eff44a212 Update copyright year
Signed-off-by: falkTX <falktx@falktx.com>
2023-01-30 22:14:29 +01:00
falkTX f5a01999fa macOS: forcely ignore wait failures when closing down
Signed-off-by: falkTX <falktx@falktx.com>
2023-01-30 22:14:29 +01:00
Christian Clauss d2d44158f9
Upgrade GitHub Actions (#911)
* Upgrade GitHub Actions

* https://github.com/actions/cache/releases
* https://github.com/actions/checkout/releases
* https://github.com/actions/upload-artifact/releases

* Upgrade GitHub Actions
2023-01-29 17:54:29 +01:00
falkTX 79ea0746fa
macOS: killing a thread will abort the semaphore wait
Signed-off-by: falkTX <falktx@falktx.com>
2023-01-29 12:57:36 +01:00
luz paz ae9993bb34 Fix typos 2023-01-28 16:48:31 +01:00
Daan De Meyer 328c58967d Remove usage of 'U' mode bit for opening files in python
The 'U' mode bit is removed in python 3.11. It has been
deprecated for a long time. The 'U' mode bit has no effect
so this change doesn't change any behavior.

See https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
2023-01-28 16:40:13 +01:00
K 75516ffe6d
Fix ringbuffer thread safety on ARM. Fix #715 #388 (#886)
* fix ringbuffer thread safety on ARM. fix #715 #388

This patch addresses the thread safety problem of `jack_ringbuffer_t`
mentioned in #715 and #388. The overbound read bug caused by this problem
is impossible to reproduce on x86 due to its strong memory ordering, but
it is a problem on ARM and other weakly ordered architectures.

Basically, the main problem is that, on a weakly ordered architecture,
it is possible that the pointer increment after `memcpy` becomes visible
to the other thread before `memcpy` finishes:

	memcpy (&(rb->buf[rb->write_ptr]), src, n1);
	// vvv can be visible to reading thread before memcpy finishes
	rb->write_ptr = (rb->write_ptr + n1) & rb->size_mask;

If this happens, the other thread can read the remaining garbage values
in `rb->buf` due to be overwritten by the unfinished `memcpy`.

To fix this, an explicit pair of release/acquire memory fences [1] is
used to ensure the copy on the other thread *happens after* the `memcpy`
finishes so no garbage values can be read.

[1]: https://preshing.com/20130922/acquire-and-release-fences/

* remove volatile qualifier on ringbuf r/w pointers

The volatile constraints are excess when compiler barriers are present.
It generates unnecessary `mov` instructions when pointers aren't going
to be updated.

* simplify read/write space calculations

This optimization is possible because the buffer size is always a power
of 2. See [1] for details.

[1]: https://github.com/drobilla/zix/pull/1#issuecomment-1212687196

* move acq fences to separate lines
2023-01-28 16:38:05 +01:00
Florian Walpen f18660aa03
CI: Update FreeBSD image to 13.1, fix build.
In principle, major FreeBSD versions should be ABI compatible.
But in this case the python3 binary would only run on 13.1, not 13.0.
2023-01-26 23:20:24 +01:00
Nedko Arnaudov 6e06864b63 Adjust the other jack2 paper link to https
The http one is returning HTTP forbidden error.
2023-01-24 13:25:03 +02:00
Nedko Arnaudov dbeb1994bf update doc/jackdbus.html 2023-01-24 13:21:36 +02:00
Nedko Arnaudov 3655dc140c Adjust jack2 paper link to https
The http one is returning HTTP forbidden error.
2023-01-24 13:20:39 +02:00
Nedko Arnaudov eddfecc0f8 jackdbus.html: remove http-only badges 2022-09-17 21:36:47 +03:00
Nedko Arnaudov 110cf4c821 Update jackdbus.html 2022-09-17 20:18:38 +03:00
Nedko Arnaudov d4f379e560
Autogenerate AUTHORS through git-shortlog
Directories/paths not directly relevant to jackdbus
were intentionally removed from shortlog.

Authorship of the non-jack2dbus code is to be tracked
in jack2 context instead.
2022-09-11 23:02:30 +03:00