Skip to content

Part 4: VST3 SDK 深掘り

本 Part では Steinberg 社が公開している VST 3 SDK(以下「vst3sdk」)の一次資料であるヘッダファイル群(pluginterfaces/ 配下)を根拠として、プラグインがホスト(DAW)と結ぶ契約を網羅的に記述します。Part 2 で「どの DAW でも成立する抽象契約」を、Part 3 で「DAW ごとの実装差」を記述しました。本 Part ではその契約を実装する具体 API の名前・シグネチャ・呼び出し順序を扱います。

本 Part の記述はすべて github.com/steinbergmedia/vst3_pluginterfacesmaster ブランチ(SDK バージョン 3.8.0)のヘッダファイルを一次資料としています。各ページ末尾の ## 参照ソース から原典を確認できます。

構成

本 Part の読み方

読者が AudioWorklet / V8 基盤で VST3 互換フレームワークを実装する場合、以下の順序で読み進めると対応関係が見通せます。

  1. 4.2 でインタフェースの基底(FUnknownIPluginFactory)を把握します。
  2. 4.3 で Processor / Controller 分離の理由とパラメータ経路を把握します。これは HTML UI と AudioWorklet DSP を分離する設計の直接の下敷きになります。
  3. 4.4 / 4.5 / 4.6 で process() 呼び出し時に流れるオーディオ・パラメータ・イベントの全容を把握します。
  4. 4.9 で View 埋め込み(Linux の IRunLoop 統合を含む)の要件を把握します。
  5. 4.13 のライフサイクル図で全体像を確認します。
  6. Part 5 で各要素の Web 側対応(AudioWorkletProcessor / postMessage / SharedArrayBuffer)にマップします。