2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VST3 VSTGUIのスタンドアロンライブラリについて

Last updated at Posted at 2021-08-26

VST3制作の過去記事一覧はこちら

音楽制作用DAWのプラグイン仕様VST3について調べました。今回はVSTGUIのスタンドアロンアプリについての説明です。
この記事はVST3プラグインを書く人向けの内容です。

TL;DR

  • VSTGUIはスタンドアロンで起動可能
  • スタンドアロンアプリのサンプルが用意されている
  • サンプルのビルドにはコツが必要
  • ただしビルドできても簡単にスタンドアロンのシンセアプリが作れるわけではない

背景

VST3に付属のGUIライブラリVSTGUIには、DAWのプラグインとしてではなくスタンドアロンで起動するアプリ用のライブラリが用意されています。公式ドキュメントによるとスタンドアロンライブラリはプレビュー版で今後変わる可能性があるとのことですが、せっかくなので調べてみました。なお、確認はVST3SDK3.7.3、VSTGUI4.10.1でおこなっています。

VSTGUIにはスタンドアロンライブラリのサンプルプログラムも同梱されています。しかしながらVST3SDKと一緒にVSTGUIをビルドしてもこれらはビルドされず存在自体に気づきにくくなっています。そのあたりの状況についても説明します。

実はVSTGUIはVST3SDKと独立したライブラリとなっています。つまりVSTGUI単独でコンパイルしてライブラリとして利用することができます。また、ライセンスもVST3SDKがGPLv3または"Proprietary Steinberg VST 3"なのに対し、VSTGUIはVSTGUIライセンス(三条項BSDライセンス)となっています。

サンプルアプリ

VSTGUIスタンドアロンライブラリの公式サンプルアプリは以下の4種です。

simple_standalone
st1.png
standalone
st2.png
mandelbrot
st3.png
Minesweeper
st4.png

ビルド方法

VST3SDKとVSTGUIを同時にビルドする方法(NG)

たとえばWindowsの場合、コマンドプロンプトで以下のようにするとVST3SDKとVSTGUIがビルドされますが、前述のとおりこれではサンプルのスタンドアロンアプリはビルドされません。

> cd VST_SDK
> mkdir build
> cd build
> cmake -G "Visual Studio 15 2017 Win64" ..\vst3sdk
> cmake --build . --config Release

本来であれば以下のように指定すればサンプルアプリもビルドされるはずなのですが、

> cmake -DVSTGUI_STANDALONE_EXAMPLES=ON -G "Visual Studio 15 2017 Win64" ..\vst3sdk

VST_SDK\vst3sdk\cmake\modules\SMTG_VstGuiSupport.cmakeの中で以下のようにわざわざOFFに指定するマクロを定義しており、これの影響でコマンドラインの変数定義が無視されてしまいます。

macro(smtg_enable_vstgui_support)
    set(VSTGUI_DISABLE_UNITTESTS 1)
    set(VSTGUI_STANDALONE_EXAMPLES OFF)
    set(VSTGUI_STANDALONE ON)
    set(VSTGUI_TOOLS OFF)

VSTGUIを単独でビルドする方法

解決方法としては、VSTGUIを単独でビルドするのが簡単です。この場合、何も変数定義を指定しなくてもサンプルプログラムがビルド対象になります。

> cd VST_SDK\vst3sdk\vstgui4
> mkdir build
> cd build
> cmake -G "Visual Studio 15 2017 Win64" ..
> cmake --build . --config Release

この手順でビルドすると、base64codecspeed.exe、GFXTest.exe、uidesccompressor.exeといったツールも一緒にビルドされます。これらのツールもVST3SDKと一緒にビルドした場合は生成されません。

実行方法

単独起動の場合

前項まででプロジェクトファイルの生成とビルドができました。例えば以下の場所にある.exeファイルを実行するとスタンドアロンアプリが起動します。

VST_SDK\vst3sdk\vstgui4\build\Release\simple_standalone\

IDEから起動する場合

Visual Studioからソースコードを見ながら動作確認したい場合、プロジェクトファイルは以下の場所にあります。

VST_SDK\vst3sdk\vstgui4\build\vstgui\standalone\examples\simple_standalone\

スタンドアロンアプリからVST3SDKの利用

サンプルアプリを見る限り、スタンドアロンアプリからVST3SDKを使うことは想定されていないようです。つまりスタンドアロンのシンセアプリを作るには、簡易的でもVST3ホスト相当のものを作る必要があり、またそのままスタンドアロンシンセとして利用できるようなホストアプリのサンプルは提供されていません。
これはちょっと残念です。

VST3制作の過去記事一覧はこちら

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?