VST3のプロジェクトの作成
前回は開発環境の準備方法を記載いたしました。
今回はVST SDKでVST3開発用のVisual Studioプロジェクトを作成方法について記載いたします。
なお、OSはWindows 10 64bitで、Visual Studio 2019 CommunityとVST SDK 3.7.1を使用することを前提としています。
また、VST基本ライブラリは作成済みであることを前提としております。
プロジェクトの作成
まずはVisual Studioのプロジェクト自体を作成します。
Visual Studioを起動し、「新しいプロジェクトの作成」を選びます。
開いたプロジェクトの作成画面で「Windows デスクトップ ウィザード」を選びます。
開いたプロジェクトの構成画面でプロジェクト名を入力し、「作成」ボタンを押します。
ここでは、プロジェクト名を「MyVstProject」としていますが、何でもかまいません。
Windows デスクトッププロジェクト画面でアプリケーションの種類を「ダイナミック リンク ライブラリ(.dll)」とし、追加オプションの「空のプロジェクト」にチェックを入れ、「OK」ボタンを押します。
項目 | 値 | |
---|---|---|
アプリケーションの種類 | ダイナミック リンク ライブラリ(.dll) | |
追加オプション | 空のプロジェクト | チェックあり |
プリコンパイル済みヘッダー | チェックなし | |
シンボルのエクスポート | チェックなし | |
MFCヘッダー | チェックなし |
これでVisual Studioのプロジェクトが作成されますので、Visual Studioのウィンドウの上部にあるソリューション構成を「Debug」「x64]に設定しておきます。
必要なソースファイルの追加
まずはじめにVST3開発で必要なソースファイルをSDKから追加します。
メニューから「プロジェクト」→「既存の項目の追加」を選び、下記のファイルを追加します。
ここではVST SDKのフォルダ「VST_SDK」がCドライブ(C:\)に保存されていることを想定しています。別の場所に保存している場合は、読み替えてください。
(VST SDKのバージョンが3.7.2以前の場合は、vst3sdkではなくVST3_SDKとなります。)
- C:\VST_SDK\vst3sdk\public.sdk\source\main\dllmain.cpp
プロジェクト設定の変更
次にプロジェクトの設定を変更します。
作成されたプロジェクトでVST開発を行うには、VST SDKのヘッダファイルや前回作成したVST基本ライブラリをプロジェクトで利用できるようにしなければなりません。
プロジェクト設定の変更(Debug版用)
まず、プロジェクトの設定を変更するためにメニューから「プロジェクト」→「プロパティ」を選択します。
開いたプロジェクトのプロパティページの上部で構成を「Debug」、プラットフォームを「x64」になっていることを確認し、下記の項目の設定を行います。
カテゴリ | 設定項目 | 値 | |
---|---|---|---|
詳細 | ターゲットの拡張子 | .vst3 | |
VC++ディレクトリ | インクルード ディレクトリ | C:\VST_SDK\vst3sdk C:\VST_SDK\vst3sdk\vstgui4 |
|
ライブラリ ディレクトリ | C:\VST_SDK\vst3sdk/out/build/x64-Debug/lib | ||
C/C++ | プリプロセッサ | プリプロセッサの定義 | VSTGUI_LIVE_EDITING=1 DEVELOPMENT=1 (すでに定義されているものは消さないこと) |
リンカー | 入力 | 追加の依存ファイル | base.lib sdk.lib sdk_common.lib pluginterfaces.lib vstgui.lib vstgui_support.lib vstgui_uidescription.lib |
インクルードディレクトリやライブラリディレクトリは前回 VST基本ライブラリを作成してから移動していない想定です。
(VST SDKのフォルダ「VST_SDK」がCドライブ(C:\)に保存されている想定。別の場所に保存している場合は、読み替えてください。)
VST SDKのバージョンが3.7.1以前の場合、一部作成されないライブラリファイルや追加で必要なファイルなどがありますので、補足についても参照ください。
上記の設定が完了したら「適用」ボタンをを押します。
プロジェクト設定の変更(Release版用)
続いて、Release用の設定も行います。
プロジェクトのプロパティページの上部の構成を「Release」、プラットフォームを「x64」にし、下記の項目の設定を行います。
カテゴリ | 設定項目 | 値 | |
---|---|---|---|
詳細 | ターゲットの拡張子 | .vst3 | |
VC++ディレクトリ | インクルード ディレクトリ | C:\VST_SDK\vst3sdk C:\VST_SDK\vst3sdk\vstgui4 |
|
ライブラリ ディレクトリ | C:\VST_SDK\vst3sdk/out/build/x64-Release/lib | ||
リンカー | 入力 | 追加の依存ファイル | base.lib sdk.lib sdk_common.lib pluginterfaces.lib vstgui.lib vstgui_support.lib vstgui_uidescription.lib |
設定が完了したら「OK」ボタンを押します。
VSTプラグインのディレクトリ
プロジェクトの設定とは直接関係ありませんが、作成したVST3プラグインは下記のVST3専用フォルダ配下への移動・コピーしなければ使えません。
(VST3専用フォルダ配下であれば、サブフォルダを作成してその中に開発したVSTプラグインを配置しても読み込むことができます。)
C:\Program Files\Common Files\VST3\
なお、上記のフォルダはデフォルトでは管理者権限でしか更新できないため、ご注意ください。移動・コピーをする際に書き込み確認のダイアログが出てきます。
また、プロジェクトのプロパティで、.vst3ファイルを直接 上記フォルダに出力(作成)しようとすると、更新権限がないためにビルドでエラーになる場合があります。
また、VST3プラグインファイル(.vst3ファイル)を保存する際のフォルダ構成も決められております。
詳細は「VSTプラグインのファイル・フォルダ構成」で説明しますが、操作画面(GUI)に画像を使用する場合は、このフォルダ構成に従う必要があります。
補足
以上でVST3開発用のVisual Studioプロジェクトを作成することができます。
ここでは古いバージョンのVST SDKを使用する場合について少し補足いたします。VST SDK 3.7.1を使用する場合は読み飛ばして問題ありません。
追加の依存ファイルについて
VST SDK 3.7.0以前のバージョンの場合、sdk_common.libは作成されませんので、プロジェクトに追加する必要はありません。
また、pluginterfaces.libについてもVST SDK 3.6.12以前のバージョンでは作成されませんので、同じくプロジェクトに追加する必要はありません。
モジュール定義ファイル追加について
VST SDK 3.7.0以前の場合、モジュール定義ファイル(.def)を作成する必要があります。
メモ帳などで下記の内容を記載し、「vst3.def」とファイル名を付けて保存することでモジュール定義ファイルが作成できます。
保存先はプロジェクトのソースコードなどが保存されているフォルダに保存してください。
1 2 |
EXPORTS GetPluginFactory |
また、メニュー「プロジェクト」→「プロパティ」でプロジェクト設定画面を開き、下記の設定を追加する必要があります。
カテゴリ | 設定項目 | 値 | |
---|---|---|---|
リンカー | 入力 | モジュール定義ファイル | ./vst3.def |
SDLチェックについて
VST SDK 3.7.0以前の場合、SDLチェックを行うとコンパイルに失敗することがあります。(標準でSDLチェックはオンになっています。)
SDLチェックはscanf()関数など、セキュリティ的に問題のある関数を使用している場合にエラーとする機能になります。
古いバージョンのVST SDKではこれらの関数を使用しており、このSDLチェックに引っかかり、コンパイルに失敗します。
エラーを回避してコンパイルするにはメニュー「プロジェクト」→「プロパティ」でプロジェクト設定画面を開き、下記の設定を追加する必要があります。
カテゴリ | 設定項目 | 値 | |
---|---|---|---|
C/C++ | 全般 | SDLチェック | いいえ(/sdl-) |
最後に
次回はじめてのVST3プラグインを作成いたします。
VST3プラグイン作りの情報はこちらにもございます → はじめてのVST3プラグイン作り
ご指摘やご質問などがございましたら、コメント欄か掲示板、Twitterでご連絡いただければと思います。
■掲示板
■Twitterアカウント:@vstcpp URL:https://twitter.com/vstcpp