• 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: AU MIDI events scheduled beyond next rendering slice
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AU MIDI events scheduled beyond next rendering slice


  • Subject: Re: AU MIDI events scheduled beyond next rendering slice
  • From: Urs Heckmann <email@hidden>
  • Date: Thu, 7 Aug 2003 00:28:44 +0200

Am Mittwoch, 06.08.03, um 21:54 Uhr (Europe/Berlin) schrieb Bill Stewart:

On Wednesday, August 6, 2003, at 09:04 AM, Marc Poirier wrote:

Urs' question about AU MIDI event scheduling reminded me of another
question that I've been meaning to ask:

A few weeks ago, I read a message from Urs on the osxaudio.com forums
saying that AU hosts could send MIDI events to AUs with frame offset
positions that are greater than the size of the next rendering slice.

That was certainly not our intention with these offsets.

But (and the documentation is I think clear on this), the frame offsets are always described as being offsets into the NEXT slice of audio that is to be rendered (and for ramped parameters, they are rescheduled for each slice), so I'd have to Urs was incorrect in his assertion.

Oh. Hmm.

Fact is, my first builds of Zoyd in Logic got me completely paniced. - It worked fine when being played on a selected track, but when playing back from recorded midi in unselected tracks, it left out a whole lot of notes. Hehe, Niko already sent his apologies 8-)

I solved this by making my queue relative - counting down timestamps of events and use them when they are zero, rather than waiting till the number of processed samples reaches them, another reason for having a short queue...


So
in other words, some MIDI events might not actually be for the next
rendering slice but for some rendering slice beyond that one, and so AUs
need to keep a "future events" queue for those. Urs said that Logic does
this sometimes, for example.

Is this true? And is it considered acceptable for an AU host to do this?

I'd suggest that Logic might want to fix this, as we don't expect this, and these parameters are then probably not being scheduled correctly. It is always intended that the buffer offset is only to the next buffer - the AU isn't expected to "sequence" :) events beyond that.

Okay, dunno, maybe it's already done in 6.1? - While we're at it, please make it thread safe then as well.

Cheers,

;) Urs

"anything but strictly synchronising the 2 (processEvents and process, in that order) means calling for trouble..." [Karl Steinberg]
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
References: 
 >Re: AU MIDI events scheduled beyond next rendering slice (From: Bill Stewart <email@hidden>)

  • Prev by Date: Re: Threading
  • Next by Date: Re: AU MIDI events scheduled beyond next rendering slice
  • Previous by thread: Re: AU MIDI events scheduled beyond next rendering slice
  • Next by thread: Re: AU MIDI events scheduled beyond next rendering slice
  • Index(es):
    • Date
    • Thread