TOP/拡張スクリプト/外部仕様一覧

外部仕様一覧

ユーザがスクリプトを編集して動作を変える事を想定しているインタフェース一覧。 判っている人向けの記述になります。

BMX2WAV 本体

カラム

カラムグループ

カラムグループオブジェクトは以下の配列に格納する

Main.column_groups 配列

カラムグループは以下の要件を満たす。

name 文字列
columns 配列(カラム用オブジェクト)

ColumnGroup クラスのインスタンスは上記を満たす。

カラム用オブジェクト

カラムは以下の要件を満たす

name 文字列
display_cell 関数
compare 関数
display_cell( entry )
呼び出し時 カラム表示時
引数1 Main.Entry クラスのインスタンスまたは Searcher.Entry クラス インスタンス
戻り値 表示する文字列(呼び出し元で tostring() 呼び出しする)
備考 BMS は構文解析済み
compare( entry_x, entry_y )
呼び出し時 ソート実行時(ヘッダークリック時)
引数1 Main.Entry クラスのインスタンスまたは Searcher.Entry クラス インスタンス
引数2 Main.Entry クラスのインスタンスまたは Searcher.Entry クラス インスタンス
戻り値 比較結果の整数( 所謂 <=> の結果)
備考 BMS は構文解析済み

Column クラス のインスタンスは上記を満たす。

第一カラムの表示内容

第一カラムの表示はカラムグループの管理下ではなく特別扱いになっており、 以下のスロットに格納する。

Main.first_column カラム用オブジェクト

null の場合はデフォルト(ファイル名)。

エントリー詳細ダイアログ

エントリーを詳細表示した際に表示する値一覧。以下に格納する。

Main.entry_dialog_list_items 配列(カラム用オブジェクト)

入れるカラム用オブジェクトは前述のカラム用のものと同じ。

右クリックメニュー

メニュー構成

メニューの根元は以下に格納する。

Main.entry_processors サブメニュー用オブジェクト

サブメニュー用オブジェクトは以下の要件を満たす。

name 文字列
items 配列(エントリ用呼び出しオブジェクトまたはサブメニュー用オブジェクトまたは null)

SubMenu クラスのインスタンスは上記を満たす。

items にサブメニュー用のオブジェクトを入れられる事によりメニュー構造を構成する。 null の場合はセパレータになる。

エントリ用呼び出しオブジェクト

エントリ用呼び出しオブジェクトは以下の要件を満たす。

name 文字列
execute 関数
execute( entry )
呼び出し時 右クリックメニュー選択時
引数1 Main.Entry クラスのインスタンスまたは Searcher.Entry クラス インスタンス
戻り値 無し
備考 BMS は構文解析済み

BMX2WAV 変換時

変換時に呼び出される関数。特に記述が無ければ関数になります。

Main.callback_table テーブルを参照。

通常処理前後の呼び出し

通常の処理用の呼び出し関数群。変換時は上から順に呼び出される。

Main.callback_table.before_initialize( converter )
呼び出し時 初期化前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_initialize( converter )
呼び出し時 初期化後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_parse( converter )
呼び出し時 構文解析前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_parse( converter )
呼び出し時 構文解析後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_read_audio_files( converter )
呼び出し時 音声ファイル読み込み前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_read_audio_files( converter )
呼び出し時 音声ファイル読み込み後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_mixin_waves( converter )
呼び出し時 音声ファイル合成前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_mixin_waves( converter )
呼び出し時 音声ファイル合成後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_affect_wave( converter )
呼び出し時 合成後音声データの加工前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_affect_wave( converter )
呼び出し時 合成後音声データの加工後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_output_to_file( converter )
呼び出し時 ファイル出力前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_output_to_file( converter )
呼び出し時 ファイル出力後
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.before_finalize( converter )
呼び出し時 終了処理前
引数1 Main.Converter クラスのインスタンス
戻り値 無し
Main.callback_table.after_finalize( converter )
呼び出し時 終了処理後
引数1 Main.Converter クラスのインスタンス
戻り値 無し

エラー時呼び出し

