*VSTi サンプル vstxsynth に GUI パネルを付けてみる [#pea5aff6]
vstxsynth は、VSTi、つまりシンセサイザーのサンプルプログラムです。
http://www.steinberg.net/en/company/3rd_party_developer.html
から VST Audio Plug-Ins SDK 2.4 をダウンロードすると中に入ってます。
しかしこのサンプルには GUI パネルが入っていません。
なので GUI パネルをつけてみようと思います。
**まず GUI 無し版をビルドしてみる [#eb96fb8f]
vstsdk2.4\public.sdk\samples\vst2.x\vstxsynth
にサンプルが入っています。
それを VisualStudio.NET2003 でビルドします。
プロジェクトファイルは win.vc2003 フォルダの
vstxsynth.vcproj を使用します。
プロジェクトファイルのフォルダを移動する場合は
[プロジェクト]-[プロパティ]の「C/C++」の「追加のインクルードディレクトリ」に
「vstsdk2.4」と「vstsdk2.4/public.sdk/source/vst2.x」を追加します。
ビルドすると vstxsynth.dll が作成されます。
これで GUI 無し版のサンプルは完成。
***GUI 無しの場合にプロジェクトに追加する SDK プログラム一覧 [#k905c815]
|追加のインクルードディレクトリ|追加するファイル|
|vstsdk2.4/public.sdk/source/vst2.x|aeffeditor.h|
|~|audioeffect.cpp|
|~|audioeffect.h|
|~|audioeffectx.cpp|
|~|audioeffectx.h|
|~|vstplugmain.cpp|
|vstsdk2.4|aeffect.h|
|~|aeffectx.h|
|~|vstfxstore.h|
**GUI を追加してみる [#xadee2b3]
GUI の SDK は vstsdk2.4\vstgui.sf\vstgui フォルダに入っています。
プロジェクトファイルのフォルダを移動する場合は上記の GUI 無しに加えて
[プロジェクト]-[プロパティ]の「C/C++」の「追加のインクルードディレクトリ」に
「vstsdk2.4\vstgui.sf\vstgui」を追加します。
GUI は AEffGUIEditor, CControlListener クラスを public 継承して作ります。
今回は EditorClass を作りました。(editor.cpp/hpp 参照)
VstXSynth::VstXSynth に
editor = new EditorClass ( this );
を追加してビルドするとただ表示するだけの GUI が作成されます。
***GUI 有りの場合にプロジェクトに追加する SDK プログラム一覧 [#sb594c95]
|追加のインクルードディレクトリ|追加するファイル|
|vstsdk2.4/vstgui.sf/vstgui|aeffguieditor.cpp|
|~|aeffguieditor.h|
|~|cfileselector.cpp|
|~|cfileselector.h|
|~|cscrollview.cpp|
|~|cscrollview.h|
|~|ctabview.cpp|
|~|ctabview.h|
|~|vstcontrols.cpp|
|~|vstcontrols.h|
|~|vstgui.cpp|
|~|vstgui.h|
|~|vstkeycode.h|
***ダウンロード [#abdc3386]
ソースファイルのみです。VisualStudio.NET2003 でビルドできます。
vstxsynth_gui フォルダと同じフォルダに vstsdk2.4 を置いて下さい。
#ref(vstxsynth_gui.zip)~
----
[[前に戻る>VST Plugin]]