Re: Sample-accurate parameter automation? Possibe at all with AUs?
Re: Sample-accurate parameter automation? Possibe at all with AUs?
- Subject: Re: Sample-accurate parameter automation? Possibe at all with AUs?
- From: Greg X <email@hidden>
- Date: Wed, 12 Mar 2008 01:24:03 -0700 (PDT)
Mr. Stewart!
Thank you for taking the time to answer.
My AU inherits from MusicDeviceBase, since it is a
synthesizer plugin, not an effect.
How can I take advantage of this automatic render
buffer splitting behavior?
I also want to extend my synthesizer to be able to
accept an audio signal and use it as a modulation
source in its modulation matrix.
My original idea was to move to AUMIDIEffectBase.
- Is it the move I need to do in order to take
advantage of the automatic buffer splitting?
- Are MIDI events also splitting up the buffer or I'll
still need to implement MIDI event scheduling and
pull/process the MIDI events with sample offsets when
rendering the next slice? (the buffer is already
automatically split up on parameter change boundaries)
- Is AUMIDIEffectBase useable to implement a fully
featured synthesizer? (I'm handling MIDI events
myself, I don't need the special calls for note on and
such)
Regards,
Greg1X
p.s.: Thanks a lot to everyone to answering to my
questions!
--- William Stewart <email@hidden> wrote:
> Yes. And Stephen's general description is right..
>
> As for a stream of parameter events... we had this
> notion in general
> sometime ago and we even defined in specific format
> type for this kind
> of control stream (see CoreAudio/CoreAudioTypes.h)
>
> However, there didn't seem to be a general interest
> in providing a
> sample by sample parameter stream, so we've
> basically not done
> anything further on it.
>
> Audio units in general are pretty agnostic about
> what format they see
> on given buses, so its something we could add if
> there was sufficient
> interest from both AU and host app developers
>
> Bill
>
> On Mar 11, 2008, at 3:15 PM, Brian Willoughby wrote:
>
> > On Mar 11, 2008, at 15:06, Kevin Dixon wrote:
> >>> The answer lies in the source code for AUBase
> and AUEffectBase, or
> >>> perhaps some of the others. I believe it is
> AUEffectBase which has
> >>> optional code to split the render process into
> chunks. Without
> >>> sample-accurate parameters, you always get a
> full buffer and process
> >>> it at once. But with sample-accurate parameter
> scheduling,
> >>> AUEffectBase will calculate the points within
> the buffer where the
> >>> parameter value changes to a new value. Then,
> your normal render
> >>> will be called with a small chunk of the buffer,
> just the part where
> >>> the parameter remains constant. In this case,
> you still just call
> >>> GetParameter once at the beginning of your
> render, but you'll be
> >>> called again to render the next parameter value.
> >>
> >> So given this information, if an AU inherits from
> AUEffectBase,
> >> then as a
> >> host, you could schedule parameter changes and
> then by calling
> >> render, it
> >> would take care of itself by splitting the render
> up at the scheduled
> >> points?
> >>
> >> -Kevin
> >
> > I believe the answer is 'yes'
> >
> > I also think you have phrased the question
> perfectly. i.e. it seems
> > to be the responsibility of the AU to handle
> breaking down buffers
> > for sample-accurate parameters. Unless I'm wrong,
> the AU Host is
> > apparently only required to provide the
> information necessary, but
> > not to actually break down the buffers or anything
> like that.
> >
> > Brian Willoughby
> > Sound Consulting
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
_______________________________________________
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