Nanashi-softプログラマ専用UTAUプラグインを作ろう


◇UTAUプラグインを作ってみよう(3

全部テキストでC言語だと変換がうざいので,C++で書いてみた
クラスを適当に定義していく
C++の型一覧を見て,vector型とか出し入れできるから使い易そうだな
vector<ここに型>って構造体もここに書けるのかな? そういう事にしておこう(ぉ
(注意:私はまともにC++を使った事がありません)

class utaunana{
  public:
  //UTAUから出力されたパラメータをセッションヘッダ毎に分けて扱えるように
  struct utauformat{
    string headername; //[#xxxx]が入っている
    int Length; //音符の長さ【未対応】
    string Lyric; //詞
    int NoteNum; //音階番号【未対応】
    int PreUtterance; //先行発声【未対応】
    int VoiceOverlap; //オーバーラップ【未対応】
    int Intensity; //音の強さ【未対応】
    int Moduration; //モジュレーション【未対応】
    int PBType; //ピッチベンドのタイプ("5"と"OldData"のみ可能)【未対応】
    // string Piches; //中身はカンマ区切りfloatなので、扱う時は分割
    vectorPiches; //ピッチ。数が不定(法則未解明)【未対応】
    string Flags; //プロパティのflagsにBREとNoFormantFilterを表わす記号を付加した文字列【未対応】
    int Tempo; //テンポの変更【未対応】
    string Envelope; //エンベロープ【未対応】
  };
  vector vdatas;

  utaunana(int, char*[]);
  ~utaunana();
  void pututau(); //編集結果をUAUに返すメソッド
}


こんな感じかな?
このクラスを生成したら,コンストラクタでUTAUからのパラメータを勝手に読み込んでvector変数とやらに放り込む
そのvector変数を処理して,pututauメソッドを呼ぶと書き込まれて終了っと

これをDLLにしておけば,今後はそれを呼べばいいから楽だな
ヘッダーも配布しておけば,他の人も使えるし
……って,g++なんて使う人は私ぐらいだから無意味か?(*'-')



TOPプログラマ専用UTAUプラグインを作ろう