• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Sample-accurate parameter automation? Possibe at all with AUs?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: Sample-accurate parameter automation? Possibe at all with AUs?
      • From: William Stewart <email@hidden>
References: 
 >Re: Sample-accurate parameter automation? Possibe at all with AUs? (From: William Stewart <email@hidden>)

  • Prev by Date: Re: Error setting callback function
  • Next by Date: Re: getting 'kAudioDevicePropertyBufferFrameSize' may reflect invalid values
  • Previous by thread: Re: Sample-accurate parameter automation? Possibe at all with AUs?
  • Next by thread: Re: Sample-accurate parameter automation? Possibe at all with AUs?
  • Index(es):
    • Date
    • Thread