> Alright: now explain in detail how do you do this then: > 1. user presses a button on the plugin UI > 2. all parameters of the plugin start changing from one set to another > automatically > And please don't say that "it is a bad way of doing morphing". And if you > are still thinking that, go to OhmForce's website, download one of their > plugins, try it I downloaded the OhmForce Oddity. It does support morphed patch changes. Investigating further, I noticed the morph only happens when triggered from the plugin's custom GUI. When I opened a host-generated UI, the morph control was not accessible. When I changed programs from the host's program selector, the morph did not work. The morph is not triggereable via a MIDI note-on. This strongly points to the morph being implemented in the plugin's custom GUI. A solution I suggested at the start of this discussion. Tim wants morphing that: - Works without custom GUI. (DSP driven) - Updates the UI as morph progresses In other words, the DSP is updating it's own parameters and UI. (spontaneous parameter changes) I'm not anti-morphing. I am anti "spontaneous parameter changes". I believe there to be unresolvable timing issues. Mike: "I know exactly how ugly and bug-ridden this design is because I have written host support for VST" //www.freelists.org/archives/gmpi/04-2004/msg00151.html Just to be clear. There's no problem with the Custom GUI doing the morph (it has read-write access to all paramters). There's no problem with the DSP doing the morph 'silently' ( UI don't respond). If there is a way to do "spontaneous parameter changes", that's fine, but I genuinely believe it to be a problem area. I will wait an see Tim's proposed solution, he may have a good way of doing it. Best Regards, Jeff ----- Original Message ----- From: "Koen Tanghe" <koen@xxxxxxxxxxxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Saturday, April 17, 2004 8:04 AM Subject: [gmpi] Re: gmpi Digest V1 #65 topic: Inter-parameter linkages > On Friday, April 16, 2004 3:06 AM [GMT+1=CET], > Jeff McClintock <xxxjeffmcc@xxxxxxxxxxxxx> wrote: > > >> What happens to the parameters in the GUI/control surface when you hit > >> the morph wheel? I don't suspect they move in the UI. That's a cool > >> feature that some synths will want to do. > >> > >> Others are already doing the sort of morph that requires the parameters > >> to ACTUALLY change in the VST world. > > > > Ah, The actor. > > > > Think of morphing as a special case of parameter linking. > > > > Actor is informed when the morph_ammount changes (it's just a parameter). > > Actor updates other parameters to new posistion. Like any other thing the > > actor does, the UI gets updated, the parameters get updated, it's all > > recordable etc. > > > > pretend code... > > > > Actor::SetParameter( param_id, new_value ) > > { > > if( param_id = "morph ammount" ) > > { > > A= host->getParameter (patch_A, "other_param") > > B= host->getParameter (patch_B, "other_param") > > morphed_val = A * new_value + B * (1-new_value) //interpolation > > host->setparameter("other_param", morphed_val ) > > } > > } > > > > Advantages: > > - actor is still handling morphing > > - UI reflects the morph > > - stored parameters reflect the morph > > - Actor API is minimal (1 function) > > > > The UI reflects the morph, there's no downside, the whole thing is dead > > simple. > > For your definition of morphing (the "user-controlled crossfader" way) this > surely works fine. > > Alright: now explain in detail how do you do this then: > 1. user presses a button on the plugin UI > 2. all parameters of the plugin start changing from one set to another > automatically while I am doing nothing, just listening and watching > 3. while all parameters are changing, the UI reflects these changes (sliders > move, knobs turn) > 4. this is an essential part of my plugin and must work in ALL hosts > > So, how do you do it? > > And please don't say that "it is a bad way of doing morphing". And if you > are still thinking that, go to OhmForce's website, download one of their > plugins, try it, and also look in the forums and read what *users* are > thinking about this way of doing morphing ;-) > > Koen > > > ---------------------------------------------------------------------- > Generalized Music Plugin Interface (GMPI) public discussion list > Participation in this list is contingent upon your abiding by the > following rules: Please stay on topic. You are responsible for your own > words. Please respect your fellow subscribers. Please do not > redistribute anyone else's words without their permission. > > Archive: //www.freelists.org/archives/gmpi > Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe > > > ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe