wwmm / easyeffects

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

Installing source - Fedora 28 - glibmm-2.4 others Calf Studio, Effects Compressor #223

Closed BRMateus2 closed 6 years ago

BRMateus2 commented 6 years ago

Hello, so I followed the Wiki and found out that there is an error in detecting glibmm-2.4, as in Fedora 28 repository it is named glibmm24 and in the Wiki Installation from Source Guide there is no glibmm, follows:

Determining dependency 'glibmm-2.4' with pkg-config executable '/usr/bin/pkg-config'

src/meson.build:82:0: ERROR:  Native dependency 'glibmm-2.4' not found

So we must add to install glibmm24-devel

Will edit this issue for the next minutes, as I wrote an bad text with not much description

wwmm commented 6 years ago

The dependencies in the wiki will have to be updated now that I moved PE from Python to C++.

Here in Arch Linux the command pkg-config --list-all | grep -i glibmm has glibmm-2.4 glibmm - C++ wrapper for GLib as output. What is its output in fedora?

Try to see if there is any package with the glibmm pkg-config files. I think that a few distribution split these files from the rest of the libraries

BRMateus2 commented 6 years ago

For an more descriptive issue, I am running Linux Fedora 28 KDE Plasma Desktop, PulseAudio working fine I guess, uname -a: Linux 4.16.13-300.fc28.x86_64 #1 SMP Wed May 30 14:31:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

As for compiling, it half worked after adding the binary and library headers, it needs only library headers to compile but I added the binary just in case: glibmm24-devel gtkmm30-devel lilv lilv-devel libbs2b libbs2b-devel boost boost-devel

The audio output doesn't work, it detects correctly the input and output i.e. "alsa_output.pci-0000_00_1b.0.analog-stereo" but does not output any sound no matter the redirection used in PulseAudio settings. The frequency generator worked too in randomly times and sometimes with high noise (like having interference).

I would like to debug but I am not very familiar with such things.. The commands used where

#PulseEffects (compilation)
sudo dnf -y install git meson ninja-build #Meson is needed only to pass script checks
sudo dnf -y install gtk3 python3-gobject python3-cairo python3-numpy python3-scipy gstreamer1 gstreamer1-plugins-good gstreamer1-plugins-bad-free python3-gstreamer1 ladspa-swh-plugins gtk3-devel pygobject3-devel python3-cairo-devel gstreamer1-devel gstreamer1-plugins-bad-free-devel pulseaudio-libs-devel glibmm24-devel gtkmm30-devel lilv lilv-devel libbs2b libbs2b-devel boost boost-devel
git clone https://github.com/wwmm/pulseeffects.git PulseEffects_build_temp
cd PulseEffects_build_temp
meson _build --prefix=/usr
sudo ninja -C _build install
cd ..

Using "pkg-config --list-all | grep -i glibmm" output the same as yours, and dnf search for the added packages shows very similarly to this:

dnf search glibmm
Última verificação de data de vencimento de metadados: 1:17:11 atrás em dom 03 jun 2018 15:05:43 -03.
============================================= Nome & Sumário Correspondeu: glibmm ==============================================
glibmm24-doc.noarch : Documentation for glibmm24, includes full API docs
glibmm24-devel.x86_64 : Headers for developing programs that will use glibmm24
glibmm24-devel.i686 : Headers for developing programs that will use glibmm24
mingw32-glibmm24-static.noarch : Static cross compiled version of the glibmm library
mingw64-glibmm24-static.noarch : Static cross compiled version of the glibmm library
================================================== Nome Correspondeu: glibmm ===================================================
glibmm24.x86_64 : C++ interface for the GLib library
glibmm24.i686 : C++ interface for the GLib library
mingw32-glibmm24.noarch : MinGW Windows C++ interface for GTK2 (a GUI library for X)
mingw64-glibmm24.noarch : MinGW Windows C++ interface for GTK2 (a GUI library for X)

