How to handle default projects?

I am now at the point where i have made so many projects that i see that some of the stuff i do is just the same all the time. so i decided to make a default project that i only have to copy and rename everytime i wanna start a new project. problem is: doesn’t really work very well. yesterday for example cubase didn’t find my plugin after i renamed the project with the projucer. then i restarted the projucer, visual studio and compiled around 10x and finally it was there even though i didn’t change anything. very mysterious. now today i tried to copy my default project and again rename it. this time cubase shows the plugin, but still as if it had its old name. weird. and when i open it it tells me some vector is out of bounds. that makes sense because i am working on a delay. so i press retry and look at the callstack and it says that the source file is different from when the module was built. it asks me if i’d like to debug it anyway. i click yes and it brings me to the line:

auto rFrac = rIdx - rFloor;

ot doesn’t seem to have anything to do with an access of the vector.
earlier when i tried the same it showed me this line:

buffer.resize(int(sr));

here i only resize the vector. there shouldn’t be a problem here. i think something about the whole project renaming thing has messed up some background logic. can anyone give me some insights on why my way of making a default project was wrong and also give me a nice alternative?

oh and btw, these problems only exist when i debug as vst. standalone works fine, which also indicates that my vector access is not really the problem

edit: ok apparently both plugins, the default project itself and the vst i made from it are actually copied into the common files/vst3 folder. so maybe the projucer just didn’t make the new project “unique” or something?

edit 2: so now i deleted all plugins that “derived” from the default project, restarting the projucer and visual studio a couple of times and compiled again and after a few attempts it randomly showed up and works. however this is a very rough solution. i’d still like to get a few tips on how to handle this more cleanly.

tldr: GOAL: make a default project for vst plugins

Maybe instead of a default project, create a JUCE module that encapsulates your plugin template?

i have never worked with modules. can you explain to me the overall concept of a module and how they would help about making a default project? i hope that it’s not just a thing that lays on top of the files that juce gives us. because my default project also contains a lot of stuff in the plugineditor and processor, like parameter handling especially. that’s literally always the same and i don’t wanna rewrite that code ever again xD

edit: i thought maybe this could be a new and pretty powerful feature for the projucer in general too. a function where you can just make a reference to a folder with .h and .cpp files and tell the projucer that this is a new possible default preset just like the other ones that are given by juce itself. then everyone could just add all their favourite properties to a project and then declare that as default. it could also contain projucer settings like enable copy step, which is something that i always have to enable manually, even though i never not enable it

This isn’t specific to macOS, if the plugin code is the same then DAWs that I’ve used get confused.

1 Like

awesome observation! that means that i only have to change the id whenever i copy my default project and i’m fine i guess? would be cool if the juce team added a little button in the projucer which automatically creates a new id for a project.