サンプルソースファイルのビルド方法
ここでは本Webサイトの各ページからダウンロードできるVST3.6のサンプルソースファイルをビルドし、.vst3ファイル(VST3プラグイン)を作成する方法について簡単に説明いたします。
Visual Studio 2017の画面となっていますが、Visual Studio 2019でも大きな違いはありませんので同じ手順で問題ないと思います。
なお、事前に下記を参考に開発環境の準備、基本ライブラリの作成、および、VST3プロジェクトの作成が完了してください。
ファイルのダウンロードと解凍
まず、各ページからサンプルのソースファイルをダウンロードしてください。
保存先フォルダはどこでも大丈夫です。ダウンロード完了後は、.zipファイルを解凍(展開)してください。
プロジェクトフォルダへのコピー
次にVST3プロジェクトのソースファイルフォルダを開きます。
VST3プロジェクトのソースファイルフォルダは標準では「C:\Users\<ユーザ名>\source\repos\<プロジェクト名>\<プロジェクト名>」になります。(プロジェクト作成時に変更した場合は、そちらに読み替えてください。)
そして、サンプルソースファイルを解凍(展開)したフォルダからサンプルソースファイル(.cpp、.hなど)をすべてコピーします。
サンプルソースファイルのプロジェクトへの追加
サンプルソースファイルのコピー後はVisual StudioでVST3プロジェクトを開きます。
VST3プロジェクトのフォルダにある.slnファイルをダブルクリックしてVisual Studioを起動します。
Visual Studioが起動したら、「ソリューションエクスプローラー」を開きます。
標準で開かれていると思いますが、画面上になければメニューから「表示」→「ソリューションエクスプローラー」で開いてください。
そして、「ソリューションエクスプローラー」の「ソースファイル」フォルダにサンプルソースファイルをドラッグ&ドロップします。
(「ソースファイル」フォルダでなくてもかまいません。.cppや.h等のファイル種別ごとにフォルダを分けてもかまいません。)
プロジェクトのビルド
サンプルソースファイルの追加が終わればいよいよ.vst3ファイルを作成する段階に入ります。
まず、VST3プロジェクトの設定が「Debug」の「x64」となっていることを確認してください。
そして、メニューから「ビルド」→「<プロジェクト名>のビルド」を選んでビルドを実行します。(今回はプロジェクト名が「ビルド説明用」となっていますので、「ビルド説明用のビルド」となっています。)
ビルドを実行するとその結果が出力ウィンドウに表示されます。エラーがないことを確認してください。
VST3プロジェクトフォルダに「\x64\debug」というフォルダが作られ、その配下に.vst3ファイルが完成していれば成功です。
(今回はプロジェクト名が「ビルド説明用」になっていますので、完成した.vst3ファイルは「ビルド説明用.vst3」になっています。)
C:\Users\<ユーザ名>\source\repos\<プロジェクト名>\x64\debug\<プロジェクト名>.vst3
VST3プラグインフォルダへの移動
作成した.vst3ファイルを下記のVST3専用フォルダへの移動・コピーし、ホスト(DAW等)から利用できるようにします。
(フォルダがなければ作成します。移動・コピー時は管理者権限が必要との確認ダイアログが表示される場合があります。)
C:\Program Files\Common Files\VST3\
ここで作成しているサンプルのほとんどは、上記フォルダに.vst3ファイルを移動・コピーすれば利用できますが、「ツールを使ったVST GUIの作成方法」など、一部のサンプルは「VSTプラグインのファイル・フォルダ構成の仕様」に合わせる必要があります。
VSTプラグインのファイル・フォルダ構成の仕様はこちら → VSTプラグインのファイル・フォルダ構成
なお、上記フォルダにコピーしたにもかかわらず、作成したVSTプラグインが認識されない場合は、「VST3プロジェクトの作成」の補足にある、「モジュール定義ファイル追加について」を試すか、「プラグイン情報の設定」のコードの中のBEGIN_FACTORY_DEF~END_FACTORYまでを「extern “C” {}」で括ってみてください。
最後に
以上でサンプルソースファイルをコンパイル・ビルドし、.vst3ファイルを作成することができます。
VST3プラグイン作りの情報はこちらにもございます → はじめてのVST3プラグイン作り
ご指摘やご質問などがございましたら、コメント欄か掲示板、Twitterでご連絡いただければと思います。
■掲示板
■Twitterアカウント:@vstcpp URL:https://twitter.com/vstcpp
エラーが出ました。
LNK1104 ファイル ‘base.lib’ を開くことができません。
書き込みありがとうございます。
VST3開発環境の準備(https://www.utsbox.com/?p=1287)で基本ライブラリは作成できていますでしょうか?
できているのであれば、プロジェクト設定(https://www.utsbox.com/?p=1319)でライブラリディレクトリか追加の依存ファイルの設定が抜けている可能性があります。
一度ご確認ください。
すみませんどうしても以下のエラーが出てしまいます。プロジェクト設定の方でモジュール定義ファイルの確認もしたのですが..。
「LNK1104 ファイル ‘vst3.def’ を開くことができません。」
と表示されてしまいビルドできません。どのように対処したらよいでしょうか?
ソースはこちらのサイトの最小構成のVST3を使用しています。
書き込みありがとうございます。
プロジェクト設定の指定が間違っているか、保存場所が違う可能性があります。
まず、プロジェクト設定(https://www.utsbox.com/?p=1319)の「プロジェクト設定の変更」で「リンカー」→「入力」→「モジュール定義ファイル」が「./vst3.def」になっていることを確認してください。
頭の「.(ドット)」が抜けているなど誤記にご注意ください。
次に「vst3.defファイル」の保存場所を確認してください。保存場所はソースファイルフォルダと同じ場所で、Visual Studioの標準では「C:\Users\<ユーザ名>\source\repos\<プロジェクト名>\<プロジェクト名>」になります。
なお、ファイルの拡張子にもご注意ください。拡張子が表示されておらず、ファイル名が「vst3.def.txt」となっていないことをご確認ください。(Windowsの標準では「.txt」は非表示になっています。)
返答ありがとうございます、vst3.defをソースファイルに含めることで上記のエラーは出なくなりました。
しかし今度は「include ファイルを開けません。’public.sdk/source/main/pluginfactoryvst3.h’:No such file or directory」と出てきてしまい進めずにいます。
フォルダを確認したところpluginfactoryvst3.hは存在せずpluginfactory.hは存在し、そのファイルをインクルードしてもダメでした。
最新版のSDKをダウンロードしたはずなのですが…。
度々申し訳ありません、最初のところでつまづいてしまい悩ましいです。
先ほど本を注文いたしました、届くのが楽しみです。
NBFさん
返信が遅れました。
該当のエラーですと、プロジェクト設定(https://www.utsbox.com/?p=1319)の「プロジェクト設定の変更」で「VC++ディレクトリ」→「インクルード ディレクトリ」の設定と実際のフォルダの位置が合っていない可能性があります。
ダウンロードしたSDKのフォルダの場所と設定があっているかご確認ください。
なお、ファイルは「pluginfactory.h」で問題ありません。(「pluginfactoryvst3.vst3」は古いSDKバージョンのファイル名になります。)
ありがとうございます、掲示板の方で返信致しました。
返答ありがとうございます。vst3.defをソースファイルに含めることでエラーメッセージが出なくなりました。
しかし今度は「include ファイルを開けません。’public.sdk/source/main/pluginfactoryvst3.h’:No such file or directory」というメッセージが出るようになってしまいました。
フォルダを確認したところ確かにpluginfactoryvst3.hは存在せず、pluginfactory.hがあったのでそれをインクルードしてみましたがダメでした。
最新版のSDKをダウンロードしたはずなのですが…。
最初のところでつまづいてしまい、度々申し訳ありません。
先ほど本を注文いたしました、届くのが楽しみです。
初めてのVST自作に参考にさせていただいております。
紆余曲折ありながらどうにかプロジェクトのビルドは正常終了したのですが、
C:\Users\\source\repos\\x64\debug\を確認したところ、.vst3ファイルが作成されていませんでした。
その代わり.dllファイルが作成されていました。
現在使用しているVC++は2019のもので、プロジェクト設定方法の全般→ターゲットの拡張子という項目はなく、”ターゲット名”や”構成の種類”などありました。現状は”構成の種類”の項目において”ダイナミックライブラリ(.dll)”と設定されているので、ターゲットの拡張子を変更するにはここなのだろうかと予想しているのですが、そのような選択ができないようでした。
あまり理解できていないまま進めているため検討違いなことをしているかもしれないのですが、
何か参考になる意見がありましたら、ぜひご教授いただけないでしょうか?
すみません解決しました。
全般ではなく詳細→詳細プロパティにターゲットの拡張子の項目がありました。
.vst3に変更したところ、ちゃんと.vst3ファイルが作成されました。
お騒がせしてすみません