aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/guitarix/README10
-rw-r--r--audio/guitarix/doinst.sh6
-rw-r--r--audio/guitarix/guitarix.1143
-rw-r--r--audio/guitarix/guitarix.SlackBuild41
-rw-r--r--audio/guitarix/guitarix.info12
-rw-r--r--audio/guitarix/setcap.sh2
-rw-r--r--audio/guitarix/slack-desc6
7 files changed, 203 insertions, 17 deletions
diff --git a/audio/guitarix/README b/audio/guitarix/README
index f3d557ca5c6a3..d474fcc14c9b0 100644
--- a/audio/guitarix/README
+++ b/audio/guitarix/README
@@ -1,7 +1,13 @@
guitarix is a simple Linux Rock Guitar Amplifier for jack (Jack Audio
Connection Kit) with one input and two outputs. Designed to get nice
thrash/metal/rock/blues guitar sounds. There are controls for bass, middle,
-treble, gain (in/out), compressor, preamp, tube's, drive, overdrive,
-oversample, e.t.c.
+treble, gain (in/out), compressor, preamp, tubes, drive, overdrive,
+oversample, etc.
meterbridge is an optional runtime dependency.
+
+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/guitarix/doinst.sh b/audio/guitarix/doinst.sh
index 5fb28930db0b9..3e5691a052b5b 100644
--- a/audio/guitarix/doinst.sh
+++ b/audio/guitarix/doinst.sh
@@ -1,3 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/audio/guitarix/guitarix.1 b/audio/guitarix/guitarix.1
new file mode 100644
index 0000000000000..b6bff282804cd
--- /dev/null
+++ b/audio/guitarix/guitarix.1
@@ -0,0 +1,143 @@
+.TH GUITARIX "1" "October 2012" "SlackBuilds.org" "User Commands"
+.SH NAME
+guitarix \- guitar amp simulator and effects processor
+.SH SYNOPSIS
+.B guitarix
+.RI [ options ]
+.SH DESCRIPTION
+.B Guitarix
+is a rock guitar amplifier for Jack (Jack Audio Connection Kit) with one input
+and two outputs. It is designed to get nice trash/metal/rock guitar sounds.
+Guitarix comes with a GTK+ graphical user interface and a set of LADSPA
+plugins. This manual page describes the GTK+ interface.
+.PP
+Guitarix provides one JACK input port and two JACK output ports.
+Controls for bass, treble, gain, compressor, preamp, balance, distortion,
+freeverb, crybaby (wah) and echo are available. A fixed resonator is
+used when distortion is disabled. To modify the sound 'pressure', you
+can use the feedback and feedforward sliders.
+.PP
+Guitarix includes an experimental tuner and a JACK MIDI output port
+with 3 channels. They are fed by a mix from a pitch tracker and a
+beat detector. You can pitch the octave (2 octaves up or down), choose the
+MIDI channel, the MIDI program, the velocity and the sensitiviy, which
+translates into how fast the note will read after the beat detector
+emits a signal. Values for the beat detector can be set for all
+channels.
+.SH OPTIONS
+All parameters are optional. Examples:
+.IP
+guitarix
+.br
+guitarix \fB\-r\fR gx4\-black \fB\-i\fR system:capture_3
+.br
+guitarix \fB\-c\fR \fB\-o\fR system:playback_1 \fB\-o\fR system:playback_2
+.SS "Help Options"
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show help options
+.TP
+\fB\-\-help\-all\fR
+Show all help options
+.TP
+\fB\-\-help\-style\fR
+GTK style configuration options
+.TP
+\fB\-\-help\-jack\fR
+JACK configuration options
+.TP
+\fB\-\-help\-file\fR
+File options
+.TP
+\fB\-\-help\-debug\fR
+Debug options
+.TP
+\fB\-\-help\-gtk\fR
+Show GTK+ Options
+.SS
+GTK style configuration options
+.TP
+\fB\-c\fR, \fB\-\-clear\fR
+Use 'default' GTK style
+.TP
+\fB\-r\fR, \fB\-\-rcset\fR=\fISTYLE\fR
+Style to use, 'gx1\-alloy', 'gx2\-emerald', 'gx3\-dezert', 'gx4\-black', 'gx5\-gree'
+.SS "JACK Configuration Options"
+.TP
+\fB\-i\fR, \fB\-\-jack\-input\fR=\fIPORT\fR
+Guitarix JACK input
+.TP
+\fB\-o\fR, \fB\-\-jack\-output\fR=\fIPORT\fR
+Guitarix JACK outputs
+.TP
+\fB\-m\fR, \fB\-\-jack\-midi\fR=\fIPORT\fR
+Guitarix JACK MIDI control
+.TP
+\fB\-J\fR, \fB\-\-jack\-no\-conect\fR
+dissable self\-connect JACK ports
+.TP
+\fB\-n\fR, \fB\-\-name\fR=\fINAME\fR
+instance name (default gx_head)
+.TP
+\fB\-U\fR, \fB\-\-jack\-uuid\fR
+JackSession ID
+.TP
+\fB\-A\fR, \fB\-\-jack\-uuid2\fR
+JackSession ID
+.TP
+\fB\-s\fR, \fB\-\-server\-name\fR=\fINAME\fR
+JACK server name to connect to
+.SS "File Options"
+.TP
+\fB\-f\fR, \fB\-\-load\-file\fR=\fIFILE\fR
+load state file on startup
+.TP
+\fB\-P\fR, \fB\-\-plugin\-dir\fR=\fIDIR\fR
+directory with guitarix plugins (.so files)
+.TP
+\fB\-K\fR, \fB\-\-dissable\-auto\-save\fR
+dissable auto save to state file when quit
+.SS "Debug Options"
+.TP
+\fB\-B\fR, \fB\-\-builder\-dir\fR=\fIDIR\fR
+directory from which .glade files are loaded
+.TP
+\fB\-S\fR, \fB\-\-style\-dir\fR=\fIDIR\fR
+directory with skin style definitions (.rc files)
+.TP
+\fB\-t\fR, \fB\-\-log\-terminal\fR
+print log on terminal
+.TP
+\fB\-d\fR, \fB\-\-dump\-parameter\fR
+dump parameter table in JSON format
+.SS "GTK+ Options"
+.TP
+\fB\-\-class\fR=\fICLASS\fR
+Program class as used by the window manager
+.TP
+\fB\-\-gtk\-name\fR=\fINAME\fR
+Program name as used by the window manager
+.TP
+\fB\-\-screen\fR=\fISCREEN\fR
+X screen to use
+.TP
+\fB\-\-sync\fR
+Make X calls synchronous
+.TP
+\fB\-\-gtk\-module\fR=\fIMODULES\fR
+Load additional GTK+ modules
+.TP
+\fB\-\-g\-fatal\-warnings\fR
+Make all warnings fatal
+.SS "Application Options"
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Print version string and exit
+.TP
+\fB\-\-display\fR=\fIDISPLAY\fR
+X display to use
+.SH AUTHORS
+Guitarix is Copyright (c) 2010 Hermman Meyer \- James Warden \- Andreas Degert
+.PP
+This man page was created for the SlackBuilds.org project by B. Watson, but it can
+be used by anyone.
diff --git a/audio/guitarix/guitarix.SlackBuild b/audio/guitarix/guitarix.SlackBuild
index 1acf99bb83031..91cce751f7c15 100644
--- a/audio/guitarix/guitarix.SlackBuild
+++ b/audio/guitarix/guitarix.SlackBuild
@@ -1,11 +1,18 @@
-#!/bin/sh
+#!/bin/bash
-# Slackware build script for <guitarix>
+# Slackware build script for guitarix
# Written by Michales Michaloudes korgie@gmail.com
+# Modified by B. Watson <yalhcru@gmail.com>:
+# - Upgraded to guitarix2
+# - Added man page
+# - Added realtime capabilities
+# - Make .desktop file validate
+# - Add guitarix's README to /usr/doc
+
PRGNAM=guitarix
-VERSION=${VERSION:-0.11.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.24.3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -35,13 +42,17 @@ else
LIBDIRSUFFIX=""
fi
+# Tarballs are now named "guitarix2-$VERSION", but the dir inside the
+# tarball is still "guitarix-$VERSION".
+TARNAME=${PRGNAM}2
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$TARNAME-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
@@ -50,6 +61,12 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Confusing freedesktop.org standard is confusing.
+# To pass desktop-file-validate, we need both Audio and AudioVideo, even
+# though the wording of the error message is 'requires another category to
+# be present among', implying we should only need Audio *or* AudioVideo.
+sed -i '/^Categories/s,$,Audio;,;' $PRGNAM.desktop.in
+
./waf configure \
--prefix=/usr \
--cxxflags-release="$SLKCFLAGS" \
@@ -60,8 +77,12 @@ find . \
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# Man page written for this SlackBuild
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYING changelog README.developers $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING changelog README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/doc -type f -exec chmod 0644 {} \;
@@ -69,5 +90,13 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+# 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/$PRGNAM
+ chmod 0750 $PKG/usr/bin/$PRGNAM
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/guitarix/guitarix.info b/audio/guitarix/guitarix.info
index f4f9d85fd6869..c13ec021a351c 100644
--- a/audio/guitarix/guitarix.info
+++ b/audio/guitarix/guitarix.info
@@ -1,10 +1,10 @@
PRGNAM="guitarix"
-VERSION="0.11.1"
+VERSION="0.24.3"
HOMEPAGE="http://guitarix.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/guitarix/guitarix-0.11.1.tar.bz2"
-MD5SUM="1c95a67c0788d6ffe609e430d4b57169"
+DOWNLOAD="http://downloads.sourceforge.net/guitarix/guitarix2-0.24.3.tar.bz2"
+MD5SUM="29cbb9676ddc12cb2653bbef5164441c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gtkmm jack-audio-connection-kit ladspa_sdk"
-MAINTAINER="Michales Michaloudes"
-EMAIL="korgie@gmail.com"
+REQUIRES="gtkmm jack-audio-connection-kit liblrdf"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/audio/guitarix/setcap.sh b/audio/guitarix/setcap.sh
new file mode 100644
index 0000000000000..e1f7ff3508fb8
--- /dev/null
+++ b/audio/guitarix/setcap.sh
@@ -0,0 +1,2 @@
+
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/guitarix
diff --git a/audio/guitarix/slack-desc b/audio/guitarix/slack-desc
index 6119177829543..39c1767757308 100644
--- a/audio/guitarix/slack-desc
+++ b/audio/guitarix/slack-desc
@@ -9,10 +9,10 @@
guitarix: guitarix (rock guitar amplifier for linux)
guitarix:
guitarix: guitarix is a simple Linux Rock Guitar Amplifier for jack (Jack Audio
-guitarix: Connektion Kit) with one input and two outputs. Designed to get nice
+guitarix: Connection Kit) with one input and two outputs. Designed to get nice
guitarix: thrash/metal/rock/blues guitar sounds. There are controls for bass,
-guitarix: middle, treble, gain (in/out), compressor, preamp, tube's, drive,
-guitarix: overdrive, oversample, e.t.c.
+guitarix: middle, treble, gain (in/out), compressor, preamp, tubes, drive,
+guitarix: overdrive, oversample, etc.
guitarix:
guitarix:
guitarix: