From owner-dev-commits-ports-all@freebsd.org Sat Jul 10 18:54:09 2021 Return-Path: Delivered-To: dev-commits-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E760A659815; Sat, 10 Jul 2021 18:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GMfMP63pHz4hLT; Sat, 10 Jul 2021 18:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ADEF0573A; Sat, 10 Jul 2021 18:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 16AIs9w1020852; Sat, 10 Jul 2021 18:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 16AIs9JE020851; Sat, 10 Jul 2021 18:54:09 GMT (envelope-from git) Date: Sat, 10 Jul 2021 18:54:09 GMT Message-Id: <202107101854.16AIs9JE020851@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 1cdb3592ba72 - main - audio/jconvolver: New port: Real-time convolution engine MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jul 2021 18:54:10 -0000 The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 commit 1cdb3592ba7250c8bccdf2f8cd26da768edb9fc0 Author: Yuri Victorovich AuthorDate: 2021-07-10 18:33:32 +0000 Commit: Yuri Victorovich 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 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/