aboutsummaryrefslogtreecommitdiff
path: root/audio/ir-lv2
diff options
context:
space:
mode:
authorRichard Gallamore <ultima@FreeBSD.org>2017-08-17 19:53:52 +0000
committerRichard Gallamore <ultima@FreeBSD.org>2017-08-17 19:53:52 +0000
commit54e2a19b7fa2e806ac7f99e01884fe42c098a894 (patch)
tree432456fec123f760d5983970d112f11b5013561d /audio/ir-lv2
parent935889bb762fcd093d24b6c72543528bcbc3723c (diff)
downloadports-54e2a19b7fa2e806ac7f99e01884fe42c098a894.tar.gz
ports-54e2a19b7fa2e806ac7f99e01884fe42c098a894.zip
LV2 Impulse response (convolution) plugin (for reverb and cabinet simulation).
This fork adds LV2 State extenstion support for proper storing of internal plugin data. IR is a no-latency/low-latency, realtime, high performance signal convolver especially for creating reverb effects. Supports impulse responses with 1, 2 or 4 channels, in any soundfile format supported by libsndfile. WWW: https://github.com/Anchakor/ir.lv2 PR: 221232 Submitted by: Yuri Victorovich (maintainer) Reviewed by: matthew (mentor) Approved by: matthew (mentor) Differential Revision: https://reviews.freebsd.org/D12059
Notes
Notes: svn path=/head/; revision=448184
Diffstat (limited to 'audio/ir-lv2')
-rw-r--r--audio/ir-lv2/Makefile36
-rw-r--r--audio/ir-lv2/distinfo3
-rw-r--r--audio/ir-lv2/files/patch-Makefile54
-rw-r--r--audio/ir-lv2/files/patch-ir.h12
-rw-r--r--audio/ir-lv2/pkg-descr10
5 files changed, 115 insertions, 0 deletions
diff --git a/audio/ir-lv2/Makefile b/audio/ir-lv2/Makefile
new file mode 100644
index 000000000000..55f109e6a772
--- /dev/null
+++ b/audio/ir-lv2/Makefile
@@ -0,0 +1,36 @@
+# Created by: Yuri Victorovich <yuri@rawbw.com>
+# $FreeBSD$
+
+PORTNAME= ir
+PORTVERSION= g20130909
+CATEGORIES= audio
+PKGNAMESUFFIX= -lv2
+
+MAINTAINER= yuri@rawbw.com
+COMMENT= LV2 impulse response plugin for reverb and cabinet simulation
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= lv2>0:audio/lv2 \
+ ${LOCALBASE}/include/fftw3.h:math/fftw3
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
+ libsndfile.so:audio/libsndfile \
+ libsamplerate.so:audio/libsamplerate \
+ libzita-convolver.so:audio/zita-convolver \
+ libfontconfig.so:x11-fonts/fontconfig
+
+USES= gmake pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= Anchakor
+GH_PROJECT= ir.lv2
+GH_TAGNAME= af1f8ab
+USE_GNOME= glib20 gtk20 gdkpixbuf2 cairo
+
+PLIST_FILES= lib/lv2/ir.lv2/ir.so lib/lv2/ir.lv2/ir.ttl \
+ lib/lv2/ir.lv2/ir_gui.so lib/lv2/ir.lv2/manifest.ttl
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lv2/ir.lv2/*.so
+
+.include <bsd.port.mk>
diff --git a/audio/ir-lv2/distinfo b/audio/ir-lv2/distinfo
new file mode 100644
index 000000000000..2fba6652d546
--- /dev/null
+++ b/audio/ir-lv2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1502858890
+SHA256 (Anchakor-ir.lv2-g20130909-af1f8ab_GH0.tar.gz) = 430eb1733aff4a9e8d3eec57097141026a08366bd43f891ad70ec4a5dc552037
+SIZE (Anchakor-ir.lv2-g20130909-af1f8ab_GH0.tar.gz) = 51267
diff --git a/audio/ir-lv2/files/patch-Makefile b/audio/ir-lv2/files/patch-Makefile
new file mode 100644
index 000000000000..e9e38951c77e
--- /dev/null
+++ b/audio/ir-lv2/files/patch-Makefile
@@ -0,0 +1,54 @@
+--- Makefile.orig 2013-09-10 06:27:31 UTC
++++ Makefile
+@@ -4,8 +4,8 @@
+ # Issue 'make convert4chan' to compile the 4-channel converter utility
+ # (for local use, not installed by make install)
+
+-PREFIX = /usr
+-INSTDIR = $(PREFIX)/lib/lv2/ir.lv2
++PREFIX ?= /usr
++INSTDIR = $(DESTDIR)/$(PREFIX)/lib/lv2/ir.lv2
+
+ INST_FILES = ir.so ir_gui.so ir.ttl manifest.ttl
+
+@@ -27,31 +27,31 @@ C4LIBS = -lsndfile `pkg-config --libs gt
+ all: ir.so ir_gui.so
+
+ ir.o: ir.cc ir.h ir_utils.h
+- g++ ir.cc $(CPPFLAGS) -c -fPIC -o ir.o
++ $(CXX) ir.cc $(CPPFLAGS) -c -fPIC -o ir.o
+
+ ir_gui.o: ir_gui.cc ir.h ir_utils.h ir_wavedisplay.h
+- g++ ir_gui.cc $(CPPFLAGS) -c -fPIC -o ir_gui.o
++ $(CXX) ir_gui.cc $(CPPFLAGS) -c -fPIC -o ir_gui.o
+
+ ir_utils.o: ir_utils.cc ir_utils.h ir.h
+- g++ ir_utils.cc $(CPPFLAGS) -c -fPIC -o ir_utils.o
++ $(CXX) ir_utils.cc $(CPPFLAGS) -c -fPIC -o ir_utils.o
+
+ ir_meter.o: ir_meter.cc ir_meter.h ir.h ir_utils.h
+- g++ ir_meter.cc $(CPPFLAGS) -c -fPIC -o ir_meter.o
++ $(CXX) ir_meter.cc $(CPPFLAGS) -c -fPIC -o ir_meter.o
+
+ ir_modeind.o: ir_modeind.cc ir_modeind.h ir.h ir_utils.h
+- g++ ir_modeind.cc $(CPPFLAGS) -c -fPIC -o ir_modeind.o
++ $(CXX) ir_modeind.cc $(CPPFLAGS) -c -fPIC -o ir_modeind.o
+
+ ir_wavedisplay.o: ir_wavedisplay.cc ir_wavedisplay.h ir.h ir_utils.h
+- g++ ir_wavedisplay.cc $(CPPFLAGS) -c -fPIC -o ir_wavedisplay.o
++ $(CXX) ir_wavedisplay.cc $(CPPFLAGS) -c -fPIC -o ir_wavedisplay.o
+
+ ir.so: ir.o ir_utils.o
+- g++ $(LDFLAGS) ir.o ir_utils.o $(LIBS) -shared -o ir.so
++ $(CXX) $(LDFLAGS) ir.o ir_utils.o $(LIBS) -shared -o ir.so
+
+ ir_gui.so: ir_gui.o ir_utils.o ir_meter.o ir_modeind.o ir_wavedisplay.o
+- g++ $(LDFLAGS) ir_gui.o ir_utils.o ir_meter.o ir_modeind.o ir_wavedisplay.o $(LIBS) -shared -z nodelete -o ir_gui.so
++ $(CXX) $(LDFLAGS) ir_gui.o ir_utils.o ir_meter.o ir_modeind.o ir_wavedisplay.o $(LIBS) -shared -o ir_gui.so
+
+ convert4chan: convert4chan.c
+- gcc $(C4CFLAGS) convert4chan.c $(C4LIBS) -o convert4chan
++ $(CC) $(C4CFLAGS) convert4chan.c $(C4LIBS) -o convert4chan
+
+ install: all
+ mkdir -p $(INSTDIR)
diff --git a/audio/ir-lv2/files/patch-ir.h b/audio/ir-lv2/files/patch-ir.h
new file mode 100644
index 000000000000..a86c39d84f0b
--- /dev/null
+++ b/audio/ir-lv2/files/patch-ir.h
@@ -0,0 +1,12 @@
+--- ir.h.orig 2013-09-10 06:27:31 UTC
++++ ir.h
+@@ -35,6 +35,9 @@
+ #define BSIZE_SR 0x1000 /* Blocksize for SRC */
+ #define MAXSIZE 0x00100000 /* Max. available convolver size of zita-convolver */
+
++#define exp10(x) pow(10., x) // TODO not as good as exp10()?
++#define exp10f(x) powf(10., x) // TODO not as good as exp10f()?
++
+ #define DB_CO(g) ((g) > -90.0f ? exp10f((g) * 0.05f) : 0.0f)
+ #define CO_DB(g) ((g) > 0.0f ? 20.0f * log10f(g) : -90.0f)
+
diff --git a/audio/ir-lv2/pkg-descr b/audio/ir-lv2/pkg-descr
new file mode 100644
index 000000000000..237ec008ed8f
--- /dev/null
+++ b/audio/ir-lv2/pkg-descr
@@ -0,0 +1,10 @@
+LV2 Impulse response (convolution) plugin (for reverb and cabinet simulation).
+This fork adds LV2 State extenstion support for proper storing of internal
+plugin data.
+
+IR is a no-latency/low-latency, realtime, high performance signal
+convolver especially for creating reverb effects. Supports impulse
+responses with 1, 2 or 4 channels, in any soundfile format supported
+by libsndfile.
+
+WWW: https://github.com/Anchakor/ir.lv2