Main.callback_table.aborted( converter, user_abort )
呼び出し時 変換中断時
引数1 Main.Converter クラスのインスタンス
引数2 真偽値 ユーザの操作による中断かどうか
戻り値 無し
Main.callback_table.exception_occurred( converter, exception )
呼び出し時 エラー発生時(構文解析中を除く)
引数1 Main.Converter クラスのインスタンス
引数2 ConvertException クラスのインスタンス
戻り値 無し
Main.callback_table.exception_occurred( converter, exception )
呼び出し時 エラー発生時(構文解析中のみ)
引数1 Main.Converter クラスのインスタンス
引数2 BmsDescriptionException クラスのインスタンス
戻り値 無し

特定機能用

decide_output_file_path( converter )
呼び出し時 構文解析解析直後
引数1 Main.Converter クラスのインスタンス
戻り値 文字列 出力ファイルのパス
備考 出力ファイルを決める為
decide_audio_file_path( converter, path )
呼び出し時 音声ファイル読み込みの前
引数1 Main.Converter クラスのインスタンス
引数2 文字列 BMS ファイルで指定したパスの絶対パス
戻り値 文字列 実際に読ませる音声ファイルのパス
備考 WAV@@ で指定したファイル毎に呼ばれる。wav か ogg のどちらを読み込むかを決める為
audio_file_read_start( converter, word, path )
呼び出し時 音声ファイル読み込みの直前
引数1 Main.Converter クラスのインスタンス
引数2 整数 WAV@@ の @@ 部分の整数
引数3 文字列 実際に読み込んでいるファイルのパス
戻り値 無し
備考 WAV@@ で指定したファイル毎に呼ばれる。読み込み中表記を出力する為。
audio_file_read_end( converter, word, path )
呼び出し時 音声ファイル読み込みの直後
引数1 Main.Converter クラスのインスタンス
引数2 整数 WAV@@ の @@ 部分の整数
引数3 文字列 実際に読み込んでいるファイルのパス
戻り値 無し
備考 WAV@@ で指定したファイル毎に呼ばれる。読み込み中表記を出力する為。
complete_normalize( converter, ratio )
呼び出し時 ノーマライズ実行直後
引数1 Main.Converter クラスのインスタンス
引数2 ノーマライズを実行した際の音声加工の倍率
戻り値 無し
備考 音声加工倍率表記の為
after_process( converter )
呼び出し時 後処理実行時(after_output_to_file の後で before_finalize の前)
引数1 Main.Converter クラスのインスタンス
戻り値 無し
備考 後処理機能の実装の為

BMX2WAV Searcher

フィルタ

フィルタオブジェクトは以下に格納する。

Searcher.display_filters 配列(フィルタオブジェクト)

フィルタ用オブジェクト

フィルタオブジェクトは以下の要件を満たす。

name 文字列
filtering 関数
filtering( entry )
呼び出し時 リストビュー表示時(ツリーのフォルダクリック時など)
引数1 Searcher.Entry クラス インスタンス
戻り値 表示するかしないかの真偽値
備考 BMS は未だ構文解析をしていない

DisplayFilter クラスのインスタンスは上記を満たす。

カラム

BMX2WAV の本体のカラムと同じ。

検索方法

検索方法オブジェクトは以下に格納する。

Searcher.search_methods 配列(検索方法オブジェクト)

検索方法オブジェクト

フィルタオブジェクトは以下の要件を満たす。

name 文字列
search 関数
by_each_directory 関数
search( entry )
呼び出し時 ファイル 1 つ検出される毎
引数1 Searcher.Entry クラス インスタンス
戻り値 検索をヒットさせるかさせないかの真偽値
備考 フォルダのファイル全てについて呼び出される
by_each_directory( directory_entry, entry_array )
呼び出し時 各フォルダのファイルについて search を呼び出した後、かつリストビューに表示される前
引数1 Searcher.Entry クラス インスタンス 該当のフォルダ用のエントリ
引数2 配列(Searcher.Entry クラス インスタンス) searchtrue になったエントリのみ
戻り値 無し
備考 配列のエントリの search_hit の真偽でリストビューに表示するかしないかが決まる。

SearchMethod クラスのインスタンスは上記を満たす。

右クリックメニュー

BMX2WAV の本体の右クリックメニューと同じ。

TOP/拡張スクリプト/外部仕様一覧