VST SDK 3.7.3が公開されました

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

少し前になりますが、VST SDK 3.7.3が公開されたようです。

参考→sdk.steinberg.net

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

  • フォルダ名の変更
    • ZIP内のVST SDKのフォルダ名を変更。例:VST3_SDK => vst3sdk
  • インターフェイス・フラグ等の修正
    • IPlugViewContentScaleSupportのドキュメントを更新。
    • IComponentHandler::restartComponent用に新しいフラグ「kKeyswitchChanged」を追加
      キースイッチの変更をホスト側に通知します。
    • Steinberg::Vst::FunctionNameTypeに新しい定義を「kPanPosCenterX」などを追加。
  • VST GUIの変更
    • バージョンを4.10.1に変更。
    • いくつかの修正を実施。
  • ライセンスの変更
    • ライセンスがバージョン2.2.1に変更。(すでに2.0に署名している場合は再度署名する必要はない。)
  • CMAKEの修正
    • Windows ARM64において間違いのあったリンクパスを修正。
    • MacでもWindowsやLinuxと同じエラーように取得するため「-Werror=return-type」を追加
    • fetchcontentをVST SDKで使用する場合、変数vst3sdk_SOURCE_DIRが未定義となる問題を修正。
    • プロジェクトジェネレータを利用してプロジェクトを作成したとき、シンボルの可視属性が誤っていた問題を修正
  • チュートリアル
    • 新たに高度な機能に関するチュートリアルを追加
  • プラグインラッパー
    • AAXラッパー
      • initModule()とDeInitModule()のリファクタリングを実施
      • 読み取り専用パラメーターが使用されている場合のGetParameterIndex()のインデックスが正しくない不具合を修正
    • VST2ラッパー
      • initModule()とDeInitModule()のリファクタリングを実施
      • initModule()とDeInitModule()を何度も呼び出す不具合を修正
    • AUv3ラッパー
      • macOS11でAUv3をサポート。
      • AUv3Wrapperコードの簡素化を実施。
      • macOS11でLogicとGarageBandがエディターを表示しない問題を修正
  • サンプルの追加・修正
    • 下記の新しいVST3プラグインサンプルを追加。
      • AGainSampleAccurate…サンプル単位で正確なパラメータ変更処理を行うサンプル。
    • HostCheckerプラグインでチェックできる項目を追加。
      • 同じIDを持つ複数キューのIParameterChangesのチェックを追加
      • 同じ位置にある複数ポイントのIParameterChangesのチェックを追加
      • restartComponent(kKeyswitchChanged)・restartComponent(kNoteExpressionChanged)・restartComponent(kParamValuesChanged)のチェックを追加
    • Pannerサンプルにivstparameterfunctionnameの機能を追加
    • 引数なしでeditorHostを起動したときの問題を修正。
    • 利用可能なVST3プラグインがない場合、VST3Inspectorがクラッシュする問題を修正。
    • mdaプラグインの警告を修正。
    • gcc11でのビルドを修正。
  • ヘルパークラスの修正
    • 下記のユーティリティファイルを追加
      • audiobuffers.h
      • processdataslicer.h
      • rttransfer.h
      • sampleaccurate.h
      • tests.cpp、tests.h

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

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

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

VST GUIにおけるドラッグアンドドロップの対応

VST GUIにおけるドラッグアンドドロップの対応

VST GUIにおいてファイルなどをドラッグアンドドロップで受け取る方法を説明します。

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

もっと見る

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

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

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

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

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

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

このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→ VST3ホスト サンプルコード
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開発環境の準備

もっと見る