Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > QuickTime > Audio >

QuickTime Music Architecture Header Update

Q I noticed the following QTMA items are either missing or changed:
  • TuneResume
  • TuneFlush
  • TuneGetState
  • _StuffXNoteEvent

Can you provide me with more information on their current status?

I would also like to know why _EventLength(x) is now qtma_EventLengthForward(xP,ulen) and qtma_EventLengthBackward(xP,ulen).

A The calls, TuneResume, TuneFlush, and TuneGetState were poorly defined, and in fact were unimplemented in QuickTime 2.0/2.1. They have been removed from the headers.

In the last few hours before we called QuickTime 2.5 final, _StuffXNoteEvent was repaired in the header file that was to generate that macro. Unfortunately, it didn't make it into the final release header. However, you can copy the macro from the older header file if needed. It is (pardon the line wrap):

#define qtma_StuffXNoteEvent(w1, w2, part, pitch, volume, duration)
w1 =     (kXNoteEventType << kXEventTypeFieldPos)|((long)(part)
<< kXEventPartFieldPos)|((long)(pitch) << kXNoteEventPitchFieldPos),
w2 =    (kXEventLengthBits << kEventLengthFieldPos)|((long)(duration)
<<  kXNoteEventDurationFieldPos)|((long)(volume) <<kXNoteEventVolumeFieldPos)

Regarding your question about _EventLength(x) and the two new macros, _EventLength(x) had to be changed because of some new event types. We needed separate macros to determine length from the first longword of a music event and from the last. Typically, you'll be using qtma_EventLengthForward.

[Aug 21 1996]