Hi, All!
After several days rewriting gtk gui support for lv2 host I think
it's ready for testing :).
What was made:
1. Excluded suil dependency from muse CMakeLists.txt.
2. I decided not to include gtk2/gtkmm2 dependency to muse at all.
3. Simple gtk2/gtkmm2 helper was created and compiled into 2 shared
libraries (for x64 and x32 arch).
How it works:
New precompiled lv2 gtk2 helper libraries are installed in muse modules
dir (lv2Gtk2Helper32.so for x32 and lv2Gtk2Helper64.so for x64).
While initLV2() function is called it tries to dlopen gtk2 gui helper.
If all runtime dependences are met, gtk2/gtkmm2 are initialized and gtk2
gui support is turned on.
Of course there is ability to compile helpers from source if needed (but
I think, that in 99% of time these precompiled libraries should just
work). Wrapper code resides in muse2/muse/lv2Gtk2Helper folder. Cmake
script just copies *.so files from this dir to destination modules dir
while installing.
So, there is no explicit gtk2/gtkmm2 dependency now (and no -dev files
are needed, which makes ubuntu distros very happy). If gtk2/gtkmm2 libs
were not found during MusE start, informative message will be shown
about what can be checked (like ldd lv2Gtk2HelperXX.so and so on).
I've tested clean MusE build on ubuntu 14.04 32 and 64 bit installs, on
arch linux 64 bit install - it works as expected :).
Now the sumary of ui types supported:
1. Qt4 gui - supported natively. Tested plugins: drumkv1, samplv1.
2. External ui types (deprecated and kxstudio specification) - supported
without external dependences. Tested plugins: Dexed synth, distrho plugins.
3. X11 ui types - works without external dependences. Tested plugins:
Dexed synth, TAL plugins, some distrho plugins.
4. Gtk2 ui types - works with lv2Gtk2HelperXX.so. Tested plugins: calf
plugins.
5. Gtkmm2 ui types - works with lv2Gtk2HelperXX.so. Tested plugins:
eq10q equalizer and compressor.
all changes (with precompiled gtk2 helpers) are pushed to lv2 branch and
ready for testing :).
Regards,
Andrew
------------------------------------------------------------------------------
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer