It sounds like you have the right basic idea, but I'll split it up and be very precise.
What I'm requesting is really a set of objects that comprises of a Morphing Mixer that has at least two inputs that is specifically designed to take a Morphable Oscillator.
- Morphable Oscillator object only needs to come in one variant.
- Morphing Mixer object could come in 2,3,4,5,6 or more input variants to take Morphable Oscillators.
The Morphable Oscillator:
The Morphable Oscillator is basically a single oscillator object with dials on it that allow you to dial-in a custom procedurally produced waveform by dialing-in any mixture of Sine, Square, Triangle, Ramp Up, Ramp Down, Noise, S&H etc, in varying amounts to create the oscillator waveform. The waveform it creates is just a single cycle and is looped to create the oscillation just like regular oscillators do. The important thing about it is that the waveform is generated procedurally so that it's parameters can be morphed from one custom waveform to another. However, the actual morphing is not handled by the oscillator object, it is handled by a Morphing Mixer object designed to drive it.
The Morphing Mixer Object:
The role of the Morphing Mixer is to take multiple Morphable Oscillators and morph between them using just a single dial. The amount of Morphing Oscillators it has to morph between, is determined by the variant of the object itself. For example, a 2-Input Morphing Mixer would accept just two Morphable Oscillators. Having the dial set to minimum would output the waveform of the first Morphable Oscillator, and set to maximum you would hear only the second. Twelve o'clock position would output a 50/50 morph of the two Morphable Oscillators.
It gets even better the more inputs a Morphing Mixer object has. So a 3-Input Morphing Mixer for example, would output only oscillator 1 at minimum value, only oscillator 3 at maximum value, and only oscillator two at twelve o'clock. Moving between minimum and twelve o'clock would give you a morph between oscillator 1 and 2, and moving between twelve o'clock and maximum would give you a morph between oscillator 2 and 3.
It basically works the same no matter how many inputs the Morphing Mixer has, cause all it does is divide the knob travel by how many inputs it has. So basically, this mixer is driving the oscillators attached to it, because turning the dial basically sends the signals to the attached Morphable Oscillators, telling them how they need to adjust their parameters in order to morph from one waveform to another.
Quite a task I suppose, but remember there are really only two main object designs. The Morphing Mixer objects are all basically the same, they only differ in how many inputs they have. And the Morphable Object is just one object that the user adds to the patch how many they need. The oscillators differ because the oscillators themselves are customisable by the user adjusting the oscillators dials.
I suppose you could even skip the Morphing Mixer objects altogether and it would still work, cause basically, all the user would have to do is attach their own form of modulation to the Morphable Oscillators. It would be nice to have those purpose-built Morphing Mixers for them though, that would be much more elegant and feel like a full-on complete 'system' in its own right.
Crazy or what?