GeekFunkLabs / fluidpatcher

A performance-oriented patch interface for FluidSynth
MIT License
123 stars 15 forks source link

LADSPA plugins won't work on Raspberry pi #50

Closed BeFrankly closed 2 years ago

BeFrankly commented 2 years ago

Hello, I am using your software as is, only changed wheel and button control numbers to reflect my Lauchkey 25 MIDI KB

each time I switch to a preset that uses LADSPA Plugin, it could not be loaded. I.e. selecting patch 4/12: HohnerD6 Clav it throws fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer1' not found fluidsynth: error: Node 'buffer2' not found fluidsynth: error: Node 'buffer1' not found fluidsynth: error: Node 'buffer2' not found fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer3' not found fluidsynth: error: Node 'buffer4' not found fluidsynth: error: Node 'buffer3' not found fluidsynth: error: Node 'buffer4' not found fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer5' not found fluidsynth: error: Node 'buffer6' not found fluidsynth: error: Node 'buffer5' not found fluidsynth: error: Node 'buffer6' not found fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer7' not found fluidsynth: error: Node 'buffer8' not found fluidsynth: error: Node 'buffer7' not found fluidsynth: error: Node 'buffer8' not found fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer9' not found fluidsynth: error: Node 'buffer10' not found fluidsynth: error: Node 'buffer9' not found fluidsynth: error: Node 'buffer10' not found fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Maximum number of nodes reached fluidsynth: error: Node 'buffer11' not found fluidsynth: error: Node 'buffer12' not found fluidsynth: error: Node 'buffer11' not found fluidsynth: error: Node 'buffer12' not found fluidsynth: error: LADSPA check failed, unable to activate effects Selected patch 4/12: HohnerD6 Clav

Also: listplugins Warning: You do not have a LADSPA_PATH environment variable set. Defaulting to DEFAULT_LADSPA_PATH. But I checked the folder /usr/lib/ladspa and all expected effect are there. So how to fix this?

Background Info Let us know:

FluidSynth executable version 2.1.7 Sample type=double

albedozero commented 2 years ago

each time I switch to a preset that uses LADSPA Plugin, it could not be loaded. I.e. selecting patch 4/12: HohnerD6 Clav it throws fluidsynth: error: Maximum number of nodes reached

This is a bug that was fixed in FluidSynth/fluidsynth#795, which became part of FluidSynth 2.1.8. However, debian/Raspbian repos have a slow update cycle, and thus the newest version available using apt is 2.1.7, the one you're using. To get the latest version you can just run the SquishBox install script (curl -L git.io/squishbox | bash) and choose the option to compile FluidSynth locally. This will also allow you to install the web-based file manager to solve your question #49, as well as give you some fixes in the FluidPatcher 0.7.8 release that make the LADSPA effect chaining work even better.

Also: listplugins Warning: You do not have a LADSPA_PATH environment variable set. Defaulting to DEFAULT_LADSPA_PATH. But I checked the folder /usr/lib/ladspa and all expected effect are there. So how to fix this?

Past versions of Raspberry Pi OS seemed to have LADSPA installed by default and had this environment variable set, but this no longer seems to be the case. You can do it yourself by adding the following line at the end of your .profile file in your home directory:

export LADSPA_PATH="/usr/lib/ladspa"
BeFrankly commented 2 years ago

Dear @albedozero , thx for your fast help. Just to help others I post this: It was an adventure to rebuild fluidsynth on the Raspberry Pi but in the end it worked. I did it on a 4GB flash card that had just 500M space left. It did not work the first time because the build process fails because of an access error. So I did sudo curl -L git.io/squishbox | bash and it worked. Without sudo it didn't. Take a coffee while it's building fluidsynth (Depends on the Pi version you have). Regards Frank