AudioEffectX(audioMasterCallback audioMaster, VstInt32 numPrograms, VstInt32 numParams)
関数 | 概要 |
setNumInputs() | VSTの入力数(ステレオ、モノラル等)を設定する関数。 |
setNumOutputs() | VSTの出力数(ステレオ、モノラル等)を設定する関数。 |
setUniqueID() | 全世界のVSTに一意に割り当てられたID設定する関数。自作したVSTを公開する場合は、 http://ygrabit.steinberg.de/~ygrabit/public_html/index.htmlよりIDを取得しなければならない。 |
isSynth() | 自作するVSTがシンセなのかエフェクタなのかを設定する関数。 |
canProcessReplacing() | 自作するVSTが音声処理可能であることを設定する関数。 |
- #define MY_VST_INPUT_NUM 2 //入力数。モノラル入力=1、ステレオ入力=2
- #define MY_VST_OUTPUT_NUM 2 //出力数。モノラル出力=1、ステレオ出力=2
-
- #define MY_VST_UNIQUE_ID 'SMPL' //ユニークID
- //公開する場合は以下URLで発行されたユニークIDを入力する。
- //http://ygrabit.steinberg.de/~ygrabit/public_html/index.html
-
- #define MY_VST_PRESET_NUM 1 //プリセットプログラムの数
- #define MY_VST_PARAMETER_NUM 0 //パラメータの数
-
- MyMinimumVST::MyMinimumVST (audioMasterCallback audioMaster)
- : AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM)
- {
- //VSTの初期化を行う。
-
- //以下の関数を呼び出して入力数、出力数等の情報を設定する。
- //必ず呼び出さなければならない。
- setNumInputs (MY_VST_INPUT_NUM); //入力数の設定
- setNumOutputs (MY_VST_OUTPUT_NUM); //出力数の設定
- setUniqueID (MY_VST_UNIQUE_ID); //ユニークIDの設定
-
- isSynth (false); //このVSTがSynthかどうかのフラグを設定。
- //Synthの場合…true、Effectorの場合…false
-
- canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。
- //音声処理を行わないVSTはないので必ずこの関数を呼び出す。
-
- //上記の関数を呼び出した後に初期化を行う
-
- }
MyMinimumVST::MyMinimumVST (audioMasterCallback audioMaster)
: AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM)
{
引数 | 概要 |
audioMasterCallback audioMaster | audioMasterをそのまま渡す。 |
VstInt32 numPrograms | プリセットプログラムの数。1以上の必要がある。 |
VstInt32 numParams | パラメータの数。0以上の必要がある。 |
//以下の関数を呼び出して入力数、出力数等の情報を設定する。
//必ず呼び出さなければならない。
setNumInputs (MY_VST_INPUT_NUM); //入力数の設定
setNumOutputs (MY_VST_OUTPUT_NUM); //出力数の設定
setUniqueID (MY_VST_UNIQUE_ID); //ユニークIDの設定
isSynth (true); //このVSTがSynthかどうかのフラグを設定。
//Synthの場合…true、Effectorの場合…false
canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。
//音声処理を行わないVSTはないので必ずこの関数を呼び出す。
関数名 | 戻り値 | 引数 | 概要 |
setNumInputs | なし | VstInt32 inputs | エフェクターの入力数の情報を設定する。 ステレオの場合…2、モノラルの場合…1となる。 |
setNumOutputs | なし | VstInt32 outputs | エフェクターの出力数の情報を設定する。 ステレオの場合…2、モノラルの場合…1となる。 |
setUniqueID | なし | VstInt32 iD | エフェクターのユニークIDを設定する。 自作VSTを公開しない場合はどんな値でもよい。 |
isSynth | なし | bool state | 作成するVSTがシンセかどうかを設定する。シンセの場合…True、エフェクタの場合…falseとする。 |
canProcessReplacing | なし | bool state | 32ビット浮動小数点で音声処理できるか設定する。どんなVSTでも無条件で呼び出さなければならない。 |
//上記の関数を呼び出した後に初期化を行う
:
:
}
項目 | No. | 概要 |
最小構成のVST | No.1 | 最小構成の自作VSTに必要な関数等の説明。 |
No.2 | 最小構成の自作VSTの必須初期化項目について | |
No.3 | 最小構成の自作VSTの音声処理関数について | |
No.4 | 最小構成の自作VSTのサンプルソースコード全体 |