commit:     4002eed0c851d155d4d02bcd8628a2f9bef978b6
Author:     Denis Reva <denis7774 <AT> gmail <DOT> com>
AuthorDate: Mon Apr 13 06:50:50 2020 +0000
Commit:     Denis Reva <denis7774 <AT> gmail <DOT> com>
CommitDate: Mon Apr 13 06:50:50 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4002eed0

media-sound/zita-ajbridge:

New package: bridjes between ALSA and JACK

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Denis Reva <denis7774 <AT> gmail.com>

 media-sound/zita-ajbridge/Manifest                 |  1 +
 media-sound/zita-ajbridge/metadata.xml             | 27 ++++++++++++++
 .../zita-ajbridge/zita-ajbridge-0.8.2.ebuild       | 42 ++++++++++++++++++++++
 3 files changed, 70 insertions(+)

diff --git a/media-sound/zita-ajbridge/Manifest 
b/media-sound/zita-ajbridge/Manifest
new file mode 100644
index 0000000..3f82c8b
--- /dev/null
+++ b/media-sound/zita-ajbridge/Manifest
@@ -0,0 +1 @@
+DIST zita-ajbridge-0.8.2.tar.bz2 24451 BLAKE2B 
0311fe95f5ee0ed2cd2fe92b2f43d9cf649bc95669a24564310da2c4a87a518991c749142ea889de9d9f773d0ced8d2f6de26a92c004c4d8b9072e3da2fd93b7
 SHA512 
4813033ce6e16a7be013e82b9f0630a626a7515cd1ce8bd71b5f05239e5ef4cf3aecf522539557e159228d04459cb6ce112830619369c62e1e76bf95b84fbe71

diff --git a/media-sound/zita-ajbridge/metadata.xml 
b/media-sound/zita-ajbridge/metadata.xml
new file mode 100644
index 0000000..55ce4de
--- /dev/null
+++ b/media-sound/zita-ajbridge/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Denis Reva</name>
+               <description>RarogCmex</description>
+       </maintainer>
+       <longdescription>Zita-ajbridge provides two applications, zita-a2j and 
zita-j2a. They allow to use an ALSA device as a Jack client, to provide 
additional capture (a2j) or playback (j2a) channels. Functionally these are 
equivalent to the alsa_in and alsa_out clients that come with Jack, but they 
provide much better audio quality. The resampling ratio will typically be 
stable within 1 PPM and change only very smoothly. Delay will be stable as well 
even under worse case conditions, e.g. the Jack client running near the end of 
the cycle.
+
+The theory of operation and internals of these apps are the subject of a paper 
presented at LAC 2012.
+
+The alsa device should be a 'hw:' one, i.e. direct access to a soundcard and 
not an ALSA 'plug' device. A well-working Jack system is assumed, running in 
real-time mode.
+
+The sample rate can be the same as Jack's one, or different. Minimum delay is 
obtained by running the alsa device at a lower period size than Jack. This can 
be done safely as the alsa thread will run at a higher priority, and apart from 
copying to/from an internal buffer no work is done there. There are no 
restrictions on the product of period_size and number_of_periods as there are 
for alsa_in and alsa_out.
+
+Both apps will optionally (-v option) print some information four times per 
second. The first number is the average loop error over the last quarter 
second, in samples. It should be reduced to small randowm values close to zero 
after 15 seconds or so. The second is the dynamic correction factor of the 
nominal resampling ratio. This should converge to a value close to one and not 
move much. You may observe small variations in these numbers when Jack apps are 
started or stopped. This is normal. Anything else isn't - please report.
+
+The same -v option will enable detailed error reporting from the ALSA 
interface, or if all is OK print a summary of the ALSA device configuration.
+
+The -L option forces the ALSA device to 2 channels and 16-bit sample format. 
This can be required when using the ALSA loop device if the other side (e.g. 
mplayer) does not support more channels or a floating point sample format. This 
will fail on real hw: devices as these can be opened in mmap mode only with 
their real number of channels.
+
+When starting, and in case of major trouble, you will see the 'Starting 
synchronisation' message. This can happen if there is a timeout on the Jack 
server, e.g. a client crashed or terminated in a dirty way. Jack1 will skip one 
or more cycles when new apps are started, or when a large number of port 
connections is done in a short time. This may interrupt the audio signal, but 
should otherwise not have any ill consequences nor require a restart.
+
+Both apps will suspend operation while Jack is in 'freewheeling' mode. When 
using Jack1, returning from freewheeling to normal mode may generate large 
timing errors, the result of Jack's DLL not being re-initialised properly. Both 
apps will wait for 15 seconds before restarting if that happens. Patches to 
Jack1 have been submitted, so this problem should go away in the future.
+       </longdescription>
+</pkgmetadata>

diff --git a/media-sound/zita-ajbridge/zita-ajbridge-0.8.2.ebuild 
b/media-sound/zita-ajbridge/zita-ajbridge-0.8.2.ebuild
new file mode 100644
index 0000000..85f30af
--- /dev/null
+++ b/media-sound/zita-ajbridge/zita-ajbridge-0.8.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="zita-a2j and zita-j2a - bridjes between ALSA and JACK"
+HOMEPAGE="https://kokkinizita.linuxaudio.org/linuxaudio/zita-ajbridge-doc/quickguide.html";
+SOURCE_URI="https://kokkinizita.linuxaudio.org/linuxaudio/downloads";
+SRC_URI="${SOURCE_URI}/${PN}-${PV}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="media-libs/alsa-lib
+>=media-libs/zita-alsa-pcmi-0.3.0
+>=media-libs/zita-resampler-1.6.0
+virtual/jack"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/gzip"
+
+S="${WORKDIR}/${P}/source"
+ADIR="${WORKDIR}/${P}/"
+
+DOCS=( ${ADIR}/AUTHORS ${ADIR}/COPYING ${ADIR}/README )
+
+src_prepare() {
+       default
+       sed -i -e "/ldconfig/d" "${S}/Makefile" || die
+}
+
+src_install() {
+       mkdir -p "${D}/usr/{bin,share/man/man1}"
+       emake DESTDIR="${D}" PREFIX=/usr install
+       dodoc "${DOCS[@]}"
+       pushd "${D}/usr/share/man/man1" > /dev/null
+       gzip -d zita-a2j.1.gz
+       gzip -d zita-ajbridge.1.gz
+       gzip -d zita-j2a.1.gz
+       popd > /dev/null
+}

Reply via email to