Hello. I am a developer for LMMS and am correcting some problems and updating the ebuild for our Release Candidate 1. - We have added optional support for Portaudio. So this includes the useflag for it. - Updated package name for lmms-0.4.0-rc1 file - However, the most important change is the removal of the ladspa useflag. The reason is: LMMS has absolutely NO dependency for ladspa: optional or hard. As you may know LADSPA is actually just a header file called ladspa.h. There are no daemons or shared libraries. LMMS includes its own copy of ladspa.h because LMMS includes a number of non-optional LADSPA plugins with our source distribution. Additionally, these plugins must be installed per-default because a number of included demo-projects require them. Again, LMMS has NO dependency for ladspa-sdk to be installed. LMMS contains built-in support for LADSPA plugins because it ships with its own ladspa.h. I hope this makes sense.
Created attachment 165971 [details] Proposed LMMS 0.4.1_rc1
(In reply to comment #0) > Hello. I am a developer for LMMS and am correcting some problems and updating > the ebuild for our Release Candidate 1. Thanks. > - We have added optional support for Portaudio. So this includes the useflag > for it. > - Updated package name for lmms-0.4.0-rc1 file > - However, the most important change is the removal of the ladspa useflag. The > reason is: LMMS has absolutely NO dependency for ladspa: optional or hard. As > you may know LADSPA is actually just a header file called ladspa.h. There are > no daemons or shared libraries. LMMS includes its own copy of ladspa.h because > LMMS includes a number of non-optional LADSPA plugins with our source > distribution. Additionally, these plugins must be installed per-default > because a number of included demo-projects require them. This makes sense. One minor thing I was thinking about: Can't lmms use system ladspa plugins? we already have media-plugins/caps-plugins and media-plugins/tap-plugins; maybe it would be possible to add dependencies on these and save the time of compiling them for lmms? For me, the ebuild is ready to be comitted (except a typo: portaudio is in media-libs :) which i've fixed locally), waiting for Thomas' opinions as he is the proxy maintainer for it.
Alexis - Thanks for the correction. And yes, if you want to make LMMS depend on Gentoo's media-plugins/caps-plugins, then that is fine. LMMS only includes a portion of media-plugins/tap-plugins. So, I'll let you make the decision between the system plugins and LMMS's bundled plugins. As another note - LMMS RC2 has just been released. It includes the CMT plugins. However, we have included bug fixes for the CMT-plugins that haven't yet made it upstream. Therefore, we should use LMMS's bundled plugins (at least for now). Thanks.
(In reply to comment #3) > Alexis - Thanks for the correction. And yes, if you want to make LMMS depend on > Gentoo's media-plugins/caps-plugins, then that is fine. LMMS only includes a > portion of media-plugins/tap-plugins. So, I'll let you make the decision > between the system plugins and LMMS's bundled plugins. I usually prefer using system 'libraries' as it reduces a lot code duplication; but in that case it's not that critical, so I've left it as it was in your ebuild, ie: enabled by default and using the lmms ones considering your comments about bugs fixed in these plugins. > As another note - LMMS RC2 has just been released. It includes the CMT > plugins. However, we have included bug fixes for the CMT-plugins that haven't > yet made it upstream. Therefore, we should use LMMS's bundled plugins (at > least for now). Thanks, I've bumped it now. Just for your information, in case Thomas hasn't contacted you (==lmms devs) yet about it: I have problems with my xcb enabled xlib with the vst plugins (they work fine if I set LIBXCB_ALLOW_SLOPPY_LOCK=1 in my env), whenever I load a plugin I get things like: Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0x7f1a2c5ba98c] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x17) [0x7f1a2c5baaf7] #2 /usr/lib/libX11.so.6 [0x7f1a2df6ad20] #3 /usr/lib/libX11.so.6(XGetWindowProperty+0x42) [0x7f1a2df47ba2] #4 /usr/lib/qt4/libQtGui.so.4 [0x7f1a3255679c] #5 /usr/lib/libX11.so.6(XCheckIfEvent+0x79) [0x7f1a2df3c4d9] #6 /usr/lib/qt4/libQtGui.so.4(_ZN18QX11EmbedContainer11embedClientEm+0x224) [0x7f1a32556e14] #7 /usr/lib64/lmms/libvstbase.so(_ZN9vstPlugin10showEditorEP7QWidget+0xf8) [0x7f1a23a12708] #8 /usr/lib64/lmms/libvestige.so(_ZN17vestigeInstrument8loadFileERK7QString+0x2c2) [0x7f1a07631772] #9 /usr/lib64/lmms/libvestige.so(_ZN21vestigeInstrumentView10openPluginEv+0x5b7) [0x7f1a07630b57] #10 /usr/lib64/lmms/libvestige.so(_ZN21vestigeInstrumentView11qt_metacallEN11QMetaObject4CallEiPPv+0x4d) [0x7f1a07630d3d] #11 /usr/lib/qt4/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x244) [0x7f1a31e3da34] #12 /usr/lib/qt4/libQtGui.so.4(_ZN15QAbstractButton7clickedEb+0x37) [0x7f1a32a4f117] #13 lmms(_ZN12pixmapButton17mouseReleaseEventEP11QMouseEvent+0x9) [0x4d43e9] #14 /usr/lib/qt4/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x9b1) [0x7f1a325213b1] #15 /usr/lib/qt4/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xbd) [0x7f1a324ced4d] #16 /usr/lib/qt4/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x90a) [0x7f1a324d735a] #17 /usr/lib/qt4/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xd0) [0x7f1a31e297b0] #18 /usr/lib/qt4/libQtGui.so.4(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_E+0x108) [0x7f1a324d66f8] #19 /usr/lib/qt4/libQtGui.so.4 [0x7f1a32539fa9] lmms: xcb_xlib.c:73: xcb_xlib_lock: Assertion `!c->xlib.lock' failed. so I've left the useflag masked for now :(