blob: 84a46684d58f80a8ada987dbe54dd6ae77551f4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
# Maintainer: Christopher Arndt <aur -at- chrisarndt -dot- de>
# Contributor: CrocoDuck <crocoduck dot oducks at gmail dot com>
# Contributor: Haskellfant <moritz.kiefer@purelyfunctional.org
_pkgname=zam-plugins
pkgname=$_pkgname-git
pkgver=4.3.r0.g9e824af
pkgrel=3
pkgdesc='Collection of multi-format audio plugins for high-quality processing (git version)'
arch=(x86_64)
url='https://github.com/zamaudio/zam-plugins'
license=(GPL2)
groups=(clap-plugins ladspa-plugins lv2-plugins pro-audio vst-plugins vst3-plugins)
depends=(gcc-libs glibc libglvnd libx11 libxcursor libxext libxrandr)
makedepends=(dbus fftw gendesk git ladspa libsamplerate jack lv2 zita-convolver)
optdepends=(
'clap-host: to load the CLAP format plugins'
'jack: to run the standalone applications'
'ladspa-host: to load the LADSPA format plugins'
'lv2-host: to load the LV2 format plugins'
'vst-host: to load the VST2 format plugins'
'vst3-host: to load the VST3 format plugins'
)
provides=(
$_pkgname
$_pkgname-clap
$_pkgname-ladspa
$_pkgname-lv2
$_pkgname-standalone
$_pkgname-vst
$_pkgname-vst3
)
conflicts=(
$_pkgname
zamplugins
$_pkgname
$_pkgname-clap
$_pkgname-ladspa
$_pkgname-lv2
$_pkgname-standalone
$_pkgname-vst
$_pkgname-vst3
)
source=("$_pkgname::git+https://github.com/zamaudio/$_pkgname.git"
'dpf::git+https://github.com/DISTRHO/DPF.git'
'pugl::git+https://github.com/DISTRHO/pugl.git'
'zam-plugins.directory'
'zam-plugins.menu')
sha256sums=('SKIP'
'SKIP'
'SKIP'
'057cd038c778a5121938160f1920112b9203615d8a706547c19b5f27e69230b8'
'62e4f6aa7c50ce6561d56a797e184d4eab56546f203607df52b2aa4ac940667f')
_names=(zamaximx2 zamulticomp zammulticompx2 zamautosat zamcomp zamcompx2
zamdelay zamdynamiceq zameq2 zamgeq31 zamgate zamgatex2 zamgrains
zamheadx2 zamnoise zamphono zamtube zamverb)
pkgver() {
cd $_pkgname
git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd $_pkgname
git submodule init
git submodule set-url dpf "$srcdir"/dpf
git -c protocol.file.allow=always submodule update
cd dpf
git submodule init
git submodule set-url dgl/src/pugl-upstream "$srcdir"/pugl
git -c protocol.file.allow=always submodule update
declare -A exec_names=(
[zamautosat]=ZaAutoSat
[zamaximx2]=ZaMaximX2
[zamcomp]=ZamComp
[zamcompx2]=ZamCompX2
[zamdelay]=ZamDelay
[zamdynamiceq]=ZamDynamicEQ
[zameq2]=ZamEQ2
[zamgate]=ZamGate
[zamgatex2]=ZamGateX2
[zamgeq31]=ZamGEQ31
[zamgrains]=ZamGrains
[zamheadx2]=ZamHeadX2
[zamnoise]=ZamNoise
[zamphono]=ZamPhono
[zampiano]=ZamPiano
[zamulticomp]=ZaMultiComp
[zamulticompx2]=ZaMultiCompX2
[zamverb]=ZamVerb
)
declare -A comments=(
[zamautosat]="An automatic saturation plugin, has been known to provide smooth levelling to live mic channels."
[zamaximx2]="Acts as a brickwall limiter for mastering in its default state, but can also be tweaked to raise the average level as a stereo maximizer without ever clipping."
[zamcomp]="A powerful mono compressor strip."
[zamcompx2]="Stereo version of ZamComp with knee slew control."
[zamdelay]="A simple feedback delay unit with sync-to-host BPM feature and filter."
[zamdynamiceq]="A dynamic equalizer that changes its gain based on detecting a narrow band of frequencies."
[zameq2]="A two band parametric equaliser with high and low shelving circuits."
[zamgate]="A gate plugin for ducking low gain sounds."
[zamgatex2]="Gate plugin for ducking low gain sounds, stereo version."
[zamgeq31]="31 band graphic equaliser, good for eq of live spaces, removing unwanted noise from a track etc."
[zamgrains]="A granular delay plugin."
[zamheadx2]="HRTF acoustic filtering plugin for directional sound."
[zamnoise]="A noise detection and removal plugin."
[zamphono]="A collection of phono filters for restoring vinyl records, or preparing to cut new ones."
[zamtube]="Wave digital filter physical model of a triode tube amplifier stage, with modelled tone stacks from real guitar amplifiers"
[zamulticomp]="A mono multiband compressor, with 3 adjustable bands."
[zamulticompx2]="Stereo version of ZaMultiComp, with individual threshold controls for each band and real-time visualisation of comp curves."
[zamverb]="A convolution reverb with built-in preset impulse responses."
)
declare -A generic=(
[zamautosat]="Automatic Saturation"
[zamaximx2]="Maximizer and brickwall limiter"
[zamcomp]="Mono Compressor"
[zamcompx2]="Stereo Compressor"
[zamdelay]="Delay"
[zamdynamiceq]="Dynamic Equalizer"
[zameq2]="2 Band Parametric Equalizer"
[zamgate]="Mono Gate"
[zamgatex2]="Stereo Gate"
[zamgeq31]="31 Band Graphic Equalizer"
[zamgrains]="Granular Synthesizer"
[zamheadx2]="HRTF Acoustic Filtering"
[zamnoise]="Noise Removal"
[zamphono]="Phono Filters"
[zamtube]="Tube Amplifier"
[zamulticomp]="Mono Multiband Compressor"
[zamulticompx2]="Stereo Multiband Compressor"
[zamverb]="Reverb"
)
cd ..
for name in "${_names[@]}"; do
gendesk -f -n \
--pkgname "com.zamaudio.$name" \
--name "$name" \
--exec "${exec_names[$name]}" \
--pkgdesc "${comments[$name]}" \
--genericname "${generic[$name]}"
done
}
build() {
cd $_pkgname
export HAVE_ZITA_CONVOLVER=true
make SKIP_NATIVE_AUDIO_FALLBACK=true
}
package() {
depends+=(libdbus-1.so libfftw3f.so libGL.so libsamplerate.so
libzita-convolver.so)
cd $_pkgname
make DESTDIR="$pkgdir" PREFIX=/usr install
# XDG desktop integration
install -vDm 644 *.desktop \
-t "$pkgdir"/usr/share/applications
install -vDm 644 "$srcdir"/$_pkgname.menu \
-t "$pkgdir"/etc/xdg/menus/applications-merged/
install -vDm 644 "$srcdir"/$_pkgname.directory \
-t "$pkgdir"/usr/share/desktop-directories
# docs
install -vDm644 README.md changelog \
-t "$pkgdir"/usr/share/doc/$pkgname
}
|