Skip to content
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

Master: Calf and Caps plugins not found #2270

Closed
unfa opened this issue Aug 16, 2015 · 16 comments
Closed

Master: Calf and Caps plugins not found #2270

unfa opened this issue Aug 16, 2015 · 16 comments
Labels

Comments

@unfa
Copy link
Contributor

unfa commented Aug 16, 2015

plugins not loaded

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.

Optional plugins
----------------
* Carla Patchbay & Rack       : OK
* SoundFont2 player           : OK
* Stk Mallets                 : OK
* VST-instrument hoster       : not found, please install (lib)wine-dev (or similar) - 64 bit systems additionally need gcc-multilib and g++-multilib
* VST-effect hoster           : not found, please install (lib)wine-dev (or similar) - 64 bit systems additionally need gcc-multilib and g++-multilib
* CALF LADSPA plugins         : OK
* CAPS LADSPA plugins         : OK
* CMT LADSPA plugins          : OK
* TAP LADSPA plugins          : OK
* SWH LADSPA plugins          : OK
* GIG player                  : OK

This is how paths are configured:

paths

Looks strange to me, but the other plugins are working fine, so what's going on?

@midi-pascal
Copy link
Contributor

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 -

@tresf
Copy link
Member

tresf commented Aug 16, 2015

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. 👍

@michaelgregorius
Copy link
Contributor

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?

@grejppi
Copy link
Contributor

grejppi commented Aug 16, 2015

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 de9f879 (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

@midi-pascal
Copy link
Contributor

@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.

@midi-pascal
Copy link
Contributor

@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.

@michaelgregorius
Copy link
Contributor

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:

  1. Global LADSPA path, e.g. /lib/ladspa/.
  2. User LADSPA path, e.g. /home/michael/lmms/plugins/ladspa/.
  3. LMMS LADSPA path, e.g. ${LMMS_INSTALL_DIR}/lib/lmms/ladspa/.
  4. Development LADSPA, e.g. ./plugins/ladspa.

So for me the code currently seems to be broken in two ways:

  1. The default LADSPA paths are not created in a robust manner.
  2. The LADSPA browser and the plugins dialog do not seem to share the same base hence the different effects described above.

@midi-pascal
Copy link
Contributor

@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.

@michaelgregorius
Copy link
Contributor

@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.

@midi-pascal
Copy link
Contributor

@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.

@michaelgregorius
Copy link
Contributor

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?

@tresf
Copy link
Member

tresf commented Aug 16, 2015

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, 5592d07

@tresf
Copy link
Member

tresf commented Aug 22, 2015

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.

@tresf tresf closed this as completed Aug 22, 2015
@tresf tresf added the invalid label Aug 22, 2015
@tresf
Copy link
Member

tresf commented Aug 22, 2015

@michaelgregorius I believe the LADSPA loading logic you are looking for is in LadspaManager.cpp

@curlymorphic
Copy link
Contributor

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

  1. open setting dialog
  2. clear the ladspa path
  3. close settings
  4. close lmms
  5. reopen lmms

This will force the setting back to the new default.

p.s this should work for all paths in the settings if needed

@karmux
Copy link
Contributor

karmux commented Oct 27, 2015

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants