<div dir="ltr">While porting AlsaModularSynth modules to LV2 plugins, I was wondering something... AMS has some similar modules where the only thing changing is  the number of inputs (Mixer with 2, 4 or 8 inputs), the number of outputs (CV source with 2, 4 or 8 outputs) or the number of VCOs/Envs/etc. (DynamicWaves with 4, 8 or 16 VCOs).<div><br></div><div>In AMS there is only one class for such plugins and AMS would pass the number of inputs/outputs/sections/etc. when creating the different modules.</div><div>I couldn't find an easy way to reproduce this in LV2 plugins, therefor so far I have been creating different LV2 plugins for each and everyone of them and doing a lot of copy/past/editing.</div><div><br></div><div>That let me to wonder if there wouldn't be a better way.</div><div><br></div><div>The pros:</div><div>- it's easier to maintain if I have only one class</div><div>- it's a lot less boring than doing a lot of copy/past/editing - I have been doing it only for simple ones so far like Mixers or CV source, but now I'm starting to port DynamicWaves which is way more complex</div><div><br></div><div>The Cons:</div><div>- I have the feeling that gaining on code simplicity actually decrease the performance when the plugin is running - i can imagine it to be less strainuous on the CPU to have simple code instead of dealing with loops and arrays</div><div><br></div><div><br></div><div>Being a rare case I can't imagine the need to have this supported directly in LV2, but I was wondering if people with more talent than me in creating audio software might have some advice?</div><div><br></div><div>Aurélien</div></div>