I've compiled successful versions 2.3.5, 3.1.6, 3.2.1, 3.2.4 and all give no output - PulseAudio is configured to redirect PulseEffects(app) to the Stereo - direct output works fine (without PulseEffects). It has many dependencies but using only the listed above will successfully install the other dependencies.

wwmm commented 6 years ago

Considering that you use KDE and that you do no have audio both with the latest as with the older versions you may have to apply the workarounds mentioned in the points 3,4 and 5 at FAQ.

Also do not set PulseEffects(app) as default Pulseaudio output. Leave your sound card as default

BRMateus2 commented 6 years ago

I am sorry for not reading the FAQ, please link it into the main github page "https://github.com/wwmm/pulseeffects" It worked after reading the FAQ as:

pactl unload-module module-device-manager #Behaviour fix FAQ 3 issue #99
pactl unload-module module-switch-on-connect #Behaviour fix FAQ 4, 5 issue #99

Trouble now is, I cannot enable Compressor neither Input Limiter in v3.2.3, but I can at v2.3.5 so will be using that as the original issue is fixed. I love Viper4Windows and PulseEffects seems to be the best fully featured at Linux - I am mostly using only for the Compressor which can fine tune pretty good - as many audio at anywhere (except my own files), Youtube, etc, are well out of normalization and don't allow fine tune.

Do you need any information or requests? Many thanks for your support and even more for such an great development for the community!

Steps for anyone who reads:

#KDE
sudo dnf -y install git meson ninja-build #Meson is needed only to pass script checks
sudo dnf -y install gtk3 python3-gobject python3-cairo python3-numpy python3-scipy gstreamer1 gstreamer1-plugins-good gstreamer1-plugins-bad-free python3-gstreamer1 ladspa-swh-plugins gtk3-devel pygobject3-devel python3-cairo-devel gstreamer1-devel gstreamer1-plugins-bad-free-devel pulseaudio-libs-devel glibmm24-devel gtkmm30-devel lilv lilv-devel libbs2b libbs2b-devel boost boost-devel
git clone https://github.com/wwmm/pulseeffects.git PulseEffects_build_temp
cd PulseEffects_build_temp
git checkout v2.3.5 #Update when possible, this works with KDE
meson _build --prefix=/usr
sudo ninja -C _build install
pactl unload-module module-device-manager #Behaviour fix FAQ 3 issue #99
pactl unload-module module-switch-on-connect #Behaviour fix FAQ 4, 5 issue #99
wwmm commented 6 years ago

Hi. In latest versions the compressor and the input limiter are taken from Calf Plugins. So you have to make sure you have them installed.

BRMateus2 commented 6 years ago

Looks like I have Flatpak and didn't even knew what its purpose, so I will edit the title to reflect Calf Studio Gear for any search engine, and confirm that Flatpak installation works with Calf in Fedora 28 KDE with the fixes

Flatpak install

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.github.wwmm.pulseeffects

Calf Studio Gear install:

#http://calf-studio-gear.org/
#http://calf-studio-gear.org/files/
#Download an version, used 0.9 here
tar -xzf calf*.tar.gz
cd calf*
./autogen.sh
make -j8 #Put flags, -j8 means 8 threads the executable binary can use
sudo make install

Now it is working perfectly, many thanks!

gombosg commented 6 years ago

I kinda updated the Fedora source package list in the wiki. Take a look.

gombosg commented 6 years ago

But the Calf plugins are not working even after installing all of them from the repos. In the meantime I'm falling back to the last stable Flatpak version. :slightly_smiling_face:

wwmm commented 6 years ago

Is there any difference if you reset GStreamer cache as explained in the point 6 at FAQ? Which Calf version do you have in fedora? Here in Arch I have 0.90

gombosg commented 6 years ago

On Fedora 28, calf version is 0.9. Equalizer works, but it still freezes when I turn on the limiter with a ...terminated by signal SIGBUS (Misaligned address error) error. Should I open a ticket here?

wwmm commented 6 years ago

Although I have no idea about what could cause this error it is better to open an issue. When you do that put also the output of PE when run as G_MESSAGES_DEBUG=pulseeffects pulseeffects