古いVST SDKでのVST3開発環境の準備

古いVST SDKでのVST3開発環境の準備

こちらの記事はVST SDK 3.6.14以前のバージョンでのVST3環境の準備方法になります。
過去の記事ですので、内容としては古いものになりますので、新しいバージョンのVST SDKを利用している場合は、下記をご参照ください。

  VST3開発環境の準備→VST3開発環境の準備

もっと見る

VST SDK 3.7.1が公開されました

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

参考→sdk.steinberg.net

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

  • ヘルパークラスの修正
    • Visual StudioにおいてGetPluginFactory()に__declspec(dllexport)が追加されるよう修正
  • プラグインラッパーの修正
    • AAXラッパーとAUv3ラッパーでオフライン処理のサポートを追加
    • 出力バスの有効化の処理を修正
    • コンポーネントがUIスレッドからロードされない不具合の修正
  • CMAKEの修正
    • ファイル構成を変更
    • CMAKEファイルの名前を「SMTG_」で始まるよう修正
    • CMAKEの関数名を「smtg_」で始まるよう修正
    • Mingw32とVST SDKの互換性を高めるよう修正
    • チームIDなしのAUv3ビルドをサポート
    • smtg_add_plugin_resourceにおけるパスの処理を修正
  • VST3PluginTestHostの修正
    • ボルテージバス情報の列を追加
    • ヘルプメニューに新しいリンクを追加
    • MPEの有効化をサポート
    • ダークライトモードをサポート
    • 64bitのみのプラグインで”Valid State Transition”テストが失敗する不具合を修正
    • オートメーションユニットテストを修正
  • VST 3 Project Generatorの修正
    • VST GUIをサポート
    • 誤ったcmake.exeパスを指定したときにフリーズする不具合を修正
    • Windowsでシンボリックリンクを有効化
    • WindowsのVisual StudioでデバッグコマンドにVST3PluginTestHostを追加するよう修正
    • CMAKEファイルの生成を改善

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

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

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

SoundFontプレイヤー Utsbox SF2 Playerを更新しました

自作VSTであるSoundFontプレイヤー – Utsbox SF2 Playerを更新いたしました。

SoundFontプレイヤー – Utsbox SF2 Player

Studio Oneで音声出力されない不具合の修正として、サイレンスフラグの処理を修正をしております。

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

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

VST3ホスト開発03 – 音声処理クラスの作成と初期化

音声処理クラスの作成と初期化

前回はVST3プラグインの情報を表示する簡単なVST3ホストの作成について記載いたしました。
今回はVST3プラグインから音声処理クラスを取得するプログラムの説明を実施します。

今回作成するプラグインは下記のとおりです。

  • VST3プラグインを読み込む
  • VST3プラグインから音声処理クラスを作成する(new)

実際に音声処理を行うまではもう少し手順がありますが、まずは音声処理クラスを作成するところまで実施いたします。

このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3host_20210410
ZIPファイルの中の「vst3host02_音声処理クラスの作成と初期化」フォルダが今回のサンプルソースファイルになります。

なお、Visual Studioのプロジェクトは「コンソールアプリケーション」で作成しております。
プロジェクト設定などは「Visual Studioのプロジェクト設定」もご参照ください。

今回の説明内容

本ページでは、前回説明したVST3プラグインの利用の流れ(下記)のうち、3.についての内容を説明します。
なお、前回説明した内容については、説明を省略させていただきます。

もっと見る

VST3ホスト開発02 – VST3プラグインの読み込みと情報表示

VST3プラグインの読み込みと情報表示

前回はVST3ホストを作成する際の開発環境準備やVisual Studioプロジェクトの作成について記載いたしました。
今回はVST3プラグインを読み込むプログラムの説明を実施します。

今回作成するプラグインは下記のとおりです。

  • VST3プラグインを読み込む(new)
  • VST3プラグインの情報を表示する(new)

実際に音声処理を行うまではもう少し手順がありますが、まずは情報表示するところまで実施いたします。

このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3host_20210410
ZIPファイルの中の「vst3host01_VST3プラグインの読み込みと情報表示」フォルダが今回のサンプルソースファイルになります。

なお、Visual Studioのプロジェクトは「コンソールアプリケーション」で作成しております。
プロジェクト設定などは「Visual Studioのプロジェクト設定」もご参照ください。

VST3プラグイン読み込みの流れ

VST3プラグインを読み込んで利用できるようにするには、大きく下記の流れで読み込みと初期化を行います。
もっと見る

VST SDK 3.7が公開されました

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

参考→sdk.steinberg.net

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

  • 新しいドキュメントポータル
  • インターフェイス・フラグ等の修正
    • 下記のインターフェイスが追加
      • プラグイン用インターフェイス
        • IProcessContextRequirements
          ※IProcessContextRequirementsはVST SDK 3.7以降で実装する場合に必ず必要となる。
        • IParameterFunctionName
      • ホストアプリケーション用インターフェイス
        • IProgress
    • パラメータにkIsHiddenフラグが追加
      このフラグを設定すると、ホストでは表示されず、プラグイン以外から変更ができなくなる
    • 下記の定義済みスピーカーアレンジメントが追加
      • k90Cine, k91Cine (L R C Lfe Ls Rs Lc Rc Sl Sr)
      • k100Cine, k101Cine (L R C Lfe Ls Rs Lc Rc Cs Sl Sr)
      • k90_4, k91_4 (L R C Lfe Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr)
      • k90_6, k91_6 (L R C Lfe Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr Tsl Tsr)
    • オーディオバス用のフラグkIsControlVoltageが追加
  • ヘルパークラスの修正
    • VST2.xとの互換性のためにFXB/FXP形式の読込とFXB形式への書込関数を追加
    • MinGW-w64 GCCコンパイラでのコンパイルを修正
    • 新しくURLを標準のアプリで開くヘルパーを追加
  • ドキュメントの修正
    • MIDI 2.0 Pre-Note Controllersに関する記載が追加
    • MIDI 2.0のベロシティなどの解像度の増加とVST3での対応に関する記載が追加
  • CMAKEの修正
    • 新しいCMAKEファイルが追加
    • Windowsでパワーシェルを使ったフォルダ作成を管理者権限で行うよう修正
  • サンプルの修正
    • SyncDelayサンプルを追加。IProcessContextRequirementsを使用したサンプル
    • Pannerサンプルを追加。サブカテゴリーPlugType::kSpatialFxを使用したサンプルで、モノラルからステレオへ変換するサンプル。
    • HostCheckerサンプルで、kIsHiddenフラグ・IProgressインターフェイス・IParameterFunctionName・ Silent flagのチェックに対応
  • プラグインラッパーの修正
    • AAX/VST2ベースラッパーがVst::StateType::kProjectをセットしなかった不具合を修正
  • VST3PluginTestHostの修正
    • 新しいインターフェイス IProgress・IProcessContextRequirements・IParameterFunctionNameをサポート
    • 2つ以上のGUIインスタンスを表示するプラグインを終了するときにクラッシュする問題を修正
    • IMidiMappingに対応シングルコンポーネントのプラグインのサポートを修正
  • VST 3 Project Generator v1.0.0の追加
    • 簡単にVST3プロジェクトを生成するVST 3 Project Generatorを追加

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

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

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