高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先



*QTMA 06 - QuickTime Music Architecture ヘッダの更新

(96 年 8 月 21 日)

Q: 次の QTMA 項目がなくなっていたり、あっても変更されていることに気づきました。

   * TuneResume
   * TuneFlush
   * TuneGetState
   * _StuffXNoteEvent

これらの項目の現在のステータスについて詳しいことを教えてください。

また、_EventLength(x) が、なぜ qtma_EventLengthForward(xP,ulen)qtma_EventLengthBackward(xP,ulen) になったのかも知りたいのですが。

A: TuneResume、TuneFlush、TuneGetState の各呼び出しは定義が貧弱であり、実際、QuickTime 2.0/2.1 ではインプリメントされませんでした。これらの呼び出しはヘッダから削除されています。

QuickTime 2.5 がリリースされる直前まで、_StuffXNoteEvent はマクロを生成するヘッダファイルの中で修正を加えられていましたが、残念なことに、最終的にリリースされたヘッダの中には組み込まれませんでした。しかし、どうしても必要な場合は、古いヘッダファイルからそのマクロをコピーすることができます。次に、その内容を示します (行が長すぎて折り返されていますから注意してください)。


#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) <

 ご質問の _EventLength(x) と 2 つの新しいマクロについてですが、いくつかの新しいイベントタイプがサポートされたため、_EventLength(x) は変更せざるをえませんでした。ミュージックイベントの先頭のロングワードと末尾のロングワードから長さを取得するため、個別のマクロが必要だったのです。通常は、qtma_EventLengthForward を使うことになります。


[ Technical Q&A's : Graphics & Media : QuickTime : QuickTime Music Architecture : QTMA 06 ]