Building and deploying LV2s to MODEP

Hi, I have a Pi-Stomp device (RaspberryPi 3) running modep and I’m attempting to build and deploy my own plugins to it. Is it necessary to use the mod-plugin-builder to compile the LV2s to run on modep, and if so which target should I use? (modduo, modduox, moddwarf, x86_64). I wasn’t sure if I could just build a normal LV2 using Juce and deploy it to the appropriate folder on the device.

Thanks,

-Keith

Hi, you can build it in any way, as long as it’s for ARM. It’s easiest to get it right if it gets built on the Raspberry Pi itself. I think you should use modduo target if it asks for it.

1 Like

Awesome, thanks! I’ll share the plugins on the forum once I get them running.

I compiled an lv2 successfully with the modduox-static tool chain, created ttl files for it, and a html gui. I used modduox-static because I need gcc7.5 and modduox is the same as the RaspberryPi 3 arch. I then used scp to put the lv2 package in /usr/modep/lv2 (I’m using pi-stomp, RaspberryPi 3 based device. When I drag and drop the plugin in the virtual pedalboard I get an Error, could not load plugin message. Is there a log file where I can find more info on why it failed to load?

As a side note, It was unable to generate a thumbnail in the mod-sdk, but the rest of the gui creation worked fine.

The exact error message is “Error adding effect”

Update:
I used “sudo journalctl -fu modep-mod-host” to monitor messages and got this when dragging the plugin to the pedalboard:

Apr 13 00:10:33 patchbox mod-host[474]: lilv_lib_open(): error: Failed to open library /usr/modep/lv2/TS-M1N3.lv2/TS-M1N3.so (/usr/modep/lv2/TS-M1N3.lv2/TS-M1N3.so: wrong ELF class: ELFCLASS64)
Apr 13 00:10:33 patchbox mod-host[474]: can't get lilv instance

I’m guessing it didn’t cross compile correctly for my target. Any ideas?

Update 2: Going to try compiling using “modduo-static” environment as @Giedrius suggested, will let you know how it goes, thanks!

-Keith

1 Like

Yes, it got built for the wrong architecture, it should be one of them 32 bit ARM architectures.

1 Like

Got it working! Most of it anyway, the knobs aren’t responding, probably the way I implemented them in the code. After I fix that I’ll share on the forums.

1 Like

And here they are:

3 Likes

Hi I’m using your experience to start my own development. I’m using one raspberry pi 4, which has cortex a72 cpu. So I’m using your suggestion about tuning the toolchain config but I’m changing mtune and mcpu values to “cortex-a72”, instead that “cortex-a57”. This may be added to your module readme instructions list for whom is compiling it on a RPI4. Hope this helps.
Regards