Page 1 of 1

complie error on Raspberry Pi3b+ / Raspbian

Posted: Sun Mar 15, 2020 9:38 am
by bitz
Hi,

I'm trying to compile drumgizmo with lv2-plugin on a Pi3b+ / Raspbian 10.3 (Buster)

I get the following error, g++ 8.3 complaining about a cast in pluginlv2.cc:
.
./plugin/plugingizmo/pluginlv2.cc:694:1: error: invalid conversion from
‘void* (*)(const _LV2_Descriptor*, double, const char*, const LV2_Feature* const*)’ to
‘void* (*)(const LV2_Descriptor*, double, const char*, const LV2_Feature* const*)’ [-fpermissive]
};
^
../plugin/plugingizmo/pluginlv2.cc:730:1: error: invalid conversion from
‘void* (*)(const _LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)’
{aka
‘void* (*)(const _LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)’}
to
‘void* (*)(const LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)’
{aka
‘void* (*)(const LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)’} [-fpermissive]
};
(added some linefeeds for better readabillity)

C++ on that level is beyond me, i'm hoping you can help...
I attached the configure.log

...and:
I suppose the lv2 plugin cannot be run without gui ?

Regards,
Bitz

Re: complie error on Raspberry Pi3b+ / Raspbian

Posted: Sun Mar 15, 2020 11:58 am
by deva
I'm not sure what the difference is between _LV2UI_Descriptor and LV2UI_Descriptor. But the compiler seem to think they are not the same.

I will look into the issue and get back to you shortly...

Re: complie error on Raspberry Pi3b+ / Raspbian

Posted: Sun Mar 15, 2020 12:30 pm
by deva
You can try removing ''struct _'' from ''plugin/plugingizmo/pluginlv2.cc'' : line 89, so it changes from

Code: Select all

LV2_Handle PluginLV2::instantiate(const struct _LV2_Descriptor* descriptor,
to

Code: Select all

LV2_Handle PluginLV2::instantiate(const LV2_Descriptor* descriptor,

Re: complie error on Raspberry Pi3b+ / Raspbian

Posted: Sun Mar 15, 2020 4:31 pm
by bitz
Builds now, thank you.

Had to change defintions in .h and LV2_UIdescriptor too (line 730). Hoipe that doesnt break anything.

...I still had the question about running the LV2 without GUI. To me there seems no simple way for that. Or do i miss something ?

Re: complie error on Raspberry Pi3b+ / Raspbian

Posted: Sun Mar 15, 2020 5:34 pm
by deva
Great! I will make the changes in our git repo as well - thanks for reporting :-)

You cannot run DrumGizmo as an lv2 plugin without the GUI since you cannot tell it which drumkit to use.
You can, however, use it in the commandline version as a jack client as described here:
https://drumgizmo.org/wiki/doku.php?id=cli-howto