Re: Automation record ?
Re: Automation record ?
- Subject: Re: Automation record ?
- From: Chris Reed <email@hidden>
- Date: Fri, 13 Dec 2002 16:13:22 -0600
On Friday, December 13, 2002, at 12:16 pm, Bill Stewart wrote:
On Wednesday, December 11, 2002, at 01:12 AM,
email@hidden wrote:
My impression of why we added these APIs was so that the user's
interaction was captured by a host.
But that the UI or the AU itself would NEVER need to generate these
- that parameter notifications were provided for that messaging
By not generating them, do you mean that parameter change of the UI
could only occur from user mouse interaction start to user mouse
interaction stop ?
Suppose that the user interaction trigger some action resulting in
parameters changes for 1 second after he has mouse up :
Then if you want the host to capture that you send the parameter
change using AUParameterSet - I'm not going to assert that I
understand all of the subtlties here, but our intention was that the
listener support for parameters would be sufficient for a host to know
about all of the interactions on an AU's parameters without a need for
the host to continually poll...
Niko pointed out something much earlier in this discussion that I later
understood while thinking about it a few days ago. My description is
terribly wordy, but I want to make sure everyone gets the idea
(especially since I didn't at first).
Basically what he was saying is this... Say you have an automation
track already recorded and you want to change the values between two
points in time. So you turn on recording and start playing that
segment. When you want to record a new value, you click whatever
control and hold it down. When you're done, you let the mouse up.
The key here is that the value may actually not be changing the whole
time you are holding the mouse down. It will probably change shortly
after the mouse down, but there may be large gaps where the value stays
the same and no parameter change notifications will be sent. But the
user will expect the app to record the new value the whole time she
holds the mouse down. So how does the app know that it should still be
writing to the automation track if no parameter notifications are sent?
Graphically, it looks like this:
Assume this line represents a single parameter value for an AU in time.
|---------------------------|
^ 1
At point 1, say the value is 50 or something. Even though there are no
more value changes through the rest of this "track", the user
interprets it as the value being set to 50 at each point along the line.
|------------|======|-------|
^ 1 ^2 ^3
Now the user records over the track in the middle. She only moves the
knob or whatever once, at point 2, setting the vaue to 100. But she
holds the mouse button down until point 3. The user will expect that
the knob will snap back to the original value of 50 from point 3 until
the end of the track. So there was a single AUParameterSet call made,
with its corresponding notification, but the host app must somehow be
made aware of when to stop recording.
Personally, I think there should be more specific support for
automation recording, rather than just repurposing the mouse click
notifications. Or at least rename them. Right now it's not at all
apparent what they are really being used for (at least in Logic).
-chris
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.