diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2021-07-10 18:33:32 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2021-07-10 18:54:04 +0000 |
commit | 1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 (patch) | |
tree | 1ac88cedf76a01903ef08dc6f5895e940e2041ea | |
parent | 75380d06bc33604a7a1f7a4e7272a731ab09c09b (diff) | |
download | ports-1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0.tar.gz ports-1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0.zip |
audio/jconvolver: New port: Real-time convolution engine
-rw-r--r-- | audio/Makefile | 1 | ||||
-rw-r--r-- | audio/jconvolver/Makefile | 31 | ||||
-rw-r--r-- | audio/jconvolver/distinfo | 3 | ||||
-rw-r--r-- | audio/jconvolver/files/patch-Makefile | 11 | ||||
-rw-r--r-- | audio/jconvolver/pkg-descr | 20 |
5 files changed, 66 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile index f56d1f60d3d5..645b60f4f504 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -327,6 +327,7 @@ SUBDIR += jalv SUBDIR += jalv-select SUBDIR += jamulus + SUBDIR += jconvolver SUBDIR += jid3lib SUBDIR += juk SUBDIR += juke diff --git a/audio/jconvolver/Makefile b/audio/jconvolver/Makefile new file mode 100644 index 000000000000..17128c215449 --- /dev/null +++ b/audio/jconvolver/Makefile @@ -0,0 +1,31 @@ +PORTNAME= jconvolver +DISTVERSION= 1.1.0 +CATEGORIES= audio +MASTER_SITES= https://kokkinizita.linuxaudio.org/linuxaudio/downloads/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Real-time convolution engine + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/../COPYING + +LIB_DEPENDS= libclthreads.so:devel/clthreads \ + libfftw3f.so:math/fftw3-float \ + libjack.so:audio/jack \ + libsndfile.so:audio/libsndfile \ + libzita-convolver.so:audio/zita-convolver + +USES= gmake localbase:ldflags tar:bz2 + +WRKSRC_SUBDIR= source + +EXES= bin/fconvolver \ + bin/jconvolver \ + bin/makemulti + +PLIST_FILES= ${EXES} + +post-install: + @cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${EXES} + +.include <bsd.port.mk> diff --git a/audio/jconvolver/distinfo b/audio/jconvolver/distinfo new file mode 100644 index 000000000000..4a46a8120589 --- /dev/null +++ b/audio/jconvolver/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1625872660 +SHA256 (jconvolver-1.1.0.tar.bz2) = ac5a11372d7325929c86966c7d2288a9276e65c43b29a50017c37a5e660ed80d +SIZE (jconvolver-1.1.0.tar.bz2) = 381046 diff --git a/audio/jconvolver/files/patch-Makefile b/audio/jconvolver/files/patch-Makefile new file mode 100644 index 000000000000..8f6a79981cf2 --- /dev/null +++ b/audio/jconvolver/files/patch-Makefile @@ -0,0 +1,11 @@ +--- Makefile.orig 2021-07-10 18:18:12 UTC ++++ Makefile +@@ -25,7 +25,7 @@ BINDIR ?= $(PREFIX)/bin + VERSION = 1.1.0 + CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\" + CXXFLAGS += -O2 -Wall +-CXXFLAGS += -march=native ++CXXFLAGS += ${FREEBSD_CXXFLAGS_SIMD} + + + all: jconvolver fconvolver makemulti diff --git a/audio/jconvolver/pkg-descr b/audio/jconvolver/pkg-descr new file mode 100644 index 000000000000..d5bbabdca567 --- /dev/null +++ b/audio/jconvolver/pkg-descr @@ -0,0 +1,20 @@ +Jconvolver is a Convolution Engine for JACK, based on FFT convolution and using +non-uniform partition sizes: small ones at the start of the IR and building up +to the most efficient size further on. It can perform zero-delay processing with +moderate CPU load. Jconvolver uses the convolution engine designed for Aella, a +convolution application for reverberation processing (to be announced later). +This distributes the calculation over up to five threads, one for each partition +size, running at priorities just below the the one of JACK's processing thread. +This engine is a separate library that will be documented as soon as I can find +the time. + +Main features: +* Any matrix of convolutions between up to up 64 inputs and 64 outputs, as long + as your CPU(s) can handle it. +* Allows trading off CPU load to processing delay, and remains efficient even + when configured for zero delay. +* Sparse and diagonal matrices are handled as efficiently as dense ones. No CPU + cycles or memory resources are wasted on empty cells in the matrix, nor on + empty partitions if IRs are of different length. +` +WWW: https://kokkinizita.linuxaudio.org/linuxaudio/ |