Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new packages: JACK Audio Connection Kit and alsa-lib #20544

Merged
merged 5 commits into from
Jun 24, 2024

Conversation

knyipab
Copy link
Contributor

@knyipab knyipab commented Jun 15, 2024

Few packages

  • jack2 is an audio server. On Android, it can use OpenSLES as backend.
  • The metapackage jack is for dependency management and will accept the upcoming pipewire-jack as an option. By the way, I am not interested in making jack1 functional and be one of the jack option, given that we have jack2 now and it seems Linux distros usually not packing jack1 officially (at least for Archlinux it is in AUR).
  • alsa-lib as deps of jack2. Also, it is tested to work along with pipewire-alsa which will be finalized in the pipewire PR.
  • mpv and mpv-x are updated to support jack and alsa audio output

Tested working with:

jackd -d opensles

and then use the updated mpv in this PR

mpv --ao=jack ./test.wav

By the way, since #20353 also use jack (which I put a stub and useless jack1), I will refactor that PR after this is merged.

Copy link
Member

@Grimler91 Grimler91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, exciting work! I think we can drop BUILD_DEPENDS on jack2 for mpv, otherwise looks good!

packages/mpv/build.sh Outdated Show resolved Hide resolved
x11-packages/mpv-x/build.sh Outdated Show resolved Hide resolved
@knyipab
Copy link
Contributor Author

knyipab commented Jun 18, 2024

Refactored to remove ANTI_BUILD_DEPENDS, added few utils pacakges and added 0004 patch to jack2 to remove some superuser features, paving the way to debug with jack-enabled ardour in the future.

There are quite some issues in alsa-lib and jack2, but still, I suggest merging this PR first because

  1. Those issues are mostly beyond the scope of this PR
  2. shotcut (PR new packages: shotcut, mlt and their deps #20353) needs jack and pipewire-alsa (PR pipewire full features #20483) will need alsa-lib.
  3. There should be little to no harm to merge cuz existing packages aren't compiled with alsa-lib and jack. Fixes can be done later each time we enable alsa and jack features for other packages.
  • ALSA has no access to kernel driver thru /dev/snd/*
  • jack2 prompts quite some errors when using with a jack-enabled ardour

@Grimler91 Grimler91 merged commit daaab46 into termux:master Jun 24, 2024
4 checks passed
@Grimler91
Copy link
Member

Thanks! Exciting work :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this reinstates support for alsa-utils I have removed it from disabled-packages in 7a1f71a.

Please check that volume_mapping.c.patch is not still applicable to the reinstated version.

--- ./alsamixer/volume_mapping.c 2016-08-02 22:39:45.000000000 +0530
+++ ../volume_mapping.c 2016-12-03 23:15:26.390744307 +0530
@@ -37,7 +37,7 @@
#include <stdbool.h>
#include "volume_mapping.h"
-#ifdef __UCLIBC__
+#if defined(__UCLIBC__) || defined(__ANDROID__)
/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */
#define exp10(x) (exp((x) * log(10)))
#endif /* __UCLIBC__ */

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no #define exp10(x) and no use of exp10 in the current version of alsa-utils.

bigbio2002 pushed a commit to bigbio2002/termux-packages that referenced this pull request Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants