aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/zita-ajbridge/README16
-rw-r--r--audio/zita-ajbridge/setcap.sh2
-rw-r--r--audio/zita-ajbridge/slack-desc19
-rw-r--r--audio/zita-ajbridge/zita-ajbridge.1198
-rw-r--r--audio/zita-ajbridge/zita-ajbridge.SlackBuild82
-rw-r--r--audio/zita-ajbridge/zita-ajbridge.info10
-rw-r--r--audio/zita-ajbridge/zita-ajbridge.pod83
7 files changed, 410 insertions, 0 deletions
diff --git a/audio/zita-ajbridge/README b/audio/zita-ajbridge/README
new file mode 100644
index 000000000000..9f2cfe8520cc
--- /dev/null
+++ b/audio/zita-ajbridge/README
@@ -0,0 +1,16 @@
+zita-ajbridge (ALSA <=> JACK bridge)
+
+zita-ajbridge provides two applications, zita-a2j and zita-j2a. They
+allow using 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 worst case conditions, e.g. the JACK
+client running near the end of the cycle.
+
+This package uses POSIX filesystem capabilities to execute with
+elevated privileges (required for realtime audio processing). This
+may be considered a security/stability risk. Please read
+http://www.slackbuilds.org/caps/ for more information. To disable
+capabilities, pass SETCAP=no to the script.
diff --git a/audio/zita-ajbridge/setcap.sh b/audio/zita-ajbridge/setcap.sh
new file mode 100644
index 000000000000..dd92d655de34
--- /dev/null
+++ b/audio/zita-ajbridge/setcap.sh
@@ -0,0 +1,2 @@
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/zita-a2j
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/zita-j2a
diff --git a/audio/zita-ajbridge/slack-desc b/audio/zita-ajbridge/slack-desc
new file mode 100644
index 000000000000..1a1a484c6b00
--- /dev/null
+++ b/audio/zita-ajbridge/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+zita-ajbridge: zita-ajbridge (ALSA <=> JACK bridge)
+zita-ajbridge:
+zita-ajbridge: zita-ajbridge provides two applications, zita-a2j and zita-j2a.
+zita-ajbridge: They allow using an ALSA device as a Jack client, to provide
+zita-ajbridge: additional capture (a2j) or playback (j2a) channels. Functionally
+zita-ajbridge: these are equivalent to the alsa_in and alsa_out clients that come
+zita-ajbridge: with JACK, but they provide much better audio quality.
+zita-ajbridge:
+zita-ajbridge:
+zita-ajbridge:
+zita-ajbridge:
diff --git a/audio/zita-ajbridge/zita-ajbridge.1 b/audio/zita-ajbridge/zita-ajbridge.1
new file mode 100644
index 000000000000..cf8a3383e7ea
--- /dev/null
+++ b/audio/zita-ajbridge/zita-ajbridge.1
@@ -0,0 +1,198 @@
+.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+. if \nF \{
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "ZITA-AJBRIDGE 1"
+.TH ZITA-AJBRIDGE 1 "2014-01-14" "0.4.0" "SlackBuilds.org"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+zita\-a2j \- use ALSA capture device as a JACK client, with resampling
+.PP
+zita\-j2a \- use ALSA playback device as a JACK client, with resampling
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+zita\-a2j \fIoptions\fR
+.PP
+zita\-j2a \fIoptions\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+zita-ajbridge provides two applications, zita\-a2j and zita\-j2a. They
+allow using an \s-1ALSA\s0 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 \s-1JACK,\s0
+but they provide much better audio quality. The resampling ratio will
+typically be stable within 1 \s-1PPM\s0 and change only very smoothly. Delay
+will be stable as well even under worst case conditions, e.g. the \s-1JACK\s0
+client running near the end of the cycle.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Options for both executables are the same, except the default \s-1JACK\s0 client name.
+.IP "\-h" 4
+.IX Item "-h"
+Display this text
+.IP "\-j <jackname>" 4
+.IX Item "-j <jackname>"
+Name as Jack client [zita\-j2a or zita\-a2j]
+.IP "\-d <device>" 4
+.IX Item "-d <device>"
+\&\s-1ALSA\s0 playback device [none]
+.IP "\-r <rate>" 4
+.IX Item "-r <rate>"
+Sample rate [48000]
+.IP "\-p <period>" 4
+.IX Item "-p <period>"
+Period size [256]
+.IP "\-n <nfrags>" 4
+.IX Item "-n <nfrags>"
+Number of fragments [2]
+.IP "\-c <nchannels>" 4
+.IX Item "-c <nchannels>"
+Number of channels [2]
+.IP "\-Q <quality>" 4
+.IX Item "-Q <quality>"
+Resampling quality [48]
+.IP "\-O <latency>" 4
+.IX Item "-O <latency>"
+Latency adjustment[0]
+.IP "\-L" 4
+.IX Item "-L"
+Force 16\-bit and 2 channels [off]
+.IP "\-v" 4
+.IX Item "-v"
+Print tracing information [off]
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+\&\fBzita-ajbridge\fR is (C) 2006\-2011 Fons Adriaensen <fons@linuxaudio.org>
diff --git a/audio/zita-ajbridge/zita-ajbridge.SlackBuild b/audio/zita-ajbridge/zita-ajbridge.SlackBuild
new file mode 100644
index 000000000000..ae5c058b8f3d
--- /dev/null
+++ b/audio/zita-ajbridge/zita-ajbridge.SlackBuild
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Slackware build script for zita-ajbridge
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=zita-ajbridge
+VERSION=${VERSION:-0.4.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+sed -i "s,-O2,$SLKCFLAGS," source/Makefile
+make -C source PREFIX=/usr DESTDIR=$PKG all install
+strip $PKG/usr/bin/*
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README AUTHORS COPYING $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# man page written for this SlackBuild (from the -h text and README)
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/zita-j2a.1.gz
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/zita-a2j.1.gz
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Only add capability stuff if not disabled:
+if [ "${SETCAP:-yes}" = "yes" ]; then
+ cat $CWD/setcap.sh >> $PKG/install/doinst.sh
+ # Only allow execution by audio group
+ chown root:audio $PKG/usr/bin/*
+ chmod 0750 $PKG/usr/bin/*
+fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/zita-ajbridge/zita-ajbridge.info b/audio/zita-ajbridge/zita-ajbridge.info
new file mode 100644
index 000000000000..a525a8a79b8b
--- /dev/null
+++ b/audio/zita-ajbridge/zita-ajbridge.info
@@ -0,0 +1,10 @@
+PRGNAM="zita-ajbridge"
+VERSION="0.4.0"
+HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/zita-ajbridge-doc/quickguide.html"
+DOWNLOAD="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/zita-ajbridge-0.4.0.tar.bz2"
+MD5SUM="9b834537b26063cc9ea6990cadeef62d"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="jack-audio-connection-kit zita-resampler zita-alsa-pcmi"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/audio/zita-ajbridge/zita-ajbridge.pod b/audio/zita-ajbridge/zita-ajbridge.pod
new file mode 100644
index 000000000000..08dc2b9c6d19
--- /dev/null
+++ b/audio/zita-ajbridge/zita-ajbridge.pod
@@ -0,0 +1,83 @@
+# pod source for zita-ajbridge man page
+# pod2man -s1 -r0.4.0 --stderr -nZITA-AJBRIDGE -cSlackBuilds.org < zita-ajbridge.pod > zita-ajbridge.1
+
+=pod
+
+=head1 NAME
+
+zita-a2j - use ALSA capture device as a JACK client, with resampling
+
+zita-j2a - use ALSA playback device as a JACK client, with resampling
+
+=head1 SYNOPSIS
+
+zita-a2j I<options>
+
+zita-j2a I<options>
+
+=head1 DESCRIPTION
+
+zita-ajbridge provides two applications, zita-a2j and zita-j2a. They
+allow using 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 worst case conditions, e.g. the JACK
+client running near the end of the cycle.
+
+=head1 OPTIONS
+
+Options for both executables are the same, except the default JACK client name.
+
+=over
+
+=item -h
+
+Display this text
+
+=item -j <jackname>
+
+Name as Jack client [zita-j2a or zita-a2j]
+
+=item -d <device>
+
+ALSA playback device [none]
+
+=item -r <rate>
+
+Sample rate [48000]
+
+=item -p <period>
+
+Period size [256]
+
+=item -n <nfrags>
+
+Number of fragments [2]
+
+=item -c <nchannels>
+
+Number of channels [2]
+
+=item -Q <quality>
+
+Resampling quality [48]
+
+=item -O <latency>
+
+Latency adjustment[0]
+
+=item -L
+
+Force 16-bit and 2 channels [off]
+
+=item -v
+
+Print tracing information [off]
+
+=back
+
+=head1 AUTHOR
+
+B<zita-ajbridge> is (C) 2006-2011 Fons Adriaensen <fons@linuxaudio.org>