汎用プラグイン

rikky_modoki.aux2

概要

rikky_moduleっぽいの(互換用)

詳細説明

rikky_modoki.aux2

rikky_moduleっぽいやつ。

警告

このプラグインはAviUtl1の互換性のために作られています。
AviUtl2用に新しくスクリプトを開発する目的では使わないでください。

使い方

  • require("rikky_module")と書いているスクリプトは基本的に動くはずです。
  • うまく読み込んでくれない場合は初期化@rikky_modoki.aux2をレイヤーの先頭に配置してください。

パラメーター置換系

foldやfontなどのパラメーター置換系はスクリプトの初回実行時にスクリプトファイルを書き換える形で置換されます。
置換後は再起動が必要です。

オブジェクトサウンド

音声を生成する範囲に「オブジェクトサウンド@rikky_modoki.aux2」を配置し、「音声を更新」を押してください。
対象範囲の映像を順番にレンダリングし、スクリプトから soundregister で登録された音声を生成します。

更新では「オブジェクトサウンド@rikky_modoki.aux2」の範囲の映像がすべてレンダリングされます。
オブジェクトを細かく分割して配置することで、更新時のレンダリング時間を短縮できます。

オーディオバッファ

audiobufferが使用されているスクリプトは、オーディオバッファを使用する範囲に「オーディオバッファ@rikky_modoki.aux2」を配置する必要があります。
「範囲内の音声をレンダリング」ボタンを押すと、対象範囲の音声がレンダリングされ、スクリプトから audiobuffer で取得できるようになります。

更新では「オーディオバッファ@rikky_modoki.aux2」の範囲の音声がすべてレンダリングされます。
オブジェクトを細かく分割して配置することで、更新時のレンダリング時間を短縮できます。

実装済関数

  • [ ] getinfo
    • [x] "version":バージョン情報(互換用の固定値)
    • [x] "frame":現在のフレーム数・全体のフレーム数
    • [x] "aup":プロジェクトのフルパス・ファイル名(保存時に記録)
    • [ ] "output":出力先のフルパス・ファイル名(現在は空文字列)
    • [x] "state":編集・保存・再生状態
    • [x] "path":実行ファイル・拡張編集・デスクトップの場所
    • [x] "focus":選択状態
    • [x] "blend":合成モード
      • [x] 指定なし:スクリプトで設定した合成モードを数値で取得
      • [x] 1:オブジェクトの合成モードを取得
      • [x] 2:スクリプトで設定した合成モードを数値または文字列で取得
    • [x] "group":グループ制御の情報・制御下かどうか(複数のグループ制御の移動・回転・拡大率を合成)
    • [x] "root":現在のシーン
    • [ ] "text":テキスト
      • [x] 指定なし:テキストオブジェクトの文字列
      • [ ] 指定なし:obj.load("text") で読み込んだ文字列
      • [x] レイヤ指定:指定レイヤのテキストオブジェクトの文字列
    • [x] "buffer":現在の描画先
    • [x] "dialog":パラメーター設定ウィンドウの表示状態(obj.getoption("gui") で代用)
    • [ ] "object":オブジェクトの種類・設定
      • [x] 動画ファイル(alphachannel は 1 固定)
      • [x] 画像ファイル
      • [x] テキスト(soft・monospace・presision は固定値)
      • [x] 図形
      • [x] フレームバッファ
      • [x] 音声波形
      • [x] シーン(シーン番号のキーは scenenumber)
      • [x] 直前オブジェクト
      • [x] フィルタオブジェクト
      • [x] カスタムオブジェクト
      • [x] グループ制御
      • [x] カメラ制御(zbuffer は 1 固定)
      • [ ] 不明・未対応オブジェクトの判定(現在はカスタムオブジェクト扱い)
    • [x] "start_end":オブジェクトの開始・終了フレーム
    • [ ] "filter":フィルタ一覧・現在位置・総数(スクリプトのみ対応、標準フィルタは未対応)
    • [x] "shadow":シャドー対象の有無
    • [x] "antialias":アンチエイリアスの有無(1 固定)
    • [x] "culling":裏面非表示
    • [x] "billboard":カメラの方向を向く設定
    • [ ] "force":合成モードの強制(現在は 0 固定)
    • [ ] "input":読み込み可能な拡張子
    • [ ] "hwnd":ウィンドウ情報
      • [x] 指定なし:メインウィンドウのハンドル
      • [ ] 1:オブジェクト操作ウィンドウのハンドル
      • [ ] 2:再生ウィンドウのハンドル
      • [ ] 3:表示中のウィンドウ一覧
      • [ ] 4:すべてのウィンドウ一覧
      • [ ] ウィンドウ名の取得
    • [x] "count":処理実行回数(適当な単調増加値)
    • [ ] "cache":キャッシュ名一覧(現在は空テーブルと 0)
    • [ ] "groups":グループ内の順番・総数・ID(現在は 0, 1, 0 固定)
    • [ ] "font":フォント設定
      • [x] setfontでの指定
      • [ ] オブジェクトのフォント設定(現在は常に setfont の値を返す)
    • [x] "draw_state":描画済みかどうか
  • [x] file
  • [x] fold
  • [x] font
  • [x] list
  • [x] checkbox
  • [x] colordialog(パレット指定は未対応)
  • [x] fileCS
  • [x] foldCS
  • [x] fontCS
  • [x] listCS
  • [x] checkboxCS
  • [x] colordialogCS(パレット指定は未対応)
  • [x] png
  • [x] jpg
  • [x] bmp
  • [x] dir(直下の項目のフルパスを取得)
    • [x] 拡張子指定:ファイル一覧(複数指定・大文字小文字を区別しない)
    • [x] "":フォルダ一覧
    • [x] "*all":すべてのファイル一覧
  • [ ] key
    • [ ] キー名・キーコード:キーボードの状態
    • [ ] "LB"・"RB":マウスボタンの状態
    • [ ] "JOYPAD":ジョイパッドの状態
    • [ ] "PASSED":リアルタイム以外の入力取得
  • [x] find
  • [x] type
  • [ ] desk
  • [ ] mouse
    • [ ] 指定なし:メインウィンドウ基準の座標
    • [ ] "playwindow":再生ウィンドウ基準の座標
    • [ ] "auto":再生ウィンドウを自動判定
    • [ ] ウィンドウハンドル指定:指定ウィンドウ基準の座標
  • [x] image
    • [x] "w":画像を保存
    • [x] "w+":透明度を反映して保存
    • [x] "r":画像を読み込み、座標などを初期化
    • [x] "r+":座標などを引き継いで読み込み
    • [x] "c":指定した画像を削除
    • [x] "c+":すべての画像を削除
    • [x] "g":未使用の ID を取得
    • [x] "g+":使用中の ID 一覧を取得
    • [x] "m":画像を合成してデータを取得
    • [x] "m+":画像を合成して読み込み
    • [x] "i":画像のユーザーデータ・サイズを取得
    • [x] "i+":画像の ARGB テーブル・サイズを取得
    • [x] "p":画像をコピー
    • [x] "p+":コピー先が未使用の場合のみコピー
    • [x] "u":指定位置の色・透明度を取得
    • [x] "u+":指定位置の RGBA 成分を取得
  • [x] assign(グローバル変数が対象)
    • [x] "make":変数への代入(文字列・数値・真偽値・テーブル)
    • [x] "copy":変数の値を取得(未定義なら nil)
  • [x] convert
    • [x] "shift-jis":文字列と Shift-JIS バイト列のテーブルを相互変換
    • [x] "unicode":文字列と UTF-16 コード単位のテーブルを相互変換
    • [x] "utf8":文字列と UTF-8 バイト列のテーブルを相互変換
    • [x] "hex"・"HEX":Unicode の16進数表記
    • [x] "big"・"little":Unicode のバイト順指定
  • [ ] datasave
  • [x] textload(obj.load("text") と同様、テキストオブジェクト内では使用不可)
    • [x] 第2引数:左・中央・右揃え
    • [x] 第3引数:中心位置を9箇所から指定
    • [x] 第4引数:横書き・縦書き
    • [x] 第5・6引数:フォント名・サイズを指定
  • [x] bordering(間引き前に5点以上ある輪郭を取得)
    • [x] 輪郭ごとの座標・点数・輪郭数を取得
    • [x] 数値指定:輪郭の点を間引き
    • [x] "pixel":ピクセル座標で取得(拡大・回転を無視)
    • [x] アルファ値のしきい値を指定
    • [x] 拡大率・回転を反映(回転時はXYZ座標)
    • [x] hq:斜めの輪郭をより細かく取得
  • [ ] camerainfo
    • [x] カメラの位置・焦点・向き・回転角度
    • [x] 視野角の距離・深度ぼけ
    • [x] オブジェクトとカメラの距離・方向
    • [x] オブジェクトの正面・横向きのベクトル
    • [x] 画面上の座標・倍率(旧スクリプトの拡大率・縦横比に対応)
    • [ ] シャドーの光源・精度・濃度・有効状態(取得APIがないため全項目 0 固定)
    • [x] カメラの方向を向く設定
    • [x] obj.draw・obj.drawpoly 相当の引数を反映した情報取得
    • グループ制御は getinfo("group") と同じ範囲に対応。カメラ面上の点や法線を定義できないポリゴンはエラー。
  • [x] audiobuffer
    • [x] 引数なし:チャンネル数・サンプル周波数
    • [x] "PCM":PCM 波形
    • [x] "FOURIER":フーリエ変換
    • [x] "SPECTRUM":スペクトラム
    • [x] デシベル(参照ファイルでは "DESIBEL"・"DECIBEL" の両表記あり)
    • [x] "relative"・"absolute":相対・絶対フレーム指定
    • [x] "stereo"・"monaural":ステレオ・モノラル
    • [x] 要素数・分解能・周波数範囲の指定
  • [x] colorconvert
    • [x] "rgb":RGB との相互変換
    • [x] "yc":YCbCr との相互変換
    • [x] "hsv":HSV との相互変換
    • [x] "hsl":HSL との相互変換
    • [x] "xyz":XYZ との相互変換
    • [x] "lab":L*a*b* との相互変換
    • [x] "cmy":CMY との相互変換
    • [x] "cmyk":CMYK との相互変換
    • [x] "complemntary":補色("complementary" も使用可能)
    • [x] "opposite":反対色
  • [x] rotation
    • [x] "X"・"Y"・"Z":各軸での回転
    • [x] ベクトル指定:任意の軸での回転
    • [x] 中心点の指定
    • [x] 座標のみ指定:直前の回転設定を再利用
  • [x] axisconvert
    • [x] 任意の直交軸での回転をAviUtlの回転角度へ変換
    • [x] 度数法・弧度法
  • [x] axisconvertEx
    • [x] 任意個数の軸回転
    • [x] 度数法・弧度法
    • [x] 後続の回転軸を固定・追従する指定
    • [x] 初期X軸・Y軸の指定
  • [ ] setdialogparam
  • [x] glassdraw_init
  • [x] glassdraw
    • [x] obj.draw 相当の描画
    • [x] obj.drawpoly 相当の描画
  • [x] materialdraw_init
    • [x] テーブル指定:最大4光源・環境色・鏡面反射・発光色の設定(省略した成分は前回値を保持)
    • [x] light_num:光源数。positionN・lightNの更新時にも指定が必要
    • [x] 光源位置:直接座標・"camera"・"L1"〜"L100"(空のレイヤーは指定座標を使用)
    • [ ] "shadow":取得APIがないためエラー
    • [x] 0:設定・元画像の初期化(描画前に再度initが必要)
  • [x] materialdraw
    • [x] obj.draw 相当の描画
    • [x] obj.drawpoly 相当の描画(明示UVを維持し、UV矩形の周囲2ピクセルまで加工)
    • [x] 元画像のアルファ保持・描画後の画像復元
  • [x] materialdrawEx
    • [x] 光源・材質・元画像を返り値ごとに保持(ambientは0〜255、emissiveは0〜100)
    • [x] 点光源・光源ごとの鏡面反射・dampingによる距離減衰
    • [x] 光源位置:直接座標・"camera"・レイヤ番号・"@相対番号"
    • [ ] "shadow":取得APIがないためエラー
    • [x] "spotlight":スポットライト(double=trueで両面)
    • [x] "directlight":面光源(単色・レイヤ画像・"*画像パス"、リサイズ・分割・両面)
    • [x] :draw:描画
    • [x] :drawpoly:四角形の頂点を指定して描画(明示UV・元画像のアルファを保持)
    • [x] drawhq:高精度描画(:drawのみ、drawhq_partitionの指定も必要)
  • [ ] reloadbuffer
    • [ ] 引数なし:再読込中かどうかを取得
    • [ ] 指定フレームの再処理
    • [ ] フレームバッファの画像データ取得
    • [ ] 相対・絶対フレーム指定
    • [ ] レイヤ一覧・"self"・"other":処理対象レイヤの指定
    • [ ] 表示・非表示の指定を反転
  • [x] parameter(設定画面のグループで代用)
    • [x] 数値入力・範囲・刻み幅の指定
    • [x] チェックボックス
    • [x] 文字列入力
    • [x] テーブル入力
    • [x] 型を限定しない入力
    • [x] *file:ファイル選択
    • [x] *folder:フォルダ選択
    • [x] *font:フォント選択
    • [x] *color:色選択
  • [x] parameterCS(設定画面のグループで代用)
    • [x] 数値入力・範囲・刻み幅の指定
    • [x] チェックボックス
    • [x] 文字列入力
    • [x] テーブル入力
    • [x] 型を限定しない入力
    • [x] *file:ファイル選択
    • [x] *folder:フォルダ選択
    • [x] *font:フォント選択
    • [x] *color:色選択
  • [ ] setdialogparamCS
  • [ ] ObjectOrientFigure
    • [ ] 図形オブジェクトの生成
    • [ ] Draw:描画
    • [ ] SetFigure:図形を番号で設定
    • [ ] GetFigure:図形の番号を取得
    • [ ] SetFigureStr:図形を名前で設定
    • [ ] GetFigureStr:図形の名前を取得
    • [ ] SetSize:サイズを設定
    • [ ] GetSize:サイズを取得
    • [ ] SetColor:色を設定
    • [ ] GetColor:色を取得
    • [ ] SetRGB:RGB で色を設定
    • [ ] GetRGB:RGB を取得
    • [ ] SetLine:ライン幅を設定
    • [ ] GetLine:ライン幅を取得
    • [ ] SetZoom:拡大率を設定
    • [ ] GetZoom:拡大率を取得
    • [ ] SetAlpha:不透明度を設定
    • [ ] GetAlpha:不透明度を取得
    • [ ] SetPos:位置を設定
    • [ ] GetPos:位置を取得
    • [ ] ShiftPos:位置を相対的に変更
    • [ ] SetAngle:角度を設定
    • [ ] GetAngle:角度を取得
    • [ ] ShiftAngle:角度を相対的に変更
    • [ ] SetEffect:フィルタを設定
    • [ ] GetEffect:フィルタを取得
    • [ ] ClearEffect:すべてのフィルタを削除
    • [ ] RemoveEffect:指定したフィルタを削除
    • [ ] Copy:オブジェクトを複製
  • [ ] pixelfunction
    • [ ] nil:現在のオブジェクトのみを処理
    • [ ] userdata:別の画像データを参照して処理
    • [ ] 1次元テーブル:別の画像データを参照して処理(0始まり・1始まり)
    • [ ] 2次元テーブル:別の画像データを参照して処理(0始まり・1始まり)
  • [x] textsplit(UTF-8の文字単位で分割、制御タグ・文字参照・追加タグに対応)
  • [x] string2table(Luaのテーブル表記を評価)
  • [ ] trackbarwrite
  • [ ] sceneload
    • [ ] シーン番号のみ:シーン全体のフレーム数を取得
    • [ ] シーン番号・フレーム指定:シーンの画像を読み込み
  • [x] linedetection(SweepLSDで代用)
    • [x] 精度指定:検出時の画像倍率
    • [x] 透明部分の背景色を指定
    • [x] 左上基準・中央基準の座標
    • [x] { x0, y0, x1, y1 } のテーブル一覧と本数(未検出時はfalse)
  • [ ] clipboard
    • [ ] "w"・文字列:テキストを書き込み
    • [ ] "w"・指定なし/0:オブジェクトの画像を書き込み
    • [ ] "w"・1:フレームバッファを書き込み
    • [ ] "w"・2:仮想バッファを書き込み
    • [ ] "w"・userdata:画像データを書き込み
    • [ ] "r", "text":テキストを読み込み
    • [ ] "r", "image":画像をオブジェクトに読み込み
    • [ ] "r", "image", true:画像データ・サイズを取得
  • [x] fillarea
    • [x] 0:アルファ値がしきい値以上の領域
    • [x] 1:アルファ値がしきい値以下の領域
    • [x] 2:アルファ値が開始位置以上の領域
    • [x] 3:アルファ値が開始位置以下の領域
    • [x] 4:アルファ値が開始位置±しきい値の領域
    • [x] 5:色相がしきい値以上の領域
    • [x] 6:色相がしきい値以下の領域
    • [x] 7:色相が開始位置以上の領域
    • [x] 8:色相が開始位置以下の領域
    • [x] 9:色相が開始位置±しきい値の領域
    • [x] 10:彩度がしきい値以上の領域
    • [x] 11:彩度がしきい値以下の領域
    • [x] 12:彩度が開始位置以上の領域
    • [x] 13:彩度が開始位置以下の領域
    • [x] 14:彩度が開始位置±しきい値の領域
    • [x] 15:明度がしきい値以上の領域
    • [x] 16:明度がしきい値以下の領域
    • [x] 17:明度が開始位置以上の領域
    • [x] 18:明度が開始位置以下の領域
    • [x] 19:明度が開始位置±しきい値の領域
    • [x] 20:輝度がしきい値以上の領域
    • [x] 21:輝度がしきい値以下の領域
    • [x] 22:輝度が開始位置以上の領域
    • [x] 23:輝度が開始位置以下の領域
    • [x] 24:輝度が開始位置±しきい値の領域
  • [x] effect(multiobjectによる擬似的な実装)
  • [ ] midiconverter
  • [ ] midiconverterEx
    • [ ] MIDI 変換・解析データとメソッドの設定
    • [ ] SetOffsetTime:再生時間のオフセット
    • [ ] SetUprange:取得範囲の上限
    • [ ] SetDownrange:取得範囲の下限
    • [ ] SetTyperange:取得範囲の単位
    • [ ] Step2Time:経過時間を秒数に変換
    • [ ] Time2Step:秒数を経過時間に変換
    • [ ] Step2Bar:経過時間を小節・拍に変換
    • [ ] Bar2Step:小節・拍を経過時間に変換
    • [ ] NoteNumber2KeyName:ノート番号を音名に変換
    • [ ] KeyName2NoteNumber:音名をノート番号に変換
    • [ ] GetMaxNoteNumber:最高音のノート番号
    • [ ] GetMaxNoteName:最高音の音名
    • [ ] GetMinNoteNumber:最低音のノート番号
    • [ ] GetMinNoteName:最低音の音名
    • [ ] GetTrackNum:トラック数
    • [ ] GetDeltaTime:単位時間
    • [ ] GetMidiLength:曲全体の経過時間
    • [ ] GetNowScaleKey:現在・指定範囲内のスケールキー
    • [ ] GetNowScaleName:現在・指定範囲内の調号
    • [ ] GetNowBPM:現在・指定範囲内の BPM
    • [ ] GetNowStepNum:現在・指定範囲内の経過時間
    • [ ] GetNowNote:現在・指定範囲内のノート
    • [ ] GetNowExpression:現在・指定範囲内のエクスプレッション
  • [ ] settext
  • [x] soundregister(「音声を更新」による事前生成方式)
    • [x] 引数なし:音声登録が可能な状態かを取得
    • [x] ファイルパスのみ:音声の長さを秒数で取得(読み込めない場合は false)
    • [x] ファイルパス, フレーム, 音量, 速度[, パン, 反転]:音声を登録
  • [x] progressbar
    • [x] "start", タイトル[, 色]:進捗ウィンドウを表示(色は 0xRRGGBB、省略時は黒)
    • [x] "processing", 進捗率:進捗を更新・キャンセルを検知(100以上で自動終了)
    • [x] "end":進捗ウィンドウを閉じる

ライセンス

MIT Licenseで公開しています。詳細はLICENSEをご覧ください。