1. ホーム
  2. c++

[解決済み] VSTプラグインはどのように作られているのですか?

2022-09-27 02:09:37

質問

VST プラグインを作りたい (または作り方を知りたい) です。このための特別な SDK はありますか。.exe の代わりに .vst を生成するにはどうすればよいですか。また、Logic Pro 用のオーディオ ユニットを作りたい場合、それはどのように行われるのでしょうか。 ありがとうございます。

どのように解決するのですか?

まず、この リンク をクリックすると、それらが何であるかが説明され、sdkへのリンクがあります。 以下は、開発に関するいくつかの情報です。

プラグインのコンパイル方法 - C++BuilderでVSTプラグインを作成するには、まずSteinbergのVST sdkが必要です。これは、Yvan Grabit のサイトから入手可能です (リンクはページの一番上にあります)。

次に必要なことは、.defファイル(例:myplugin.def)を作成することです。これは少なくとも次の行を含む必要があります。

EXPORTS main=_main

ボーランドのコンパイラは関数名にアンダースコアを付けますが、これによって main() 関数をVSTホストが期待する方法でエクスポートします。.def ファイルについての詳細は、C++Builder のヘルプ ファイルを参照してください。

しかし、これだけでは十分ではありません。VCL 要素 (フォームやコンポーネントに関係するもの) を使用する場合、プラグインが Cubase (または他の VST ホスト、それ自体) をクラッシュさせないように注意する必要があります。その方法は以下の通りです。

  1. float.h をインクルードします。
  2. エフェクトクラスのコンストラクタに、以下のように記述します。

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);
    
    

これでうまくいくはずです。

さらに便利なサイトを紹介します。

http://www.steinberg.net/en/company/developer.html

VST プラグインの書き方 (pdf) を経由して http://www.asktoby.com/#vsttutorial