※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

VST(エフェクター)作成例


VST情報の処理

VSTの情報をホストアプリケーション(Cubase,Sonar等)に通知するための関数を作成する。


作成者(ベンダー)情報の処理

ホストアプリケーションに作成者(ベンダー)の情報を知らせる。
引数のchar* textに作成者(ベンダー)の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* textは64バイト。NULL文字で終端させる必要がある。

サンプルエフェクターではMY_VST_VENDOR(宣言部で定義済み。)を引数のchar* textに格納している。

  1. bool MyTremoloVST::getVendorString (char* text)
  2. {
  3. //作者(ベンダー)名をtextに格納してtrueを返す。
  4. //kVstMaxVendorStrLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
  5. //定義されている。(kVstMaxVendorStrLen = 64)
  6. vst_strncpy (text, MY_VST_VENDOR, kVstMaxVendorStrLen);
  7. return true;
  8. }
  9.  

作成したVSTのバージョンの処理

ホストアプリケーションに作成したVSTのバージョンを知らせる。
バージョンは整数で返す必要があるため、適当に変換する。

【例】
バージョン 返す値 説明
1.03 103 メジャーバージョン1を100の位に、マイナーバージョン0.03を1と10の位に割り当てる

サンプルエフェクターではMY_VST_VERSION(宣言部で定義済み。)を返している。

  1. VstInt32 MyTremoloVST::getVendorVersion ()
  2. {
  3. //バージョン(整数)を返す。
  4. return MY_VST_VERSION;
  5. }
  6.  

製品名の処理

ホストアプリケーションに製品名を知らせる。
引数のchar* textに製品の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* textは64バイト。NULL文字で終端させる必要がある。

サンプルエフェクターではMY_VST_PRODUCT_NAME(宣言部で定義済み。)を引数のchar* textに格納している。

  1. bool MyTremoloVST::getProductString (char* text)
  2. {
  3. //製品名をtextに格納してtrueを返す。
  4. //kVstMaxProductStrLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
  5. //定義されている。(kVstMaxProductStrLen = 64)
  6. vst_strncpy (text, MY_VST_PRODUCT_NAME, kVstMaxProductStrLen);
  7. return true;
  8. }
  9.  

エフェクター名の処理

ホストアプリケーションにエフェクター名を知らせる。
引数のchar* nameに製品の名前を保存し、trueを返す。(falseを返すとどういう動きをするかは不明)
引数のchar* nameは32バイト。NULL文字で終端させる必要がある。

サンプルエフェクターではMY_VST_NAME(宣言部で定義済み。)を引数のchar* textに格納している。

  1. bool MyTremoloVST::getEffectName (char* name)
  2. {
  3. //製品名をnameに格納してtrueを返す。
  4. //kVstMaxEffectNameLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に
  5. //定義されている。(kVstMaxEffectNameLen = 32)
  6. vst_strncpy (name, MY_VST_NAME, kVstMaxEffectNameLen);
  7. return true;
  8. }
  9.  




合計: -
今日: -
昨日: -

javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。