foobar2000 is 何?
foobar2000(フーバーにせん)は、Peter Pawlowskiが開発したフリーウェアのメディアプレーヤーである。ファイルの再生の他、タグ編集機能、Media Libraryと呼ばれるタグ情報のデータベース、ファイルの管理機能などを持つ。
必要な物とか
Visual Studio 2013 Professionalでプラグインを作成しようとした時に、少しコケたのでメモ。
必要なもの
- foobar2000 SDK (最新版のSDK 2014-07-02を使用しました)
- Visual Studio 2013 Professional
作業
ダウンロードしたSDKを適当な場所へ解凍。
Visual Studio 2013 (以下、VS2013)を開きます。
[ファイル] -> [新規作成] -> [プロジェクト] でWin32 コンソール アプリケーションを作成。
foobar2000自体がプラグインを読み込む際、名前が foo_****
でないと読み込まないので注意。
フォルダ構成が以下のようになっているはずなので、 foo_testplugin
フォルダに SDK-2014-07-02
フォルダをコピー
foo_testplugin
| foo_testplugin.sdf
| foo_testplugin.sln
|
\---foo_testplugin <- このフォルダにSDKをコピー
foo_testplugin.cpp
foo_testplugin.vcxproj
foo_testplugin.vcxproj.filters
ReadMe.txt
stdafx.cpp
stdafx.h
targetver.h
SDKフォルダをコピー後、フォルダ構成は以下のようになっていれば問題ありません。
foo_testplugin
\---foo_testplugin
\---SDK-2014-07-02
+---foobar2000
| +---ATLHelpers
| +---foobar2000_component_client
| +---foo_input_validator
| +---foo_sample
| +---helpers
| +---SDK
| \---shared
\---pfc
次に、ソリューションエクスプローラー内の [foo_testplugin] -> [プロパティ] をクリックし、プロパティページを開きます。
ウィンドウ左上の構成がすべての構成になってるのを確認後、 [構成プロパティ] -> [全般] -> [構成の種類] を [ダイナミック ライブラリ (.dll)] に変更。
[構成プロパティ] -> [C/C++] -> [SDLチェック] を [いいえ (/sdl-)] に変更
ウィンドウ左上の構成をDebugにし、 [構成プロパティ] -> [C/C++] -> [コード生成] -> [ランタイム ライブラリ] を [マルチスレッド デバッグ (/MTd)] に変更。
ウィンドウ左上の構成をReleaseにし、 [構成プロパティ] -> [C/C++] -> [コード生成] -> [ランタイム ライブラリ] を [マルチスレッド (/MT)] に変更し、完了。
ソリューションエクスプローラー内のソリューションを右クリックし、 [追加] -> [既存のプロジェクト] をクリックし、下記のプロジェクトを追加
SDK-2014-07-02\foobar2000\SDK\foobar2000_SDK.vcxproj
SDK-2014-07-02\foobar2000\foobar2000_component_client\foobar2000_component_client.vcxproj
SDK-2014-07-02\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj
SDK-2014-07-02\pfc\pfc.vcxproj
追加後、それぞれのプロジェクトを右クリックし、 [コンパイラとライブラリのアップグレード] をクリック。
メインのプロジェクト(foo_testplugin)を右クリックし、 [プロパティ] をクリック。
[共通プロパティ] -> [新しい参照の追加] で4つ全てにチェックを入れ、 [OK] をクリック。
SDK-2014-07-02\foobar2000\shared\shared.h
を開き、22行目を #include <vssym32.h>
に変更。
SDK-2014-07-02\foobar2000\helpers\helpers.h
を開き、43行目の #include "CPowerRequest.h"
をコメントアウト。
メインのプロジェクト(foo_testplugin)を右クリックし、 [プロパティ] をクリック。
画面左上の構成がすべての構成になっていることを確認し、 [構成プロパティ] -> [リンカー] -> [入力] -> [追加の依存ファイル] を SDK-2014-07-02\foobar2000\shared\shared.lib
に変更。
stdafx.h
の末尾に下記を追加
#include "SDK-2014-07-02/foobar2000/SDK/foobar2000.h"
foo_testplugin.cpp
を以下のように書き換え。
今回は何もしないプラグインです。
// foo_testplugin.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
DECLARE_COMPONENT_VERSION(
"test plugin",
"0.1",
""
);
[ビルド] -> [ソリューションのビルド] をクリックしビルドされたら完了。 foobar2000のcomponentsフォルダにコピーし、動作するかを確認。
参考 :: 総合スレ - foo_streamer