Thanks for all this, I’m hoping it will be useful to me before long. In the meantime, I’ll start with getting the docker image for mod-plugin-builder
up and running! Seems like that is the first step.
For starting from scratch I 100% recommend to go with DPF instead of JUCE.
It is:
- developed by the people from the MOD team (that is, me)
- mainly focused on Linux
- minimalist by design (which can be both good and bad)
- has MOD specifc integrations in several parts of the codebase
you can use GitHub - DISTRHO/imgui-template-plugin: Template repository for doing audio plugins with DPF and ImGui as start up template.
with dev docs starting at DISTRHO Plugin Framework: DISTRHO Plugin Framework
documentation is still a work in progress though.
EDIT: to be clear, the MOD build won’t use ImGui, but having ImGui for graphics can speed up development and testing on desktop. MOD builds do not have a desktop GUI, the whole modgui thing is done separately.
I didn’t even know about DISTRHO until yesterday, sounds great! So just trying to grok the best workflow here…Do you usually do design and testing within DISTRHO and then use mod-plugin-builder
to cross-compile for the right device (Mod Duo X in my case) and then use mod-sdk
get it over to the right device? (Edited after re-reading the WIKI )
My ageing mind had mixed up SF2 with LV2!
That’s a relief tbh
yeah, develop locally first, test locally, then push and test for MOD in the later stages.
for dpf with “makefiles” I already made it so a make moddwarf
will do the correct thing for local development, will do a similar thing for cmake next.
the mod-sdk part I would consider optional. the templates it generates are quite boring, an alternative is to grab one from the many in GitHub - moddevices/mod-lv2-data: MOD LV2 data (plugins, presets and pedalboards) and just do something based on it.
The mod-sdk is nice to get a quick MOD-GUI for testing. When reworking the template later it’s also nice to get a instant feedback from the mod-sdk.
My workflow is to edit the css/html parts while refresh the view in the mod-sdk to check the results.