Robin Schmidt
Robin Schmidt
ooh - yes - when switching the inputs, i get a garbage result:  ...the process is not symmetric/commutative (edit: hmm....maybe it should be?). btw. i just added the samples...
maybe. i just added an extra term to the equations that leads to asymmetric pulses (i.e. pulse-width control for the square wave):   ...but it also leads to decay...
ha! there's also a version of the equations that includes external torques: https://en.wikipedia.org/wiki/Euler%27s_equations_(rigid_body_dynamics) ...that means, we can use it to process incoming signals instead of just generating signals on its...
maybe i could make these two members pointers instead of direct objects: ```cpp ModulationManager modManager; AudioModuleFactory moduleFactory; ``` to avoid excessive data objects and allow sharing between several ToolChain objects....
> I need to register my own modules. The constructor of ToolChain registers a bunch of modules and I cannot avoid that because... I don't know how to avoid ToolChain...
> Did you not anticipate having the 0th module removed while modules still exist in other indexes? yep - i definitely need to fix this. how could this go undetected...
> Setting module to "none" is not removing. ah - right - i'm leaving a dummy in the slot - leaving the slot as placeholder
> The index should go to the next available module instead of -1. Edit: It should go to -1 only if there are no modules. hmmm...i guess the issue here...
i just added this special case handling to the end of the function ```cpp void ToolChain::deleteModule(int index) { ScopedLock scopedLock(*lock); jassert(index >= 0 && index < size(modules)); // index out...
i can't build your version due to missing module "elan_juce_helpers".