VisualPluginHandler[iTunes SDK]
iTunesからのメッセージをハンドリングします。
メッセージハンドラの定義
ビジュアルプラグインのメッセージハンドラは、次のように定義されています。
OSStatus VisualPluginHandler(OSType message,
VisualPluginMessageInfo * messageInfo, void * refCon);
パラメータ
message : メッセージの種類 messageInfo : メッセージパラメータへのポインタ refCon :
概要:
メッセージ:
- kVisualPluginInitMessage
- ビジュアルプラグインを登録した直後に送信されます。refConパラメータはPlayerRegisterVisualPluginMessage.registerRefConで指定した値が入ります。プラグインはVisualPluginInitMessageのoptionsとrefConフィールドを記入して返します。
- kVisualPluginCleanupMessage
- iTunes終了直前に送信されます。ビジュアルプラグインで使用しているリソース(メモリ、ファイルなど)はこの時に解除します。
- kVisualPluginIdleMessage
- アイドルメッセージを要求した場合のみ定期的に送信されます。アイドルメッセージを要求
- kVisualPluginConfigureMessage
- ユーザがiTunesウインドウ右上の“オプション”ボタンをクリックした時に送信されます。 PlayerRegisterVisualPluginMessage.optionsを設定することによって使用可能となります。
- kVisualPluginEnableMessage
- kVisualPluginDisableMessage
- iTunesはすべてのビジュアルプラグインを使用可能にするので、このメッセージに対してはnoErrを返します。
- kVisualPluginShowWindowMessage
- ビジュアルエフェクトが実際に稼動した時に送信されます。ビジュアルエフェクトに必要なメモリ領域などはこの時に確保します。
- kVisualPluginHideWindowMessage
- ビジュアルエフェクトが停止された時に送信されます。ビジュアルエフェクトで使用したメモリ領域などはこの時に解除します。
- kVisualPluginSetWindowMessage
- ユーザがiTunesウインドウの大きさを変更した場合や、フルスクリーンモードを入/切した場合に送信されます。
- kVisualPluginRenderMessage
- 音楽再生中、登録時に指定した間隔で定期的に送信されます。
- kVisualPluginUpdateMessage
- アップデートイベントがあった時に送信されます。(この時、描画します)
- kVisualPluginPlayMessage
- iTunesが音楽トラックを再生した時に送信されます。
- kVisualPluginChangeTrackMessage
- 音楽トラックの情報が変更された時に送信されます。
- kVisualPluginStopMessage
- 音楽の再生が停止された時に送信されます。
- kVisualPluginSetPositionMessage
- 音楽トラックの経過時間が変わった時に送信されます。
- kVisualPluginPauseMessage,kVisualPluginUnpauseMessage
- iTunesは現在一時停止機能を停止と再生の組み合わせで実装しています。ビジュアルプラグインはこのメッセージに対してnoErrを返します。
メッセージとパラメータの関係
メッセージ | VisualPluginMessageInfo |
---|---|
kVisualPluginInitMessage | VisualPluginInitMessage |
kVisualPluginCleanupMessage | n/a |
kVisualPluginIdleMessage | n/a |
kVisualPluginConfigureMessage | n/a |
kVisualPluginEnableMessage | n/a |
kVisualPluginDisableMessage | n/a |
kVisualPluginShowWindowMessage | VisualPluginShowWindowMessage |
kVisualPluginHideWindowMessage | n/a |
kVisualPluginSetWindowMessage | VisualPluginSetWindowMessage |
kVisualPluginRenderMessage | VisualPluginRenderMessage |
kVisualPluginUpdateMessage | n/a |
kVisualPluginPlayMessage | VisualPluginPlayMessage |
kVisualPluginChangeTrackMessage | VisualPluginChangeTrackMessage |
kVisualPluginStopMessage | n/a |
kVisualPluginSetPositionMessage | VisualPluginSetPositionMessage |
kVisualPluginPauseMessage | n/a |
kVisualPluginUnpauseMessage | n/a |