VSTクラスの初期化
ここでは
前項で定義したMyMidiSampleVSTの初期化を行う。
- midimsgnum … 受け取ったMIDIメッセージの数。0に初期化しておく
- midimsgbuf[ ] … 受け取ったMIDIメッセージを保管するバッファ。バッファすべてを0に初期化しておく
サンプルコード
サンプルコードは以下のとおり。
MyMidiSampleVST::MyMidiSampleVST (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 (true); //このVSTがSynthかどうかのフラグを設定。
//Synthの場合…true、Effectorの場合…false
canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。
//音声処理を行わないVSTはないので必ずこの関数を呼び出す。
//上記の関数を呼び出した後に初期化を行う
midimsgnum = 0;
memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM);
volume = 1.0f;
}
サンプルコードの解説
まず2行目~17行目でVSTの初期化を行っている。(詳細は
VST初期化ルールのとおり)
なお、Synthとして動作させるため、isSynth()関数にtrueを引き渡している。
isSynth (true); //このVSTがSynthかどうかのフラグを設定。
次に19~20行目で2つのMIDIに関するメンバー変数を初期化している。
midimsgnum = 0;
memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM);
同一カテゴリのTips
項目 |
No. |
概要 |
MIDIメッセージ処理 |
No.1 |
MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 |
No.2 |
VSTの初期化とMIDIメッセージ処理関連の変数の初期化 |
No.3 |
ホストアプリケーションからMIDIメッセージを受け取る方法 |
No.4 |
MIDIメッセージをprocessReplacing()関数中で処理する方法 |
No.5 |
MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版) |
javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。
最終更新:2013年08月06日 02:01