From owner-dev-commits-ports-all@freebsd.org Sat Jul 10 18:54:11 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 6676065950F; Sat, 10 Jul 2021 18:54:11 +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 4GMfMR0SWMz4hTP; Sat, 10 Jul 2021 18:54:11 +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 D30665858; Sat, 10 Jul 2021 18:54:10 +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 16AIsATj020878; Sat, 10 Jul 2021 18:54:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 16AIsAGu020876; Sat, 10 Jul 2021 18:54:10 GMT (envelope-from git) Date: Sat, 10 Jul 2021 18:54:10 GMT Message-Id: <202107101854.16AIsAGu020876@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: 5ac0ca9320dd - main - audio/jmatconvol: New port: Real-time convolution engine for dense matrix of short convolutions 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: 5ac0ca9320ddfd8175260577ba5e1231e42cf6fa 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:11 -0000 The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=5ac0ca9320ddfd8175260577ba5e1231e42cf6fa commit 5ac0ca9320ddfd8175260577ba5e1231e42cf6fa Author: Yuri Victorovich AuthorDate: 2021-07-10 18:36:38 +0000 Commit: Yuri Victorovich CommitDate: 2021-07-10 18:54:05 +0000 audio/jmatconvol: New port: Real-time convolution engine for dense matrix of short convolutions --- audio/Makefile | 1 + audio/jmatconvol/Makefile | 29 +++++++++++++++++++++++++++++ audio/jmatconvol/distinfo | 3 +++ audio/jmatconvol/files/patch-Makefile | 11 +++++++++++ audio/jmatconvol/pkg-descr | 20 ++++++++++++++++++++ 5 files changed, 64 insertions(+) diff --git a/audio/Makefile b/audio/Makefile index 645b60f4f504..d3b427a3c3c0 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -329,6 +329,7 @@ SUBDIR += jamulus SUBDIR += jconvolver SUBDIR += jid3lib + SUBDIR += jmatconvol SUBDIR += juk SUBDIR += juke SUBDIR += julius diff --git a/audio/jmatconvol/Makefile b/audio/jmatconvol/Makefile new file mode 100644 index 000000000000..6265a7eca5cf --- /dev/null +++ b/audio/jmatconvol/Makefile @@ -0,0 +1,29 @@ +PORTNAME= jmatconvol +DISTVERSION= 0.4.2 +CATEGORIES= audio +MASTER_SITES= https://kokkinizita.linuxaudio.org/linuxaudio/downloads/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Real-time convolution engine for dense matrix of short convolutions + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/../COPYING + +LIB_DEPENDS= libfftw3.so:math/fftw3 \ + libfftw3f.so:math/fftw3-float \ + libjack.so:audio/jack \ + libsndfile.so:audio/libsndfile + +USES= gmake localbase:ldflags tar:bz2 + +WRKSRC_SUBDIR= source + +EXES= bin/fmatconvol \ + bin/jmatconvol + +PLIST_FILES= ${EXES} + +post-install: + @cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${EXES} + +.include diff --git a/audio/jmatconvol/distinfo b/audio/jmatconvol/distinfo new file mode 100644 index 000000000000..f6a2b52e70f8 --- /dev/null +++ b/audio/jmatconvol/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1625894239 +SHA256 (jmatconvol-0.4.2.tar.bz2) = 975ffed85a5c322a5223cd863e58fa8bb4ed772ebaab092739ed8cf074e61cfc +SIZE (jmatconvol-0.4.2.tar.bz2) = 5293502 diff --git a/audio/jmatconvol/files/patch-Makefile b/audio/jmatconvol/files/patch-Makefile new file mode 100644 index 000000000000..ea77e9d70735 --- /dev/null +++ b/audio/jmatconvol/files/patch-Makefile @@ -0,0 +1,11 @@ +--- Makefile.orig 2021-07-10 05:36:02 UTC ++++ Makefile +@@ -24,7 +24,7 @@ BINDIR ?= $(PREFIX)/bin + VERSION = 0.4.2 + CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\" + CXXFLAGS += -O2 -Wall +-CXXFLAGS += -march=native ++CXXFLAGS += ${FREEBSD_CXXFLAGS_SIMD} + LDLIBS += -lsndfile -lfftw3f -lfftw3 -lpthread + + diff --git a/audio/jmatconvol/pkg-descr b/audio/jmatconvol/pkg-descr new file mode 100644 index 000000000000..d5bbabdca567 --- /dev/null +++ b/audio/jmatconvol/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/