[gmpi] Re: 3.15 MIDI (goals.undo vs. playing)
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Fri, 18 Jun 2004 15:50:06 -0700
Thanks for the comments, Steve. Undo expectations still seems shaky
to me, I'd like to firm them up if we can.
Steve said:
Chris said:
> 2 - MIDI CLICK-AND-WIGGLE ... Is there a need for this
> style of input to be undoable? I'm not sure there is, partially
because I'm not sure what 'undo' means for some operations -- what do
host writers think?
Yes, there is a need for it to be undoable - the user wont see any reason
why wiggling a slider on a MIDI box is different to moving it with a
mouse. Its no harder to undo either, as the MIDI->GMPI mapping happens
inside the host, just like the mouse->GMPI mapping.
Yes, all else being equal I agree there should, if possible, be the
same operation... But I still haven't seen anyone explain what "undo"
means in this context. Actually, this is an issue for all
instrument-style plugs irrespective of whether pure GMPI is used or
MIDI is used.
First question is, undo what events? Reset the wiggled parameter to
its state before... well, before what? Most recent parameter change?
A MIDI slider move generates many many CC change msgs, so undoing
only the last one is not terribly useful functionality. Start of the
move gesture? How do you define that? A user-set redo milestone is
unambiguous, but irritating.
> 3 - MIDI PERFORMANCE INPUT / NEW PLUGS - ...
> ...Again, is undo needed or meaningful here, since, unlike,
> say, many audio DSP plugs, a synth plug's state is much more complex
(notes in release phase, envelope position, sample index per
oscillator, etc.) than a parameter snapshot?
Again, yes, undo is both meaingfull and needed. Not all hosts have to
provide it, but theresno reason to prevent them.
Well, undo on program change is probably unambiguous, but the
continuous-gesture-oriented questions I asked above also apply to
other messages you're more likely to find in performance input
(pitchbend and the aftertouches).
More centrally, second question is: What is the meaning of an undo
operation on messages that don't so much set a parameter as trigger a
process, e.g. Note On? Just sending the corresponding Note Off does
not put the instrument into the state it was before the note on; now
you 've got a note in release phase when there was no note at all
before the note on, and all the other playing notes are further into
their timelines. So, how thorough do we expect undo to be for
playing an instrument, vs. how much of the plug's internal state do
you need the host to mirror for undo to be useful for playing an
instrument?
Bonus question: What is the meaning of an undo operation on a SysEx message?
Just to be clear: Editing a patch via (G)UI is different from playing
the instrument (though obviously there's some overlap), and undo
certainly should apply for patch edits, I'm just asking about playing
the instrument.
-- Chris G.
----------------------------------------------------------------------
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: