Re: AU, plugin tempo, musical time information
Re: AU, plugin tempo, musical time information
- Subject: Re: AU, plugin tempo, musical time information
- From: Paul Davis <email@hidden>
- Date: Wed, 4 Nov 2009 07:08:42 -0500
On Tue, Nov 3, 2009 at 10:36 PM, William Stewart <email@hidden> wrote:
> I think you are making this more complex than it is intended to be.
thank you for clarifying this. it would be nice to see the docs
updated to include some version of this sentence:
> by "changed" it is meant that *anything* about the transport that is not
> completely contiguous from the last state has changed from *when* you last
> asked.
as a side note, i wanted to add that in general i have found the AU
documentation very good when considering things from a plugin or
plugin author perspective. i have found it generally unhelpful when
considering things from the perspective of a host author. i understand
that there are more plugin authors than host authors, but i could not
have written Ardour's AU support without reading what little open
source code there is that relates to hosting (DFX stuff, for example),
without google uncovering ancient email on this mailing list from
logic authors trying to figure stuff out, and without a lot of
thinking *really hard* to try to find out what the model is. when you
remark "i think you are making this more complex then it is intended
to be", i think you are forgetting that how it is "intended to be" is
something that the team at apple has been on the inside of for quite
some time. once clarified, its clear the AU API represents a
relatively simplistic model of how things should be, but it operates
in an area that isn't inherently simple until the implicit assumptions
and design models are clear. The docs do a great job of making the
assumptions and design models clear for plugins, but much, much less
so for hosts. Specific examples: the way that the render callback
works is really conceptually different from the design in, say, VST
and I never came across any description that makes it clear that the
sequence is "host calls plugin's render method, which causes plugin to
call the hosts render callback to get buffer information". When I
first realized this, it seemed odd - the host has the buffer
information when it calls the plugin, so why not pass it in right
there. Now, a couple of years after this was implemented, the design
seems blindingly obvious. The documentation also, like the VST docs,
continues to make no reference to any kind of threading assumptions or
rules. Does it matter which threads call initialize, uninitialize,
render etc?
If I managed to miss a whole section of documentation, a pointer would
be great and I apologize for wasting time. Otherwise, on the off
chance that someone from Apple has some spare time, a section
somewhere in the AU docs about how to write an AU host or even a
complete albeit trivial example would be fantastic.
thanks,
--p
_______________________________________________
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
References: | |
| >AU, plugin tempo, musical time information (From: Paul Davis <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Doug Wyatt <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Richard Dobson <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Doug Wyatt <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Paul Davis <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: James McCartney <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Paul Davis <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: William Stewart <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: Paul Davis <email@hidden>) |
| >Re: AU, plugin tempo, musical time information (From: William Stewart <email@hidden>) |