• 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: GarageBand too clever by half.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GarageBand too clever by half.


  • Subject: Re: GarageBand too clever by half.
  • From: Stefan Gretscher <email@hidden>
  • Date: Wed, 8 Feb 2006 16:19:17 +0100

In addition to Kellys general remarks about inNumberFrames and MaxFramesPerSlice, here's an explanation why you're seeing the described rendering behaviour with GarageBand:

Just like Logic, GarageBand has the concept of the currently selected "live"-track which is always rendered with a lower buffer size to keep the latency down for comfortably live-playing the instrument living on this track. The non-live tracks OTOH are rendered at a larger buffer size to minimize CPU load.

Regarding your scheduler, won't it work if you set it up its caching to handle MaxFramesPerSlice-sized buffers? As Kelly wrote, you'll never get more samples than this, only as much or less.

Best,
Stefan

Am 08.02.2006 um 11:02 schrieb Ian Kemmish:

I have observed that when GarageBand calls my MusicDevice AU's Render method, the first three calls have inNumberFrames equal to 1024, and the fourth and subsequent calls have it equal to 256.

Is it expected that calling Render with varying values for inNumberFrames is a rare or a common thing to happen?

My AU maintains a scheduler for internal events, which has to handle potentially thousands of events from less than a millisecond up to many minutes. When it comes to implementing the event queue, I have the choice of either aggressive cacheing or many expensive sorting operations. I opted for aggressive cacheing -- but this means that responding to changes in the value of inNumberFrames is a *very* expensive operation. If I need to sweat over improving this, I'd like to know....

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ian Kemmish 18 Durham Close, Biggleswade, Beds SG18 8HZ
email@hidden Tel: +44 1767 601361 Mob: +44 7952 854387
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

------------------------------------ Stefan Gretscher

plug-in development & 3rd party plug-in support
Logic Pro team, Apple Computer

email: email@hidden
phone: (+49)-4101-495-586
(Central European Timezone)


_______________________________________________ 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: 
 >GarageBand too clever by half. (From: Ian Kemmish <email@hidden>)

  • Prev by Date: Re: kAudioUnitErr_Unauthorized and auval
  • Next by Date: Re: Pinning IO Thread to a particular processor
  • Previous by thread: Re: GarageBand too clever by half.
  • Next by thread: Rosetta and AudioUnits
  • Index(es):
    • Date
    • Thread