Re: Does anybody implement 'reset' in their Instrument Audio Units?
Re: Does anybody implement 'reset' in their Instrument Audio Units?
- Subject: Re: Does anybody implement 'reset' in their Instrument Audio Units?
- From: William Stewart <email@hidden>
- Date: Tue, 2 Mar 2010 17:03:30 -0800
ok - so I think I'd rather not conflate the two issues; I want to focus on Reset.
On Mar 2, 2010, at 4:10 PM, Jim Wintermyre wrote:
> At 1:02 PM -0800 3/2/10, William Stewart wrote:
>> On Mar 2, 2010, at 12:47 PM, Jim Wintermyre wrote:
>>
>>> At 12:42 PM -0800 3/2/10, James McCartney wrote:
>>>> On Mar 2, 2010, at 12:35 PM, Jim Wintermyre wrote:
>>>>
>>>>> and in some cases the tail time might not even be known (eg. resonant filter).
>>>>
>>>> The ring time of a filter can be computed from its Q.
>>>
>>> I thought in some IIR cases it couldn't, but honestly it's been so long that I don't remember. What I do know is that we have several plugins that have additional nonlinearities/randomness/other DSP weirdness/etc etc that make it impossible to exactly know the tail time. So the original point remains the same.
>
>> > In our case, this all comes into play because it can be problematic if the host stops calling the plugin without some sort of notification that is about to do so, because we are running on hardware and have more complications with state management vs. normal host-based plugins. So it is useful to either be able to tell the host "always call me" (eg. infinite tail time), or "notify me if you're going to stop calling me" (eg. sending AUReset). But then we're back to the original problem where not all plugins implement AUReset properly, so the host mfg may not want to call that... or they have to special-case it for different plugins! Sigh. The joys of plugin/host development. :)
>>
>> Well, that raises an interesting point.
>>
>> First: Reset is not defined to be something that you would call before you stop.
>
> Some hosts do...
This is not "as wrong" as a plugin not implementing it, its just unnecessary to call it at this time
>
>> It is called as a prelude to when you would start again. Maybe we should add a property along the lines of "i need to know when you are going to stop calling me"...?
>
> Yes, that would be useful for us in particular. I suggested AUReset because that is the only thing in the current spec that is close to what we need. But then that tends to dilute the meaning of AUReset, resulting in different hosts assuming they can use it in different ways (similar to the confusion with AU bypass which we discussed a while back).
>
> The problem, of course, is the chicken-and-egg issue where even if you add it, we have to get hosts to adopt it before we can count on it, and this sort of thing is always a hard sell if it isn't required for host-based plugins.
Yes, I think that is a fair enough assessment. Part of the issue here is that we are already seeing Reset not being implemented correctly. If we alllow for this "call me all the time" notion, then we'll have a bunch of AUs just setting this and being done. Once that is set on one AU in a chain, all have to be called, so it quickly devolves into killing the ability for a host to manage load.
Bill
_______________________________________________
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