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

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


宣言部


インクルードファイル

必要なヘッダファイルをインクルードする。
VSTを作成する場合は「audioeffectx.h」を必ずインクルードする。
また、以下のファイルについてはよく利用するのでインクルードしておくとよい。

math.h sin(),cos()やlog()等の音声処理で必要な関数が多い。
ほぼインクルード必須。
string.h memset()、memcpy()等のバッファを処理する関数は音声処理で頻繁に利用する
windows.h WindowsのAPIを利用するために必要。

  1. // ============================================================================================
  2. // インクルードファイル
  3. // ============================================================================================
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <math.h>
  8. #include <windows.h>
  9.  
  10. #include "audioeffectx.h"
  11.  

必要な情報の定義

エフェクターの設計で決めた事項を定義する。
定義すること自体は必須ではないが、何度も使うものが出てきたり、コードの使いまわしがしやすいため。

  1. // ============================================================================================
  2. // 設計情報の記入
  3. // ============================================================================================
  4. #define MY_VST_VENDOR "test vendor" //作者(ベンダー)名
  5. #define MY_VST_VERSION 1 //このVSTバージョン
  6. #define MY_VST_PRODUCT_NAME "Sample Tremolo VST" //このVSTの製品名
  7. #define MY_VST_NAME "Tremolo" //このVSTの名前
  8.  
  9. #define MY_VST_INPUT_NUM 2 //入力数。モノラル入力=1、ステレオ入力=2
  10. #define MY_VST_OUTPUT_NUM 2 //出力数。モノラル出力=1、ステレオ出力=2
  11.  
  12. #define MY_VST_UNIQUE_ID 'SMPL' //ユニークID
  13. //公開する場合は以下URLで発行されたユニークIDを入力する。
  14. //http://ygrabit.steinberg.de/~ygrabit/public_html/index.html
  15.  
  16. #define MY_VST_PRESET_NUM 1 //プリセットプログラムの数
  17. #define MY_VST_PARAMETER_NUM 2 //パラメータの数
  18.  
  19. //このVSTのパラメータを定義しておく。
  20. //0からの連番でなければならない。
  21. #define TREMOLO_SPEED 0
  22. #define TREMOLO_DEPTH 1
  23.  



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