wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.5k stars 269 forks source link

Gate stopped working #2608

Open ZerkerEOD opened 1 year ago

ZerkerEOD commented 1 year ago

EasyEffects Version

7.1.0

What package are you using?

Arch (easyeffects)

Distribution

Manjaro

Describe the bug

Updated and then my microphone wasn't outputting any sound. Tried killing the program and rebooting a couple times and nothing. Started looking at the chain for the Input device and noticed the Gate was reacting on the input side but nothing was going out of the output side. Reloaded my config that prior worked and still nothing, disabling the gate allows my voice to be heard. I am not an audio person but no matter the settings I change I see that it says reduction -100 db envelope -100, sidechain -100 and curve -100 and I get no output at all from the gate. image

Expected Behavior

Gate to work and block sound under a certain threshold.

Debug Log

Debug Log
``` G_MESSAGES_DEBUG=easyeffects easyeffects  1 ✘ (process:10286): easyeffects-DEBUG: 19:46:50.767: easyeffects.cpp:35 easyeffects version: 7.1.0 (process:10286): easyeffects-DEBUG: 19:46:50.768: easyeffects.cpp:45 locale directory: /usr/share/locale (easyeffects:10286): easyeffects-DEBUG: 19:46:50.771: presets_manager.cpp:162 user presets directory already exists: /home/aaron/.config/easyeffects/ (easyeffects:10286): easyeffects-DEBUG: 19:46:50.771: presets_manager.cpp:162 user presets directory already exists: /home/aaron/.config/easyeffects/input (easyeffects:10286): easyeffects-DEBUG: 19:46:50.771: presets_manager.cpp:162 user presets directory already exists: /home/aaron/.config/easyeffects/output (easyeffects:10286): easyeffects-DEBUG: 19:46:50.771: presets_manager.cpp:162 user presets directory already exists: /home/aaron/.config/easyeffects/autoload/input (easyeffects:10286): easyeffects-DEBUG: 19:46:50.771: presets_manager.cpp:162 user presets directory already exists: /home/aaron/.config/easyeffects/autoload/output (easyeffects:10286): easyeffects-DEBUG: 19:46:50.962: easyeffects.cpp:60 Exitting the main function with status: 1 ```

Additional Information

No response

Digitalone1 commented 11 months ago

The flatpak build does not bundle lsp, or get it from the host system. We use a flatpak runtime extension, which is updated independently from the easyeffects flatpak build. Currently we use the 22.08 branch which has lsp 1.2.11.

https://github.com/flathub/org.freedesktop.LinuxAudio.Plugins.LSP/tree/branch/22.08

I'll try to open an issue to update it. Thanks.

Digitalone1 commented 11 months ago

I made a request to update LSP on Flatpak, but the PR is stuck from a week and I don't know why: https://github.com/flathub/org.freedesktop.LinuxAudio.Plugins.LSP/pull/24

@vchernin Since this library is crucial for EasyEffects and the Flatpak manifest is not managed by LSP original devs, what do you think to bundle it in EasyEffects?

I know it's not the best solution, but it could be reverted to use the external library in the future when LSP devs will release directly on Flatpak. At the moment Flatpak users are on an older library which is not the best and this can happen also in the future, forcing us to request an update to a user which is not the original LSP dev.

Flatpak is meant to overtake limitations of distribution packages, but it seems there's no advantage using an older LSP version on Flatpak.

Besides there's another advantage bundling LSP (or using a specific fixed version for the external library). If there's a new version which introduced major changes, the Flatpak version is still working correctly, which is not the case of distro packages. See what happened on Arch a couple of months ago with a new LSP version that caused many warnings on the command line because of LV2 port changes.

vchernin commented 11 months ago

I made a request to update LSP on Flatpak, but the PR is stuck from a week and I don't know why: https://github.com/flathub/org.freedesktop.LinuxAudio.Plugins.LSP/pull/24

The PR is merged now, but since we haven't yet updated to the gnome 45 runtime we are still on the 22.08 freedesktop sdk runtime, that pr was for 23.08. So in effect easyeffects users do not yet have the new lsp version until that is fixed. See https://github.com/wwmm/easyeffects/pull/2724.

@vchernin Since this library is crucial for EasyEffects and the Flatpak manifest is not managed by LSP original devs, what do you think to bundle it in EasyEffects?

I know it's not the best solution, but it could be reverted to use the external library in the future when LSP devs will release directly on Flatpak. At the moment Flatpak users are on an older library which is not the best and this can happen also in the future, forcing us to request an update to a user which is not the original LSP dev.

Flatpak is meant to overtake limitations of distribution packages, but it seems there's no advantage using an older LSP version on Flatpak.

The way it currently works indeed is basically like a distribution package, they can update on their own schedule. The advantage is it is more fine grained and better at splitting packages apart.

Technically there is no reason the linux audio plugins could be not abstracted further upstream so these runtime extensions would actually depend on a shared module in github.com/flathub/shared-modules, and then we could use the source module directly and bundle it easily. But for our case there aren't that many modules and we can just copy paste, and make some small modifications to bundle. It is not a huge amount of hassle.

Besides there's another advantage bundling LSP (or using a specific fixed version for the external library). If there's a new version which introduced major changes, the Flatpak version is still working correctly, which is not the case of distro packages. See what happened on Arch a couple of months ago with a new LSP version that caused many warnings on the command line because of LV2 port changes.

Indeed, I think this is good enough justification for bundling. The other advantage is the runtime extensions never worked properly with gnome builder, bundling always works out of the box (just clone and build). I will try convert everything to be bundled in the next few days.

Digitalone1 commented 11 months ago

Nice @vchernin

When it's done, you can notify here, so we can close this issue.

ZerkerEOD commented 11 months ago

@wwmm, looks like Manjaro recently updated the lsp-plugins to use 1.2.13 for all branches. As of right now this appears to have fixed my issues.

@Digitalone1 and @vchernin, I am leaving open since you are looking into the flatpack side.

I just want to say, I love open-source projects. It was amazing seeing everyone come together from different sides of projects to work at getting this patched and corrected. Really amazing!