-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No matching function for call to plugin_holder_t(,) #21
Comments
Interesting, since you have latest Arch Linux, maybe something changed in gcc 10... Thank you for reporting, I'll check later today. However, I I'm not really surprised, because MSVC even crashes on these fancy templates. |
Was much easier than from the first glance at the error. |
Thanks! Here's a pkgbuild in exchange: PKGBUILD# Contributor: Lucki <https://aur.archlinux.org/account/Lucki>
# shellcheck disable=SC2034,2154,2148
pkgbase="noise-suppression-for-voice"
pkgname=('noise-suppression-for-voice-ladspa' 'noise-suppression-for-voice-lv2' 'noise-suppression-for-voice-vst')
pkgver=0.9
pkgrel=1
pkgdesc="A real-time noise suppression plugin for voice based on Xiph's RNNoise."
arch=('i686' 'x86_64')
url="https://github.com/werman/noise-suppression-for-voice"
license=('GPL3')
depends=('gcc-libs')
makedepends=('cmake' 'ninja')
_commit="c79e7a1787e64f073683c2aa7bd1fd312d421d1c"
source=("$pkgbase-$pkgver.src.tar.gz::https://github.com/werman/$pkgbase/archive/$_commit.tar.gz"
# temporary build at commit to fix build errors
#"$pkgbase-$pkgver.src.tar.gz::https://github.com/werman/$pkgbase/archive/v$pkgver.tar.gz"
"$pkgbase.vstsdk2_4.zip::https://archive.org/download/VST2SDK/vstsdk2_4.zip"
"$pkgbase-VAD-treshold.patch")
sha512sums=('f11257a35cbe32a6e6cfe4b65f584839e16d0b84601280ad0dddf6a1dd58881c82de5aff4fb3aa8d1b9afdbc57e2b2a3760f02b86c1a9fcd97eb1efda9c6c335'
'48a56d10a6b5c5dbf6e3087b17e22073dfcf766b3b014c8913ac95a1c6f9dfa3d947734f066799d1979ccae779f5961c88b557bfc3fe1eb579cc52f922b4689a'
'c0c35dabc488d12f31fd4706c0131d7ee167eeaec8cbf244fce81dfd58019ec17470a03be4bd1dd227f2621a39cca082c8e72254bf74e5ac70b664873d02dbca')
prepare() {
# temporary build at commit to fix build errors
mv "$pkgbase-$_commit" "$pkgbase-$pkgver"
cd "$pkgbase-$pkgver" || exit
# Set voice activation detection treshold to 0.95 for LV2 until it's adjustable
patch --forward --strip=1 --input="$srcdir/$pkgbase-VAD-treshold.patch"
# Move vst sdk files in place
cp -dpr --no-preserve=ownership "$srcdir/vstsdk2.4/public.sdk/source/vst2.x/." "src/vst_plugin/vst2.x/"
cp -dpr --no-preserve=ownership "$srcdir/vstsdk2.4/pluginterfaces/vst2.x/." "src/vst_plugin/pluginterfaces/vst2.x/"
}
build() {
# https://wiki.archlinux.org/index.php/CMake_package_guidelines#Fixing_the_CPPFLAGS_problem
export CFLAGS+=" ${CPPFLAGS}"
export CXXFLAGS+=" ${CPPFLAGS}"
cmake \
-B "$pkgbase-$pkgver/build" \
-S "$pkgbase-$pkgver" \
-DCMAKE_BUILD_TYPE="None" \
-DCMAKE_INSTALL_PREFIX="/usr" \
-G "Ninja" \
-Wno-dev
cmake --build "$pkgbase-$pkgver/build"
}
package_noise-suppression-for-voice-ladspa() {
pkgdesc="A real-time noise suppression plugin for voice based on Xiph's RNNoise. (LADSPA)"
DESTDIR="$pkgdir/" cmake --install "$pkgbase-$pkgver/build"
# rename to package name
mv "$pkgdir/usr/lib/ladspa/librnnoise_ladspa.so" "$pkgdir/usr/lib/ladspa/${pkgname[0]}.so"
# remove other plugin variants
rm -rf "$pkgdir/usr/lib/lv2"
}
package_noise-suppression-for-voice-lv2() {
pkgdesc="A real-time noise suppression plugin for voice based on Xiph's RNNoise. (LV2)"
# the install target is missing some files
# DESTDIR="$pkgdir/" cmake --install "$pkgbase-$pkgver/build"
mkdir -p "$pkgdir/usr/lib/lv2/${pkgname[1]}"
cp -dpr --no-preserve=ownership "$pkgbase-$pkgver/build/bin/rnnoise.lv2/." "$pkgdir/usr/lib/lv2/${pkgname[1]}/"
}
package_noise-suppression-for-voice-vst() {
pkgdesc="A real-time noise suppression plugin for voice based on Xiph's RNNoise. (VST)"
# there's no install target for this variant
# DESTDIR="$pkgdir/" cmake --install "$pkgbase-$pkgver/build"
install -Dm644 "$pkgbase-$pkgver/build/bin/vst/librnnoise_vst.so" "$pkgdir/usr/lib/lxvst/${pkgname[2]}.so"
} noise-suppression-for-voice-VAD-treshold.patchdiff --git a/src/lv2_plugin/RnNoiseLv2Plugin.cpp b/src/lv2_plugin/RnNoiseLv2Plugin.cpp
index 05e8934..4a9f6ce 100644
--- a/src/lv2_plugin/RnNoiseLv2Plugin.cpp
+++ b/src/lv2_plugin/RnNoiseLv2Plugin.cpp
@@ -39,7 +39,7 @@ void RnNoiseLv2Plugin::run(uint32_t sample_count) {
PluginBase::run(sample_count);
if (m_inPort != nullptr && m_outPort != nullptr) {
- m_rnNoisePlugin->process(m_inPort, m_outPort, sample_count, 0);
+ m_rnNoisePlugin->process(m_inPort, m_outPort, sample_count, 0.95);
}
} |
Thanks! I've been thinking about adding it to aur since I'm also using arch. I thought about generating some default pulse audio config, but I'm not sure. Also VAD threshold is configurable. |
Hm,
I've set up jack years ago because these things are really cumbersome in pulse. So I can't really help you there. I'm using the lv2 variant with jack, setting that up was much easier. |
Ah, sorry, I didn't see that it is lv2.
I should try to set it up one day... Does jack continue to pass data to lv2 plugin when there is no app using the output? (Like pulseaudio does) |
I'm by no means an expert in these things but here's what I figured out by getting this plugin working :)
I think this is a yes? Jack doesn't know if there's something I guess you're referring to #15 where your screenshot shows 10% cpu usage while idle? Right now while in use it's using 1% cpu for the lv2 plugin (jalv) here. |
Ok, thanks! |
Fixes build failure on GCC 10. Closes: werman#21
Fixes build failure on GCC 10. Closes: werman#21
I'm having problems building the ladspa variant of this plugin and the vst sdk is now at version 3 and missing necessary files for building that part.
I'm building on an up-to-date Arch Linux in a clean build environment but the build is also failing on my main machine.
Let me know if there's something more you need to figure out what is going on.
The failing log for the ladspa plugin
The text was updated successfully, but these errors were encountered: