DPF icon indicating copy to clipboard operation
DPF copied to clipboard

Add an official project generator script / project skeleton

Open pdesaulniers opened this issue 6 years ago • 6 comments

As we've previously discussed.

DPF plugins use similar project structures and Makefiles, so there should probably be an official way of starting a new DPF project.

For those who already want something like that, this project is pretty neat: https://github.com/SpotlightKid/cookiecutter-dpf-effect

pdesaulniers avatar May 22 '18 18:05 pdesaulniers

Perhaps use something like CMake/PreMake/GENie to build DPF, so that projects can be generated for whatever platform. If implemented well, you could make plugins that use DPF pretty easily by including a project file directly from DPF to link against.

codecat avatar Dec 11 '18 19:12 codecat

The cookiecutter project has been updated to support UI generation and MIDI In/Out. For the time being, I think it's the sanest way of starting a new DPF project.

@codecat I'm not super familiar with these build systems. Can they handle something similar to the jinja templates we're using in the cookiecutter project? (basically, parameter substitution, and conditional generation of some code blocks)

pdesaulniers avatar Aug 01 '19 13:08 pdesaulniers

No, it doesn’t work like a project template system. It merely provides an easy way for cross-platform project generation. The source files will still need to manually be written.

codecat avatar Aug 01 '19 13:08 codecat

It would be handy if a template Makefile could have bits to uncomment for different setups, like compiling for LV2 only.

mxmilkiib avatar Mar 15 '20 17:03 mxmilkiib

@mxmilkb The cookiecutter project has some flags in a Makefile for this purpose: https://github.com/SpotlightKid/cookiecutter-dpf-effect/blob/a36f83394c4365c13dd57588acfaba184ecadf72/%7B%7B%20cookiecutter.repo_name%20%7D%7D/plugins/%7B%7B%20cookiecutter.plugin_name%20%7D%7D/Makefile#L48-L59

pdesaulniers avatar Mar 15 '20 17:03 pdesaulniers

A note as per IRC; an official turnkey template to fork, especially that builds with GH actions, like the JUCE and VCV ones available, would be a good way to help on-board developers.

https://github.com/sudara/pamplejuce

https://github.com/maxwellpollack/juce-plugin-ci

https://community.vcvrack.com/t/automated-building-and-releasing-plugins-on-github-with-github-actions/11364

https://www.kvraudio.com/forum/viewtopic.php?t=557214

mxmilkiib avatar Dec 12 '21 13:12 mxmilkiib