VST GUIにおける「ファイルを開く」ダイアログの実装

「ファイルを開く」ダイアログの実装

VSTでファイルを読み込む際に必要なファイル読み込み用の”「ファイルを開く」ダイアログ”の実装方法を説明いたします。

なお、VST GUIの基本的な作成方法として下記をご理解いただいている前提で進めさせていただきます。

また、こちらのTipsで紹介している各コントロールを作成する関数も使用しています。

もっと見る

VST SDK 3.6.14が公開されました

VST SDK 3.6.14が公開されました。

参考→sdk.steinberg.net

変更点は下記のようです。(公式サイトとマニュアルからの翻訳ですが英語は自信がないです。)

  • CMAKEの修正
    • リファクタリングの実施
    • SMTG_VST3_SDK.cmakeファイルの追加
    • FindJackとLinuxクロスコンパイラのサポートの強化
  • VSTサンプルの追加・修正
    • HostCheckerプラグインで64bitプロセッシングといくつかのチェックの追加
    • AAXバージョンのHostCheckerプラグインを追加
    • Validatorでいくつかのチェック機能の追加(別スレッドでの処理、バイパス機能の保存、実行テストで新しいオプションの追加、MIDIMappingテストのパフォーマンス改善)
  • プラグインラッパーの修正
    • AAXラッパーでSMPTEサポートを追加
    • InterAppAudioラッパーは次期SDKで排除される予定とした
  • VST3 ヘルパークラスの修正
    • EditControllerEx1にあるprogramList、programIndexMap、unitsを終了時にクリアするよう修正
  • VST3 Plug-in Test Hostの修正
    • Windowsのメニューを変更
    • 新しいテストを追加
  • VST GUIの修正
    • VST GUIが4.9に
    • VSTGUI::CListControlを追加
    • カスタムフォントのサポート(Windowsの場合、Windows 10のみ)

VST3.6についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

Visual Studio 2019でVST基本ライブラリをコンパイルできない不具合の回避策

Visual Studio 2019でVST基本ライブラリをコンパイルできない不具合の回避策

最新(2019年11月時点)のVisual Studio 2019でVST SDK 3.6.13の基本ライブラリをコンパイルできないという不具合が出ています。

原因は「public.sdk/source/vst/hosting/module_win32.cpp」でMicrosoftが非推奨とした「experimental/filesystem」を使用しているためです。
これにより、下記のエラーが発生しコンパイルできない状態になっています。

このエラーを回避するにはプリプロセッサ「_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING」を定義する必要があります。

回避策1

一つ目の回避策は、「public.sdk/source/vst/hosting/module_win32.cpp」に直接定義する方法です。
もっと見る

MIDIノートオン・オフの出力

MIDIノートオン・オフの出力

VSTではMIDIメッセージを出力することができます。
これにより、MIDIエフェクトのようなものや音声信号からMIDIへの変換などを行うことができます。

ここでは、音声処理クラスからMIDIメッセージを出力する方法を説明いたします。

なお、MIDIメッセージの入力などについては下記をご参照ください。

MIDIメッセージの受取1 MIDIのNote On、Note Offメッセージを受け取る方法の記載しています。簡単なモノフォニックシンセサイザーを作成しています。
MIDIメッセージの受取2 MIDIのControl Change、Pitch Bendなどのメッセージを受け取る方法の記載しています。

サンプルでは、入力されたMIDIノートオン・オフメッセージそのまま出力するだけのものを作成しています。
まずは音声処理クラスのinitialize関数に出力用のEventBusを追加します。(「入力イベントバスの追加」とほぼ同じです。)
もっと見る

VST SDK 3.6.13が公開されました

VST SDK 3.6.13が公開されました。

参考→sdk.steinberg.net

変更点は下記のようです。(公式サイトとマニュアルからの翻訳ですが英語は自信がないです。)

  • インターフェイスの修正
    • プラグインのカテゴリとしてkInstrumentPianoが追加
  • CMake
    • Visual Studio 2019に対応
    • CMakeファイルについていくつかの修正を実施。
  • サンプルの追加・修正
    • HostChecker Plug-inサンプルでいくつかのチェック項目を追加
    • editorhostサンプルでいくつかのデバッグ出力を追加。
  • VST 3 Plug-in Test Hostの修正
    • IPlugInterfaceSupport・MPEをサポート
    • 同じプラグインのエディタを2つ開くことが可能に
  • その他の修正・改善の実施
    • AAX Wrapperのプリセット読み込み時にバイパス状態が上書きされる不具合を修正

VST3.6についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

VST内部での文字コードについて

VST内部での文字コードについて

VST SDKでは音声処理クラスパラメータ操作クラスVST GUIクラスでは扱っている文字コードが異なります。

音声処理クラスパラメータ操作クラスなどはUTF-16を使用しています。
(VST SDKドキュメントにあるSDK Helper Classesに関連するクラスがUTF-16を使います。)

一方でVST GUIクラスなどはUTF-8を使用しています。
(VST SDKドキュメントにあるVSTGUI 4に関連するクラスがUTF-8を使います。)

もっと見る