VST_EXPORT AEffect* VSTPluginMain (audioMasterCallback audioMaster)
{
// Get VST Version of the Host
if (!audioMaster (0, audioMasterVersion, 0, 0, 0, 0))
return 0; // old version
// Create the AudioEffect
AudioEffect* effect = createEffectInstance (audioMaster);
if (!effect)
return 0;
// Return the VST AEffect structur
return effect->getAeffect ();
}
1>------ ビルド開始: プロジェクト: GUI, 構成: Release Win32 ------
1> vstcontrols.cpp
1>C:\vstsdk2.4\pluginterfaces/vst2.x/aeffect.h(296): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188) : 'strncpy' の宣言を確認してください。
1>C:\vstsdk2.4\pluginterfaces/vst2.x/aeffect.h(306): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(175) : 'strncat' の宣言を確認してください。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(707): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : 'sprintf' の宣言を確認してください。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(1408): error C2664: 'CreateWindowExW' : 2 番目の引数を 'const char [5]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(1420): error C2664: 'strcpy' : 1 番目の引数を 'WCHAR [32]' から 'char *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(1864): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : 'strcpy' の宣言を確認してください。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(1868): error C2664: 'GetWindowTextW' : 2 番目の引数を 'char [255]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(1869): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(105) : 'strcpy' の宣言を確認してください。
1>..\..\..\..\..\..\..\vstsdk2.4\vstgui.sf\vstgui\vstcontrols.cpp(3098): error C2664: 'AppendMenuW' : 4 番目の引数を 'char *' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
1> MyVstGui2.cpp
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
-------------------------------------------------
- all the MIDI events for the next audio buffer will be sent in one processEvents() call, rather than multiple calls.
-------------------------------------------------
また、processEvents()関数の呼び出しですが、マニュアルには下記のように記載されておりますので http://www39.atwiki.jp/vst_prog/pages/77.htmlの解釈で間違いないと考えております。
> Events are always related to the current audio block. For each process cycle,
> processEvents() is called once before a processReplacing() call (if new events are available).
動作確認に使っているVSTホストはACID Music Studio 10.0で、調べてみるとどうやら前のVSTに存在しなかったパラメータについても
プロジェクトファイルを開いたタイミングでsetParameter関数が設定値0.000000で呼ばれているようです(コンストラクタ内では値は1.000000で初期化しています)。
ありがとうございます。
[デスクトップ C++ x86 および x64 用 Windows 10 SDK (10.0.15063.0)] 機能を選択して、何度か追加しようとしたのですが、なぜかチェックを入れて変更をしても追加されなかったため、
(他のバージョンのものは選択したらちゃんと追加されたのですが、なぜかこれだけ。)
VSTSDK3.6.6を試してみたところ、ライブラリファイルが作成でき、また、
サンプルに入っていたものをビルドしてみたところ、それらしき者ができたため、動作が確認できたものと思われます。