Re: Automation woes
Re: Automation woes
- Subject: Re: Automation woes
- From: Eric Gorouben <email@hidden>
- Date: Fri, 25 Jan 2008 20:37:19 +0100
Yes, that does help!
Thanks
Eric
Le 25 janv. 08 à 20:26, William Stewart a écrit :
The begin end notification is certainly appropriate when you are
touching a control (like a slider).
If you are just entering a new value in a text field, I don't see
the need of begin/end (and don't see the necessity for the
requirement for this notification).
If you had a capacity in a text field to hold down say option - up
arrow to change the value of the parameter, then yes, at that point
you should be sending the begin/end gesture.
So, the intention is to bracket a user gesture that can potentially
send a stream of parameter value changes.
Another point to bare in mind is this. In your code, putting a
begin/end gesture just around the call to AUParameterSet is not the
right place. What this would mean is that every time your parameter
changed value, the begin/end gesture notification would be sent
(that would be bad if you are dragging a slider).
So, how this should look in your code is like this:
User's mouse down on slider - send begin gesture
user drags slider
- AUParameterSet
- AUParameterSet
- AUParameterSet
- etc....
User's mouse up from slider - send end gesture
User enters text field
User enters new value - AUParameterSet
You can see all of this in action in AU Lab - open two generic
views to an audio unit in AULab - when you touch one of the
sliders, both views will highlight that slider with a blue
background. When you set the parameter with the text field, you
won't see this blue highlight
Hope that helps
Bill
On Jan 24, 2008, at 1:29 PM, Eric Gorouben wrote:
Ok, I got it, at last...
Thanks everybody for the help!
But that question of kAudioUnitEvent_Begin/
EndParameterChangeGesture is still unclear to me. I don't quite
see why automation doesn't work in Logic if no
kAudioUnitEvent_Begin/EndParameterChangeGesture event is sent
while it works in GB.
Eric
Le 24 janv. 08 à 17:11, Eric Gorouben a écrit :
What do you mean by "properly"? I followed the TN2104, and
probably made a mistake somewhere. Are there any tips or traps?
Eric
Le 24 janv. 08 à 16:43, Stefan Gretscher a écrit :
Brian described very well why a plug-in needs to send begin/end
in an environment that implements "touch" mode automation such
as Logic or Pro Tools (but not GarageBand, for that matter).
Please implement this properly for all parameters that you're
exposing for automation in Logic.
Thanks,
Stefan
Am 24.01.2008 um 02:31 schrieb Eric Gorouben:
Hi,
There might be somehow a bug or a "feature" in Logic (express
7.2) and pro 8.0 since there is no problem in Live 7 and
GarageBand.
However, there must be a turnaround, otherwise no AU would work
in Logic!
Is there a way to test automation in AULab?
Eric
Le 24 janv. 08 à 08:56, Stephan M. Bernsee a écrit :
Hi Brian,
I agree with you 100%, although I don't see gestures and
interpolation as being unrelated (for the reason that I have
already stated, which btw. is also mentioned in an earlier
discussion about gestures on this list - gestures do help
interpreting the meaning of parameter value changes as being
part of a continuous path. And if you look at the behaviour
you get from Logic this appears to be exactly what they do).
In any event, the thing that I thought Eric seems to be
struggling with is that Logic 8 doesn't record parameter
changes made through AUParameterSet calls without an active
gesture session. In an earlier post on this list ("Cocoa AU
template, AUParameterSet and Logic automation") I was
wondering if this is a bug in Logic because I too was under
the impression that gestures were be optional, not mandatory.
In practice, however, it turns out that in Logic 8 gestures
are indeed required in order to record parameter automation
events.
Since Eric is aware of this his problem must lie somewhere else.
I still stand by my opinion that it should not be necessary to
bracket each and every call to AUParameterSet with a gesture
start/end event - they wouldn't be very useful then.
Regards,
--smb
Am 24.01.2008 um 08:35 schrieb Brian Willoughby:
Interpolation is by no means the only useful thing to do with
gesture bracketing. For one thing, perhaps minor, Pro Tools
plugin API has a way to highlight controls that are being
controlled, so the begin gesture would draw the highlight and
the end gesture would remove it. More importantly, Logic and
other DAW software have multiple automation recording modes,
some of which erase old automation data whenever the user
modifies a parameter. Without the begin gesture and end
gesture, there would be no way for the automation system to
know that it should erase and update the automation value for
the duration that someone holds the mouse on a control, or
otherwise holds a control at some new value. Also, the final
release of the mouse may come a very long time after the last
value change, but the automation system must cease erasing
old data and revert to the old automation value as soon as
the user "lets go" of the control - i.e. end gesture.
Interpolation is completely optional and rather unrelated to
gestures.
Brian Willoughby
Sound Consulting
On Jan 23, 2008, at 22:07, Stephan M. Bernsee wrote:
Am 24.01.2008 um 04:05 schrieb William Stewart:
On Jan 23, 2008, at 1:36 PM, Stephan M. Bernsee wrote:
Am 23.01.2008 um 22:24 schrieb Eric Gorouben:
No, I'm afraid not (not at the moment anyway). Except that
you should NOT bracket every parameter change by a begin/
end gesture event...!
But that wouldn't prevent the automation from working, it
would just cause the parameter values to jump instead of
being interpolated...
No - there's no implication from Begin/End gesture that
there is any interpolation... Setting a parameter is always
going to be an explicit "set the parameter to this value
now" call. Its up to the AU to dezipper the parameter change
if it should be (that is, you never want it to just jump
internally because it would cause a glitch or some such)...
Well, but of what use are the begin/end gesture events then,
if not to notify the host
that
any AUParameterSet calls between them are to be
interpreted as sampled points along a continuous path?
--smb
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
------------------------------------
Stefan Gretscher
plug-in development & 3rd party developer support
phone: (+49)-4101-495-586 (Central European Time)
AU developer support: email@hidden
TDM developer support: email@hidden
Apple GmbH
Geschäftsführung: Georges Guyon de Chemilly
Sitz der Gesellschaft: München
Amtsgericht München, HRB 66158
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@polytechnique.org
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden