[gmpi] Re: gmpi Digest V1 #65 topic: Inter-parameter linkages

  • From: "Jeff McClintock" <jeffmcc@xxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Sat, 17 Apr 2004 10:40:51 +1200

> 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

Other related posts: