Default modules [FR]

It would be cool to have a field in the preferences so that the user can specify the modules he wants by default; something like "juce_core;juce_video;anotherModuleIWant"

(Otherwise I suggest to remove the juce_video (and perhaps also the juce_opengl ?) from the default modules that are added when we create a new project.
Perhaps you don’t want to remove them from all kind of projects, but I think that the juce_video module is rarely used for the “audio plugins” for instance.)

1 Like

I suggest to remove the juce_video from the default modules that are added when we create a new project.

I see that has been done, so thank you!

I would also suggest to disable the JUCE_WEB_BROWSER option of the juce_gui_extra module by default. I’m pretty sure most of the projects don’t use that?

perhaps the JUCE_USE_FLAC and JUCE_USE_OGGVORBIS options in juce_audio_formats could be disabled by default too?

I think disabling internals of a module would result in quite some confusion. I wouldn’t expect, that I have to enable specific file formats, even though I agree, in case of a normal DSP plugin, they might not be used very often.

It seems you need a way to inject your private template, which would be an amazing feature (also allowing to modify the generated boilerplate), but that might not make it above the noise floor in the backlog…

I may be entirely wrong about this, but if you don’t explicitly use a specific part of the codebase, then the linker doesn’t put it in your binary does it? I suppose it might help compilation times if a load of unused features are #ifdefed out.

Custom Templates would be an incredibly useful feature, but it only took a few hours of writing some bash scripts to do that myself, so I would imagine this is the mindset of JUCE team: if you want some specific templates, DIY, because they have bigger fish to fry!

Especially for the WebBrowser and the VideoComponent it matters, it adds libraries and linker flags, which is especially for the web browser on linux a bit annoying.
In release you would usually add “strip unused symbols”, which removes the unused code. Initially afaik all goes into the linker.

1 Like