Date: Sat, 10 Jul 2021 18:54:09 GMT From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 1cdb3592ba72 - main - audio/jconvolver: New port: Real-time convolution engine Message-ID: <202107101854.16AIs9JE020851@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 commit 1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2021-07-10 18:33:32 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2021-07-10 18:54:04 +0000 audio/jconvolver: New port: Real-time convolution engine --- audio/Makefile | 1 + audio/jconvolver/Makefile | 31 +++++++++++++++++++++++++++++++ audio/jconvolver/distinfo | 3 +++ audio/jconvolver/files/patch-Makefile | 11 +++++++++++ audio/jconvolver/pkg-descr | 20 ++++++++++++++++++++ 5 files changed, 66 insertions(+) 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/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107101854.16AIs9JE020851>