Main

iTunes用SDKのヘルプが日本語であるものの、読みにくかったので自分なりに整理。
iTunes Visual Plug-ins

Main エントリポイント

OSStatus main(OSType message, PluginMessageInfo * messageInfo, void * refCon);

パラメータ:

message: メッセージの種類

  • kPluginInitMessage : このメッセージは、起動時にプラグインに送信されます。
  • kPluginCleanupMessage : このメッセージはiTunes終了直前にプラグインに送信されます。
  • kPluginIdleMessage : ビジュアルプラグインでは使用しません。

messageInfo: Plug-inで追加するパラメータのポインタ
refCon:

メッセージとパラメータの関係

メッセージパラメータ(messageInfo)
kPluginInitMessagemessageInfo->u【PluginInitMessage構造体】
kPluginCleanupMessagemessageInfoを無視する
kPluginIdleMessagemessageInfoを無視する

PluginInitMessage

Plug-inメインメッセージで起動時に送信されます。

struct PluginInitMessage {
    UInt32            majorVersion;    /* Input  iTunes APIのバージョン番号*/
    UInt32            minorVersion;    /* Input  iTunes APIのバージョン番号*/
    void *            appCookie;       /* Input  コールバックAPIに渡すパラメータ */
    ITAppProcPtr      appProc;         /* Input  コールバックAPIに渡すパラメータ */
    OptionBits        options;         /* Output プラグインはこのフィールドをゼロにします。*/
    void *            refCon;          /* Output (プラグインが記入します)*/
};
[an error occurred while processing this directive]