[gmpi] Re: Reqs 3.8 Events - gesture start/end

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 29 Dec 2003 03:09:01 -0800

Quick update:


* We are nowhere, really with gesture requirements.

I've proposed two different ideas of how it might work.  I'm re-posting them
here, for completeness. 

--------------------------------
1) The "full gesture" model

Gesture start and end timestamps don't matter so much, do they?  And it
would be nice to be able to have multiple events for multiple parameters
inside a single gesture, wouldn't it?  And you want to notify the host and
other plugins that care about gestures, but not plugins that don't care,
right?

How does this sound:

* Any plugin that generates events might use a host callback to initiate a
* new gesture:
        gest_id = host->new_gesture();

* All gestures are host-global.

* Plugins which care about gestures can provide a GESTURE control, which
  will receive gesture start/end messages.

* Parameter events include a gesture-id field.  Plugins that care will
  interpret that field.  Plugins that don't, won't.

* In fact, we may not even need to send gesture events.  If a plugin that
  cares receives an event with a new gesture-id, it can assume a new
  gesture.  With a 32-bit gesture-id, it will be a long time before we
  rollover.  Long enough for a sane expiry.
------------------------------------
2) The "no one cares" model

What are gestures used for? For clumping events together into undoable
units, and 'touch automation'.  I don't see any other reasons.  Sequencers
would not record gesture events.  Gestures imply a real-time aspect.  Since
all events go through the host, we only need to send gesture events to the
host.  If the host doesn't support undo or touch automation, then it will
ignore them.  If it does support undo or touch automation (which is
essentially undo once the gesture ends) then it will observe and handle
gesture events.

How does this sound:

* Any plugin that generates events might use a host callback to initiate a
* new gesture:
        gest_id = host->new_gesture();

* All gestures are host-global.

* Parameter events include a gesture-id field.  The host can snoop events
  and tie them to the right gesture.
-----------------------------


For the people who care about gestures, how do those fit?  I think the
second is more correct.  What does a plugin really care about gesture
start/end, unless it is a host.  If it IS a host, then it receives the host
callback.  Nothing more needed.

Arguments?

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: