audio/klick: Added (metronome for jack-audio-connection-kit).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2014-01-23 13:41:59 +07:00 committed by Erik Hanson
parent 35c78b1eed
commit 4641052e0a
6 changed files with 704 additions and 0 deletions

23
audio/klick/README Normal file
View File

@ -0,0 +1,23 @@
klick (metronome for jack-audio-connection-kit)
klick is an advanced command-line based metronome for JACK. It allows
you to define complex tempo maps for entire songs or performances.
Note:
this package is built with liblo support. It allows klick to be
controlled by other OSC-capable applications. You can disable
with LIBLO=no in the script's environment. If you plan to use gtklick,
it requires klick built with liblo support.
Optional dependencies:
rubberband - uses the RubberBand library for pitch adjustment, which
results in slightly higher audio quality. Disabled by default; enable
with RUBBERBAND=yes in the script's environment.
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.

565
audio/klick/klick.1 Normal file
View File

@ -0,0 +1,565 @@
.\" 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 "KLICK 1"
.TH KLICK 1 "2014-01-19" "0.12.2" "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"
klick \- an advanced metronome for JACK
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
klick [options] [bars] [meter] tempo[\-tempo2/accel] [pattern]
.PP
klick [options] \-f filename
.PP
klick [options] \-i
.PP
klick [options] \-j
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
.Vb 1
\& klick [options] [bars] [meter] tempo[\-tempo2/accel] [pattern]
.Ve
.PP
Plays a simple metronome with the given meter and tempo. To play a 3/4 beat at 120 bpm:
.PP
.Vb 1
\& klick 3/4 120
.Ve
.PP
You can also specify a \*(L"target\*(R" tempo and acceleration rate, to use klick
as a speed trainer. To play a 4/4 beat starting at 80 bpm, gradually
increasing the tempo by 1 bpm every 10 measures until reaching 120 bpm:
.PP
.Vb 1
\& klick 80\-120/10
.Ve
.PP
Once the final tempo is reached, klick will continue playing at a constant tempo.
.PP
.Vb 1
\& klick [options] \-f filename
.Ve
.PP
Loads a tempo map from a file. This allows for more complex setups
including meter and tempo changes etc. See \fBTempo Map File Format\fR.
.PP
.Vb 1
\& klick [options] \-i
.Ve
.PP
Runs klick in interactive mode, allowing you to change tempo and meter
while klick is running. The keyboard commands available in this mode
are described in Interactive Mode.
.PP
.Vb 1
\& klick [options] \-j
.Ve
.PP
In this mode, klick gets all tempo information from \s-1JACK.\s0 Just run
a sequencer as \s-1JACK\s0 transport master, and klick will play a simple
metronome pattern in sync with \s-1JACK\s0 transport.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\-f filename" 4
.IX Item "-f filename"
load tempo map from file
.IP "\-j" 4
.IX Item "-j"
no tempo map, just follow jack transport
.IP "\-n name" 4
.IX Item "-n name"
set jack client name
.IP "\-p port,.." 4
.IX Item "-p port,.."
jack port(s) to connect to
.IP "\-P" 4
.IX Item "-P"
automatically connect to hardware ports
.IP "\-o port" 4
.IX Item "-o port"
\&\s-1OSC\s0 port to listen on. Only available when compiled with liblo support.
.IP "\-i" 4
.IX Item "-i"
interactive mode
.IP "\-W filename" 4
.IX Item "-W filename"
export click track to audio file
.IP "\-r samplerate" 4
.IX Item "-r samplerate"
sample rate of export (default: 48000)
.IP "\-s number" 4
.IX Item "-s number"
use built-in sounds:
.RS 4
.IP "0" 4
square wave (default)
.IP "1" 4
.IX Item "1"
sine wave
.IP "2" 4
.IX Item "2"
noise
.IP "3" 4
.IX Item "3"
acoustic bell/click
.RE
.RS 4
.RE
.IP "\-S file[,file]" 4
.IX Item "-S file[,file]"
load sounds from file(s)
.IP "\-e" 4
.IX Item "-e"
no emphasized beats
.IP "\-E" 4
.IX Item "-E"
emphasized beats only
.IP "\-v mult[,mult]" 4
.IX Item "-v mult[,mult]"
adjust playback volume (default: 1.0)
.IP "\-w mult[,mult]" 4
.IX Item "-w mult[,mult]"
adjust playback pitch (default: 1.0)
.IP "\-t" 4
.IX Item "-t"
enable jack transport
.IP "\-T" 4
.IX Item "-T"
become transport master (implies \-t)
.IP "\-d seconds" 4
.IX Item "-d seconds"
delay before starting playback
.IP "\-c bars" 4
.IX Item "-c bars"
pre-roll. use \-c 0 for 2 beats
.IP "\-l label" 4
.IX Item "-l label"
start playback at the given label
.IP "\-x multiplier" 4
.IX Item "-x multiplier"
multiply tempo by the given factor
.IP "\-h" 4
.IX Item "-h"
show this help
.SH "INTERACTIVE MODE"
.IX Header "INTERACTIVE MODE"
The following keyboard commands are available in interactive mode:
.IP "Arrow up/down" 4
.IX Item "Arrow up/down"
increase/reduce tempo by 10 bpm
.IP "Arrow right/left" 4
.IX Item "Arrow right/left"
increase/reduce tempo by 1 bpm
.IP "0\-9" 4
.IX Item "0-9"
set beats per bar (0/1: all beats are even)
.IP "q/w/e/r" 4
.IX Item "q/w/e/r"
set beat type (whole, half, quarter, eighth note)
.IP "+/=, \-" 4
increase/reduce volume
.IP "Space" 4
.IX Item "Space"
start/stop metronome
.IP "Escape" 4
.IX Item "Escape"
exit klick
.SH "TEMPO MAP FILE FORMAT"
.IX Header "TEMPO MAP FILE FORMAT"
A tempo map is a plain text file, consisting of an arbitrary number of lines
which will be played sequentially. Each line must have the following format:
.PP
.Vb 1
\& [label:] bars [meter] tempo [pattern] [volume]
.Ve
.PP
Everything in brackets is optional, and can be omitted to use the default. '#'
indicates the start of a comment, empty lines are ignored.
.IP "label" 4
.IX Item "label"
An optional name that can be used to refer to this line, and start
playback at this position.
.IP "bars" 4
.IX Item "bars"
The number of bars for this tempo map entry.
.IP "meter" 4
.IX Item "meter"
The meter, written as beats/denominator. This is optional, the default
is 4/4. The tempo in beats per minute, with a \*(L"beat\*(R" always referring
to quarter notes, no matter what the meter actually is.
.IP "tempo" 4
.IX Item "tempo"
.RS 4
.PD 0
.IP "tempo" 4
.IX Item "tempo"
.PD
Sets the tempo for the duration of the whole tempo map entry.
.IP "tempo1\-tempo2" 4
.IX Item "tempo1-tempo2"
Specifies the tempo for the start and the end of this
entry, with a gradual tempo change in between.
.IP "tempo1,tempo2,..." 4
.IX Item "tempo1,tempo2,..."
Sets a different tempo for each beat. The
number of
tempo values must be the same as the total number of
beats for this entry (bars * beats).
.RE
.RS 4
.RE
.IP "pattern" 4
.IX Item "pattern"
This can be used to alter the pattern of accented/normal beats. Use 'X'
(upper case) for accented beats, 'x' (lower case) for normal beats, and
\&'.' for silence. So for example, given a 6/8 measure, and you only want
the 1st and 4th beat to be played, you could use the pattern 'X..x..';
the default is 'Xxxxxx'.
.IP "volume" 4
.IX Item "volume"
Allows you to set a different volume for each part, default is 1.0.
.SS "Example Tempo Map"
.IX Subsection "Example Tempo Map"
.Vb 10
\& intro: 8 120 # play 8 measures at 120 bpm (4/4)
\& verse1: 12 120 X.x. # 12 measures at 120 bpm, playing only the 1st and 3rd beat
\& 4 120\-140 X.x. # gradually increase tempo to 140 bpm
\& chorus1: 16 140
\& bridge: 8 3/4 140 0.5 # change to 3/4 time, reduce volume
\& 8 3/4 140 # normal volume again
\& verse2: 12 120 # back to 4/4 (implied)
\& chorus2: 16 140 # jump to 140 bpm
\& outro: 6 140
\& 2 140\-80 # ritardando over the last 2 bars
.Ve
.SH "CLICK TRACK EXPORT"
.IX Header "CLICK TRACK EXPORT"
By default, klick connects to \s-1JACK\s0 for audio output. To export a click track to
an audio file instead, use the \-W parameter to specify an output filename. The
file type is determined by extension, supported formats are \s-1WAV, AIFF, FLAC,\s0 Ogg
Vorbis (with libsndfile >= 1.0.18).
The \-r parameter can be used to set the sample rate of the exported audio,
default is 48000 Hz.
.SH "OSC MESSAGES"
.IX Header "OSC MESSAGES"
klick must be compiled with lilbo support to use \s-1OSC.\s0
.PP
klick understands the following \s-1OSC\s0 messages:
.SS "General"
.IX Subsection "General"
.IP "/klick/ping" 4
.IX Item "/klick/ping"
.PD 0
.IP "/klick/ping ,s <return_address>" 4
.IX Item "/klick/ping ,s <return_address>"
.PD
responds: /klick/pong
.IP "/klick/register_client" 4
.IX Item "/klick/register_client"
.PD 0
.IP "/klick/register_client ,s <address>" 4
.IX Item "/klick/register_client ,s <address>"
.PD
registers a client to receive notifications when any parameter changes
.IP "/klick/unregister_client" 4
.IX Item "/klick/unregister_client"
.PD 0
.IP "/klick/unregister_client ,s <address>" 4
.IX Item "/klick/unregister_client ,s <address>"
.PD
unregisters a client
.IP "/klick/query" 4
.IX Item "/klick/query"
.PD 0
.IP "/klick/query ,s <return_address>" 4
.IX Item "/klick/query ,s <return_address>"
.PD
reports current state (same as /klick/*/query)
.IP "/klick/quit" 4
.IX Item "/klick/quit"
terminates klick
.SS "Configuration"
.IX Subsection "Configuration"
.IP "/klick/config/set_sound ,i <number>" 4
.IX Item "/klick/config/set_sound ,i <number>"
sets the sound to one of the built-in ones
.IP "/klick/config/set_sound ,ss <filename> <filename>" 4
.IX Item "/klick/config/set_sound ,ss <filename> <filename>"
loads the sound from two audio files
.IP "/klick/config/set_sound_volume ,ff <emphasis> <normal>" 4
.IX Item "/klick/config/set_sound_volume ,ff <emphasis> <normal>"
changes the volume individually for both samples
.IP "/klick/config/set_sound_pitch ,ff <emphasis> <normal>" 4
.IX Item "/klick/config/set_sound_pitch ,ff <emphasis> <normal>"
changes the pitch individually for both samples
.IP "/klick/config/set_volume ,f <volume>" 4
.IX Item "/klick/config/set_volume ,f <volume>"
sets the overall output volume
.IP "/klick/config/autoconnect" 4
.IX Item "/klick/config/autoconnect"
connects klick's output port to the first two hardware ports
.IP "/klick/config/connect ,s... <port> ..." 4
.IX Item "/klick/config/connect ,s... <port> ..."
connects klick's output port to the specified \s-1JACK\s0 ports
.IP "/klick/config/disconnect_all" 4
.IX Item "/klick/config/disconnect_all"
disconnects all connections from klick's output port
.IP "/klick/config/get_available_ports" 4
.IX Item "/klick/config/get_available_ports"
.PD 0
.IP "/klick/config/get_available_ports ,s <return_address>" 4
.IX Item "/klick/config/get_available_ports ,s <return_address>"
.PD
returns a list of all \s-1JACK\s0 input ports:
.Sp
.Vb 1
\& /klick/config/available_ports ,s... <port> ...
.Ve
.IP "/klick/config/query" 4
.IX Item "/klick/config/query"
.PD 0
.IP "/klick/config/query ,s <return_address>" 4
.IX Item "/klick/config/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 5
\& /klick/config/sound ,i
\& /klick/config/sound ,ss
\& /klick/config/sound_volume ,ff
\& /klick/config/sound_pitch ,ff
\& /klick/config/volume ,f
.Ve
.SS "Generic Metronome Functions"
.IX Subsection "Generic Metronome Functions"
.IP "/klick/metro/set_type ,s <type>" 4
.IX Item "/klick/metro/set_type ,s <type>"
sets the metronome type, one of 'simple', 'map', 'jack'
.IP "/klick/metro/start" 4
.IX Item "/klick/metro/start"
starts the metronome
.IP "/klick/metro/stop" 4
.IX Item "/klick/metro/stop"
stops the metronome
.IP "/klick/metro/query" 4
.IX Item "/klick/metro/query"
.PD 0
.IP "/klick/metro/query ,s <return_address>" 4
.IX Item "/klick/metro/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 2
\& /klick/metro/type ,s
\& /klick/metro/active ,i
.Ve
.SS "Simple (Dynamic) Metronome"
.IX Subsection "Simple (Dynamic) Metronome"
.IP "/klick/simple/set_tempo ,f <tempo>" 4
.IX Item "/klick/simple/set_tempo ,f <tempo>"
sets the metronome's tempo
.IP "/klick/simple/set_tempo_increment ,f <increment>" 4
.IX Item "/klick/simple/set_tempo_increment ,f <increment>"
sets the tempo increment per bar
.IP "/klick/simple/set_tempo_start ,f <start>" 4
.IX Item "/klick/simple/set_tempo_start ,f <start>"
sets the start tempo
.IP "/klick/simple/set_tempo_limit ,f <limit>" 4
.IX Item "/klick/simple/set_tempo_limit ,f <limit>"
sets the maximum tempo
.IP "/klick/simple/set_meter ,ii <beats> <denom>" 4
.IX Item "/klick/simple/set_meter ,ii <beats> <denom>"
sets the metronome's meter
.IP "/klick/simple/set_pattern ,s <pattern>" 4
.IX Item "/klick/simple/set_pattern ,s <pattern>"
sets the beat pattern
.IP "/klick/simple/tap" 4
.IX Item "/klick/simple/tap"
tap tempo
.IP "/klick/simple/query" 4
.IX Item "/klick/simple/query"
.PD 0
.IP "/klick/simple/query ,s <return_address>" 4
.IX Item "/klick/simple/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 6
\& /klick/simple/tempo ,f
\& /klick/simple/tempo_increment ,f
\& /klick/simple/tempo_limit ,f
\& /klick/simple/current_tempo ,f
\& /klick/simple/meter ,ii
\& /klick/simple/pattern ,s
.Ve
.SS "Tempo Map Metronome"
.IX Subsection "Tempo Map Metronome"
.IP "/klick/map/load_file ,s <filename>" 4
.IX Item "/klick/map/load_file ,s <filename>"
loads a tempo map from a file
.IP "/klick/map/set_preroll ,i <bars>" 4
.IX Item "/klick/map/set_preroll ,i <bars>"
sets the preroll before the start of the tempo map
.IP "/klick/map/set_tempo_multiplier ,f <mult>" 4
.IX Item "/klick/map/set_tempo_multiplier ,f <mult>"
sets the tempo multiplier
.IP "/klick/map/query" 4
.IX Item "/klick/map/query"
.PD 0
.IP "/klick/map/query ,s <return_address>" 4
.IX Item "/klick/map/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 3
\& /klick/map/filename ,s
\& /klick/map/preroll ,i
\& /klick/map/tempo_multiplier ,f
.Ve
.SS "\s-1JACK\s0 Transport Metronome"
.IX Subsection "JACK Transport Metronome"
.IP "/klick/jack/query" 4
.IX Item "/klick/jack/query"
.PD 0
.IP "/klick/jack/query ,s <return_address>" 4
.IX Item "/klick/jack/query ,s <return_address>"
.PD
currently does nothing
.SH "AUTHOR"
.IX Header "AUTHOR"
klick is opyright (C) 2007\-2009 Dominic Sacre <dominic.sacre@gmx.de>

View File

@ -0,0 +1,86 @@
#!/bin/sh
# Slackware build script for klick
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=klick
VERSION=${VERSION:-0.12.2}
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.gz
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 {} \;
OPTS="RUBBERBAND=${RUBBERBAND:-no} OSC=${LIBLO:-yes}"
# hate scons. This mess forces CFLAGS.
SCONSCFLAGS=$( echo "$SLKCFLAGS" | sed "s/\([^ ]\+\)/'\1', /g" )
sed -i "s/'-O2', /$SCONSCFLAGS/" SConstruct
scons $OPTS PREFIX=/usr
scons $OPTS PREFIX=/usr DESTDIR=$PKG install
strip $PKG/usr/bin/$PRGNAM
# man page written for this SlackBuild (from --help output)
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 NEWS README doc/manual.html $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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/$PRGNAM
chmod 0750 $PKG/usr/bin/$PRGNAM
fi
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

10
audio/klick/klick.info Normal file
View File

@ -0,0 +1,10 @@
PRGNAM="klick"
VERSION="0.12.2"
HOMEPAGE="http://das.nasophon.de/klick/"
DOWNLOAD="http://das.nasophon.de/download/klick-0.12.2.tar.gz"
MD5SUM="90bc69db650c6edaa08be47df0cfe424"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="scons jack-audio-connection-kit liblo %README%"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

1
audio/klick/setcap.sh Normal file
View File

@ -0,0 +1 @@
[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/klick

19
audio/klick/slack-desc Normal file
View File

@ -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------------------------------------------------------|
klick: klick (metronome for jack-audio-connection-kit)
klick:
klick: klick is an advanced command-line based metronome for JACK. It allows
klick: you to define complex tempo maps for entire songs or performances.
klick:
klick:
klick:
klick:
klick:
klick:
klick: