Skip to content

UtauPlugin

delta-kimigatame edited this page Jan 14, 2019 · 2 revisions

UtauPlugin(base Ust)

namespace utauPlugin

UTAUプラグインに必要な操作を扱います.


UtauPlugin()

UtauPlugin(string filePath):base(filePath)

初期化.

filePathを渡さない場合,メソッドを実行する前に UtauPlugin.FilePath=filePath;を実行してください.

変数名 説明
VoiceBank UtauPlugin.vb oto.iniとprefix.mapの情報が格納されます.

継承しているパラメータについてはUst参照


void Input()

UtauPlugin.FilePathのプラグインデータを読み込みます.

ヘッダ情報はシステムロケールの文字コード(CultureInfo.CurrentCulture.TextInfo.ANSICodePage)

ボディ情報の読込はShift-Jisを使用します.

これはUTAU0.418現在のustの仕様がこの形になっているからです.

Inputに失敗した場合実行ファイルと同一フォルダに,utauPluginInputLog.txtInputData.txtを生成します.

各エントリのInput処理は,UtauPlugin.entries[EntryName].Inputで指定されたメソッドになります.


void Output()

UtauPlugin.filePathのファイルに編集内容を上書きします.

UTAUプラグインの仕様に則り,書き出し内容は最小限です.

要素 書出有無
ヘッダ情報
[PREV][NEXT]
[#DELETE] [#DELETE]だけ書き出す(内容は書き出さない)
[#INSERT] すべてのエントリを書き出す
その他 変更があったもののみ書き出す

ただし@つきのパラメータはreadonlyなので書き出しません.


void InitOriginalEntry(string entryName, Object defaultValue)

ファイル読み書きの際に独自エントリの扱いを設定します. 初期値hogeMyEntryを宣言する場合,

using utauPlugin

UtauPlugin utauPlugin = new UtauPlugin(filePath);
utauPlugin.InitOriginalEntry("MyEntry", "hoge");
utauPlugin.Input()

とします.


void InputVoiceBank()

UtauPlugin.VoiceDirを参照し,oto.iniとprefix.mapを読込ます.

oto.iniは Dictionary <string, Oto > UtauPlugin.vb.otoに,

prefix.mapは Dictionary <string, MapValue > UtauPlugin.vb.mapに格納されます.


void ApplyOto()

UtauPlugin.noteのうちpreとoveが定義されていないものを,UtauPlugin.vb.mapUtauPlugin.vb.otoに基づいて補完します. なお,Outputには反映されません.


void InitAtParam

UtauPlugin.noteのうち@filename,@alias,@pre,@pve,@stpが定義されていないものを,他のパラメータに基づいて補完します. pre/oveが定義されていない場合自動的にApplyOtoも呼ばれます.


void DeleteNote(int index)

index番目のnote.numをDELETEに変更し,前後のノートをprev/nextで繋ぎます.


void InsertNote(int index)

index番目にnoteを追加します.追加されたノートはnote.num=INSERT以外未定義となります.

Clone this wiki locally