VST3ホスト開発04 – 音声処理クラスでの音声処理準備

音声処理クラスでの音声処理準備

前回はVST3ホストでVST3プラグインから音声処理クラスを取得する方法について記載いたしました。
今回は取得した音声処理クラスで音声処理の準備を行うプログラムの説明を実施します。

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

  • VST3プラグインを読み込む
  • VST3プラグインから音声処理クラスを作成する
  • 音声処理クラスの情報(入出力数など)を取得する(new)
  • 音声処理クラスで音声処理の準備を行う(new)

実際に音声処理を行う一歩手前までとなります。

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

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

今回の説明内容

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

もっと見る

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

VST3ホスト開発03 – 音声処理クラスの作成と初期化」を更新しました。
PluginContextを作成・セットアップする手順を追加しています。

※更新したページ
 VST3ホスト開発03 – 音声処理クラスの作成と初期化

VST3プラグイン作りの情報はこちらにもございます → はじめてのVST3プラグイン作り

ご指摘やご質問などがございましたら、コメント欄か掲示板Twitterでご連絡いただければと思います。

VST SDK 3.7.2が公開されました

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

参考→sdk.steinberg.net

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

  • インターフェイス・フラグ等の修正
    • 新しい列挙型の追加
    • speaker arrangementに3D用のスピーカー構成「K220」が追加
      K220の構成は「L R C Ls Rs Lc Rc Cs Sl Sr Tc Tfl Tfc Tfr Trl Trc Trr Tsl Tsr Bfl Bfc Bfr」
    • 下記の定義済みスピーカーアレンジメントの名称を変更
      • 7.1 Music (Dolby) → 7.1
      • 7.0 Music (Dolby) → 7.0
      • 7.1 Cine (SDDS) → 7.1 SDDS
      • 7.0 Cine (SDDS) → 7.0 SDDS
  • ヘルパークラスの修正
    • 新しくモジュールの初期化を制御するファイル「moduleinit.cpp」と「moduleinit.h」を追加
    • #include <Windows.h>を#include <windows.h>に修正
    • HostAttributeList::getString()関数における文字列コピーの不具合を修正
    • SliceProcessingTest、ValidStateTransitionTestの不具合を修正
    • C++ 20における「module_linux.cpp」のビルドの不具合を修正
  • VST GUIの変更
    • バージョンを4.10に変更
    • 最低要件をC++ 14に変更
    • VSTGUI::init()とVSTGUI::exit()で明示的に初期化・終了するよう変更
    • UIDescriptionファイルをXML形式からJSON形式に変更。XML形式を非推奨に
    • VSTGUI_ENABLE_XML_PARSERを0に設定することでXMLパーサーとexpatライブラリをビルド時に削除できるように変更
  • ライセンスの変更
    • ライセンスバージョンが2.1に変更(すでに2.0に署名している場合は再度署名する必要はない)
  • CMAKEの修正
    • コードのスタイルを変更
    • C11のアトミックヘッダーのチェックを追加
    • target_compile_featuresで各ライブラリのC++バージョンの最低要件を定義
    • デフォルトで使用するC++バージョンを上書きするためのフラグ「SMTG_CXX_STANDARD」を追加
    • バイナリファイルの出力先フォルダを変更するフラグ「SMTG_CUSTOM_BINARY_LOCATION」を追加
    • アドレスサニタイザーを有効にするフラグ「SMTG_ENABLE_ADDRESS_SANITIZER」を追加(clang、gcc用)
    • 新しいファイル「SMTG_SetDebugExecutable.cmake」を追加
      デバッグ用のアプリを事前構成できるように
    • 「SMTG_FindJack.cmake」にある「LOCAL_JACK_LIB」のWindowsにおける不具合を修正
    • Windowsにおける共通フォルダのリンクの不具合を修正
    • validatorを使用した単体テストに失敗すると、プラグインリソース/スナップショットがコピーされない不具合を修正
  • プラグインラッパーの修正
    • macOSにおkるAAXラッパーの不具合を修正
    • Xcode 12におけるAUv2ラッパーの不具合を修正
  • サンプルの追加・修正
    • 新しいサンプルホストアプリ「VST3 Inspector」を追加
      VSTGUIを使用して、VST3プラグインのファクトリーを解析するサンプル。
    • いくつかのサンプルで最低要件をC++ 14に変更
  • VST3PluginTestHostの修正
    • メニューに「プリセットパラメータをXMLとしてエクスポート」機能を追加。これにより、VST3プリセットの自動ロードとXMLファイルとしてエクスポートが可能に。
  • VST 3 Project Generatorの修正
    • オープンソース化を実施。 GitHubにて公開。
    • macOS用のユニバーサルバイナリに対応(Intel/M1)
    • macOSでcmakeを検索するための別のデフォルトフォルダを追加
    • cmakeを使用してバンドルIDの設定するよう修正
    • キーボードフォーカスのナビゲーションを修正

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

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

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

古い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

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

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

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

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

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

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

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

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

今回の説明内容

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

もっと見る