Closed unfa closed 9 years ago
If you are on the master branch you should have a look at your Lmms settings (directories) since there has been some work done is this area recently. For me it works like perfect - Ubuntu 12.04 32 bits -
since there has been some work done is this area recently
Can you elaborate? If we broke this for upgrades, we should upgrade the settings. :+1:
They are missing for me as well for quite some time. I have just tried to rename ~/.lmmsrc
and to configure everything from scratch but unfortunately it did not help. It also makes no difference whether I deploy the application (via make install
) or not.
@midi-pascal Can you please check if everything still works for you if you start completely from scratch?
EDIT: I forgot about .lmmsrc.xml
during the bisect, so I'm not sure about the validity of the results. Sorry @Lukas-W.
Anyway, an earlier build had set my LADSPA path as /opt/lmms/bin/../lib//ladspa/
(by writing to the file without asking), but now a fresh master build would set it as /opt/lmms/lib/lmms/ladspa,/home/h/lmms/plugins/ladspa/
.
@unfa: if there's a chance it could be left over from an old build, try resetting the config file.
Huh. This was supposed to be fixed in #2190, but apparently not.
Fixes #2159 Master branch can't find ladspa effects Were introduced in #1908 Re organizing of the user lmms directory
git bisect
between master and de9f879dde5ad0f31818132a3fb2b2b8d6333662 (parent of #1908), marking each commit bad if it can't find C* Plate2x2
, points me at #1719 (cc @Lukas-W):
35e1c4ed899dde640e298129fde8c957fef05671 is the first bad commit
commit 35e1c4ed899dde640e298129fde8c957fef05671
Author: Lukas W <lukaswhl@gmail.com>
Date: Thu Feb 5 17:22:23 2015 +0100
Refactor: Move plugin file support handling to PluginFactory
:040000 040000 60895e5dd97570a569c9405a7227a1877a2a89ce ef255610e9ebe86440d451097f6a1bf0caca49a7 M include
:040000 040000 e7892d59505a40ddb6d5f3e04273c8d800ce9dac 7c06269d4ed5dfe1f7fd1798013e61e998029d61 M src
@michaelgregorius I removed the .lmmsrc and re starded from scratch. I configured my working directory and left all other default values. Result: all the LADSPA plugins are in the list, no error. Ubuntu 12.04 32 bits and Lmms master (debug build) up to date.
@unfa By looking more closely to your screenshot, your path to the LADSPA plugins is probably wrong. /usr/lib/../lib//ladspa/ is not valid. There should be a comma (",") between /usr/lib/ and ../lib//ladspa/ (compared to my own setup). Although the double slash in ../lib//ladspa/ does not hurt, it is always preferable to have just one.
After deletion of ~/lmmsrc.xml
my LADSPA paths are set to (separated by comma):
/home/michael/lmms-dev-mg/lib/lmms/ladspa
/home/michael/lmms/plugins/ladspa/
Using these paths does not work as my build directory is located at /home/michael/lmms-dev-mg/lmms-build/
. My git clone is located at /home/michael/lmms-dev-mg/lmms/
. I use the following CMake command to configure the build:
-DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX:PATH=../lmms-install
Could it be that the relative install path is creating some problems?
If I manually add ./plugins/ladspa
to the LADSPA paths the LADSPA browser (found in the main menu under "Tools") finds all the plugins. However, when I try to add an effect these plugins are still not seen. I get the same effect when changin line 422 in ConfigManager.cpp
as follows:
m_ladDir = qApp->applicationDirPath() + "/plugins/ladspa";
However, I assume that this will only work with a development build and not with a fully installed release build. I think for LADSPA we need to differentiate between the following paths:
/lib/ladspa/
./home/michael/lmms/plugins/ladspa/
.${LMMS_INSTALL_DIR}/lib/lmms/ladspa/
../plugins/ladspa
.So for me the code currently seems to be broken in two ways:
@michaelgregorius Strange enough because when I deleted my .lmmsrc and restarted Lmms the LADSPA path was initialized with the full path of my install directory, not a relative one like yours. And my cmake flag -DCMAKE_INSTALL_PREFIX=../target-debug is relative too.
@midi-pascal I have now deleted ~/.lmmsrc.xml
and started the deployed application, i.e. I performed a make install
and started the installed application. Now one of the paths points to a correct location (/home/michael/lmms-dev-mg/lmms-build/plugins/ladspa
) but the plugins are still only seen in the LADSPA browser but not in the effect selection dialog.
Some words of explanation: since a few weeks it's possible to start the application without deploying it first which results in much faster startup times. It seems like this case might have to be taken into account as well when dealing with the LADSPA paths.
@michaelgregorius Got it! For sure there is a bug here since for me the LADSPA effects are shown when clicking "Add effect" in the FX-Mixer but are missing from the LADSPA Plugins browser... I did not understood at first you were speaking of the plugins browser since I never used it.
If I add qDebug() << QDir::searchPaths("plugins");
to PluginFactory::discoverPlugins()
it only outputs:
/home/michael/lmms-dev-mg/lmms-build/plugins
This expression finds all the native LMMS plugins as they reside in that directory. Because the LADSPA plugins are in the ladspa
subdirectory I assume that normally it should also contain something like /home/michael/lmms-dev-mg/lmms-build/plugins/ladspa
?
since a few weeks it's possible to start the application without deploying it first which results in much faster startup times. It seems like this case might have to be taken into account as well when dealing with the LADSPA paths.
FYI, https://github.com/LMMS/lmms/commit/5592d07c80c0bf81acbaca9552fe5ce31e797b1e
This isn't a bug, this is a feature. We've added automatic path detection via 5592d07 and that's a convenience developers must be aware of when switching between release and debug builds.
Documented by adding a side-note to our compile instructions
. Closing as invalid.
Note: This will automatically create a file
~/.lmmsrc.xml
which will map artwork and plugin paths relative to your build directory. At any time, if artwork or plugins stop loading properly, you will need to edit, move or delete~/.lmmsrc.xml
to correct these paths.
@michaelgregorius I believe the LADSPA loading logic you are looking for is in LadspaManager.cpp
The ladspa plugin directory only has its factory defaults set on install if there is no setting in the ~/lmmsrc.xml
file. If this file is removed prior to a new install/upgrade the ladspa dir is set correctly.
If you dont wish to remove this file, for understandable reason, there are some simple steps
This will force the setting back to the new default.
p.s this should work for all paths in the settings if needed
Cleared LADSPA path and deleted ~/lmmsrc.xml. Still getting error about these plugins. I'm using PR #2428 since LADSPA is currently broken in master.
7be47230e33e381991001f6f28b7468e877d581a - here all is good. acf6393e7036531bb36182162a9418ec9401d28c - here CALF and CAPS are already missing.
Looks like all C* Audio Plugins Suite and CALF plugins are not availabile in LMMS git master.
However the are installed in my system so should be..
Also the cmake configuration output has shown that the plugins should be availabile.
This is how paths are configured:
Looks strange to me, but the other plugins are working fine, so what's going on?