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

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 16 Apr 2004 16:01:26 -0700

On Sat, Apr 17, 2004 at 10:40:51AM +1200, Jeff McClintock wrote:
> selector, the morph did not work. The morph is not triggereable via a MIDI
> note-on.

Download Symptohm Melohman.  Melohman s their new standard of
interactivity for VSTs, and players LOVE IT.

> This strongly points to the morph being implemented in the plugin's custom
> GUI.  A solution I suggested at the start of this discussion.

One I can live with, if that is our final answer.  However, take a step
back for a second.  A custome UI that sends events for a morph is exactly
analogous to a "helper" plugin.  Right?

Now I said it should really BE a plugin in the process() path.  It could
be a thread or timer or something running in the GUI context which sends
the events, but I can't see any win there.

> Tim wants morphing that:
> - Works without custom GUI. (DSP driven)

To be fair, I just said "works without a custom GUI", I don't care what
drives it.

> - Updates the UI as morph progresses

This is the one that matters most, to me.  And don't forget "can be
triggered by MIDI or any other mechanism". :)

> I'm not anti-morphing.  I am anti "spontaneous parameter changes".  I
> believe there to be unresolvable timing issues.

So if the parameter changes come from a help plugin, they are not
spontaneous, right?.

> 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.

The synchronous actor model solves inter-parameter linkages nicely.  Add
the notion of a helper plugin, and all issues that I can see are solved.
Without violating any of the existing assumptions.  Without being too
gross.  Without being hard to explain.  The details of undo and recording
and stuff are imminently solvable, I think.

I need to find an hour tonight or this weekend to look at the reqs,
re-read the 100+ messages in this thread, and capture the reqs.  The whole
"helper" part is really just a note next to the requirements.

In short:

Inter-parameter linkages can be defined by plugns providing an 'actor'
which is called by senders of events.  Actors can impose parameter rules
to modify or even reject events based on other conditions.

Plugins never send themselves events.  If you want to do things that
appear to be spontaneous changes, you can use a helper plugin.  GMPI may
choose to codify this process alongside the 'actor' model.

The details are really beyond what we need to solve right now, though (as
usual) we have many of them worked out, I think.

Tim

----------------------------------------------------------------------
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: