Hatena::ブログ(Diary)

<s>gnarl,</s>技術メモ”’<marquee><textarea>¥ このページをアンテナに追加 RSSフィード

2007-04-26

Winamp plugin開発おぼえがき

必要なもの:Winamp SDK

公式なドキュメントがぜんぜんないみたいなのでサンプルとか参考にしつつ。Forumに結構な蓄積がされてるのではまったら検索するとなんかしら出てくる。

generalプラグインの雛形はこちら: Empty general purpose plug-in project. - Winamp Forums

現在再生中の曲名を取得する方法はBeInteractive! [MSN Messenger7 曲名表示プラグイン for winamp]のソースを参考にした。というかソースの一部をパクった。

プラグインMFCを使用することは可能だが、Winampから呼ばれる関数の頭に

AFX_MANAGE_STATE(AfxGetStaticModuleState());

をつけるのを忘れないように。

Twitterとの通信については404 Not Foundを参考にした。というかソースの一部を

Winampプラグインが認識されない場合に想像されること:

  • 関数エクスポートに失敗している(general purposeならwinampGetGeneralPurposePlugin)
  • 関数エクスポートできているが、呼び出し規約が違っている(extern "C"必須)
  • 必要なDLLが足りない
    • DLLエラーでプラグインがロードできない場合、*何のエラーメッセージも出さずにスルーされます*
    • 今回はこの仕様+MFCの非互換地獄ではまった。
    • 大人しくスタティックリンクしとけ!