VST(エフェクター)作成例
VST情報の処理
VSTの情報をホストアプリケーション(Cubase,Sonar等)に通知するための関数を作成する。
作成者(ベンダー)情報の処理
ホストアプリケーションに作成者(ベンダー)の情報を知らせる。
引数のchar* textに作成者(ベンダー)の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* textは64バイト。NULL文字で終端させる必要がある。
サンプルエフェクターではMY_VST_VENDOR(
宣言部で定義済み。)を引数のchar* textに格納している。
bool MyTremoloVST::getVendorString (char* text)
{
//作者(ベンダー)名をtextに格納してtrueを返す。
//kVstMaxVendorStrLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
//定義されている。(kVstMaxVendorStrLen = 64)
vst_strncpy (text, MY_VST_VENDOR, kVstMaxVendorStrLen);
return true;
}
作成したVSTのバージョンの処理
ホストアプリケーションに作成したVSTのバージョンを知らせる。
バージョンは整数で返す必要があるため、適当に変換する。
【例】
バージョン |
返す値 |
説明 |
1.03 |
103 |
メジャーバージョン1を100の位に、マイナーバージョン0.03を1と10の位に割り当てる |
サンプルエフェクターではMY_VST_VERSION(
宣言部で定義済み。)を返している。
VstInt32 MyTremoloVST::getVendorVersion ()
{
//バージョン(整数)を返す。
return MY_VST_VERSION;
}
製品名の処理
ホストアプリケーションに製品名を知らせる。
引数のchar* textに製品の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* textは64バイト。NULL文字で終端させる必要がある。
サンプルエフェクターではMY_VST_PRODUCT_NAME(
宣言部で定義済み。)を引数のchar* textに格納している。
bool MyTremoloVST::getProductString (char* text)
{
//製品名をtextに格納してtrueを返す。
//kVstMaxProductStrLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
//定義されている。(kVstMaxProductStrLen = 64)
vst_strncpy (text, MY_VST_PRODUCT_NAME, kVstMaxProductStrLen);
return true;
}
エフェクター名の処理
ホストアプリケーションにエフェクター名を知らせる。
引数のchar* nameに製品の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* nameは32バイト。NULL文字で終端させる必要がある。
サンプルエフェクターではMY_VST_NAME(
宣言部で定義済み。)を引数のchar* textに格納している。
bool MyTremoloVST::getEffectName (char* name)
{
//製品名をnameに格納してtrueを返す。
//kVstMaxEffectNameLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
//定義されている。(kVstMaxEffectNameLen = 32)
vst_strncpy (name, MY_VST_NAME, kVstMaxEffectNameLen);
return true;
}
合計: -
今日: -
昨日: -
javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。
最終更新:2010年05月14日 01:26