汎用プラグイン

CopyAlias

概要

トラックバー、オブジェクトのエイリアスをクリップボードにコピーする

詳細説明

CopyAlias

AviUtl ExEdit2 用の aux2 プラグインです。エイリアス文字列(.object 相当)を扱う複数の補助機能を提供します。

主な機能

入口 機能 動作
オブジェクト右クリック エイリアスをコピー 選択中オブジェクトのエイリアスを CRLF 連結して CF_UNICODETEXT でコピー
オブジェクト右クリック エイリアスの値をペースト クリップボードの INI から項目をツリーで選び、選択中の全オブジェクトへ部分適用
オブジェクト右クリック エイリアスからパスをコピー エイリアス内のパス候補を抽出し、選んでコピー
レイヤー右クリック クリップボードからオブジェクト貼り付け クリップボードのエイリアスからオブジェクトを生成(複数対応)
設定項目右クリック トラックバーのパラメータをコピー その項目の値・移動方法・加減速・中間点無視・パラメータ・時間制御データをコピー
設定項目右クリック トラックバーのパラメータをペースト 反映する要素を選んで適用。中間点数の違いは自動調整
設定項目・エフェクト名右クリック エフェクトのトラックバーを一括コピー そのエフェクトの全トラックバー項目の値をまとめてコピー
設定項目・エフェクト名右クリック エフェクトのトラックバーを一括ペースト 項目名の一致で対応付け、要素を選んでまとめて適用

上4つがオブジェクト単位、下4つが設定項目単位の操作です。

使い方

オブジェクトを丸ごと複製したい

  1. レイヤー編集でオブジェクトを選択し、右クリックから「エイリアスをコピー」
  2. 別の場所で右クリックから「クリップボードからオブジェクト貼り付け」

選択オブジェクトがあればその位置、なければカーソル位置を基準に、元の相対位置を保って配置されます。

設定の一部だけ他のオブジェクトへ移したい

  1. コピー元で「エイリアスをコピー」
  2. 反映先のオブジェクトを選択し、右クリックから「エイリアスの値をペースト」
  3. ダイアログのツリーで反映したいプロパティにチェック
  4. 「適用」で選択中の全オブジェクトへ反映

エフェクト構成が違うオブジェクトはスキップされ、エラーにはなりません。

トラックバーの動きだけ揃えたい

  1. オブジェクト設定でトラックバー項目(X、拡大率 など)を右クリックし「トラックバーのパラメータをコピー」
  2. 反映先の項目を右クリックし「トラックバーのパラメータをペースト」
  3. ダイアログで反映する要素(値 / 移動方法 / 加速・減速 / 中間点無視 / パラメータ / 時間制御データ)にチェック
  4. 「貼り付け」で適用

移動方法だけ・加減速だけ、といった部分的な適用ができます。選択中オブジェクトが複数ある場合は、同じ項目へ一括適用するオプションを選べます。

エフェクトの動きをまとめて移したい

  1. オブジェクト設定でエフェクト名(標準描画 など)を右クリックし、「エフェクトのトラックバーを一括コピー」
  2. 貼り付け先のエフェクト名を右クリックし「エフェクトのトラックバーを一括ペースト」
  3. 反映する要素(全項目共通)と、適用する項目をチェック
  4. 「貼り付け」で適用

項目名が一致するものだけが対象になるため、標準描画 の X Y を別のスクリプト効果の X Y へ移すこともできます。対応先が無い項目はダイアログに一覧表示されます。

素材のパスを知りたい

オブジェクトを選択し、右クリックから「エイリアスからパスをコピー」。候補が複数あれば選択ダイアログが出ます。

共通の仕様

  • 選択0件では何もしない(フォーカスオブジェクトへのフォールバックなし)
  • エイリアスの形式は単一オブジェクトのエイリアスファイル(.object)と同一
  • 複数選択時は全件のエイリアスを CRLF 連結してコピー
  • 適用時のエラーは中断せず継続し、結果をログへ集計出力
  • トラックバー項目は、中間点数が異なる場合に値の個数を自動調整

詳細な仕様は docs/SPEC.md を参照してください(SDK API 対応表・パース規約・ダイアログ仕様・制限事項)。

エイリアスの形式

[Object]
frame=87,167
[Object.0]
effect.name=図形
図形の種類=円
サイズ=100
縦横比=0.00
ライン幅=4000
色=ffffff
角を丸くする=0
[Object.1]
effect.name=標準描画
X=0.00
Y=0.00
Z=0.00
Group=1
中心X=0.00
中心Y=0.00
中心Z=0.00
X軸回転=0.00
Y軸回転=0.00
Z軸回転=0.00
拡大率=100.000
縦横比=0.000
透明度=0.00
合成モード=通常

各機能の詳細

エイリアスの値をペースト

クリップボードに INI 形式テキスト(.object 相当)があれば、コピー元がエイリアスでなくても適用できます。

  • [Object] セクションのメタ情報(frame など)は表示しない
  • effect.name が無い [Object.N] セクションは表示しない
  • 反映対象は「現在選択中の全オブジェクト」
  • エフェクト不一致・項目不一致はスキップして継続
  • 同名エフェクトが複数ある場合は出現順(0始まり)で対応付け
  • 反映は INI の順番で行う(後勝ち)
  • トラックバー項目は、中間点数が異なる場合に値の個数を自動調整する(移動方法や加減速はそのまま)

クリップボードからオブジェクト貼り付け

  • クリップボードのテキストを複数エイリアスに分割して順に作成
  • 配置基準:
    • 選択オブジェクトがある場合: 先頭選択オブジェクトの layer / 開始フレームを基準
    • 選択オブジェクトがない場合: 現在カーソル位置を基準
  • エイリアス側の layer / frame の相対差を保って貼り付け

エイリアスからパスをコピー

  • 選択中オブジェクトのエイリアスを解析し、パス候補を重複除去して一覧表示
  • C:\... / \\server\share\... などの Windows パス形式を対象
  • 候補を選択するとクリップボードへコピー

トラックバーのパラメータをコピー / ペースト

  • 中間点数が異なるオブジェクトへ貼り付けると、値の数を自動調整する(多ければ切り詰め、少なければ末尾値で補完)
  • コピー元に無い要素はダイアログ上で選択できない
  • 適用後の値をダイアログ上でプレビュー表示
  • クリップボードには CopyAlias 形式のほか、エイリアス全文や設定値の文字列(0.00,100.00,直線移動,3 など)も貼り付け元として使える

設定

アプリケーションデータフォルダ(通常は C:\ProgramData\aviutl2)の CopyAlias.ini で動作を変更できます。初回起動時にテンプレートが作られます。

[CopyAlias]
; オブジェクト設定の右クリックメニューを「CopyAlias」サブメニューにまとめるか
; 0 = まとめない(既定) / 1 = まとめる
submenu=0

変更の反映には AviUtl2 の再起動が必要です。

言語ファイル

メニュー名とダイアログの文言は、AviUtl2 の言語設定に合わせて切り替わります。

  • 同梱: i18n/English.copyalias.aul2(英語表示)
  • aviutl2.toml で Language/English.copyalias.aul2 へ配置するよう定義
  • ファイル名がマルチピリオドなので、AviUtl2 の「English」設定へ上書き結合されます

他の言語を追加する場合は、English の部分を対象の言語設定名に変えたファイルを ProgramData\aviutl2\Language へ置いてください。セクション名はプラグインのファイル名にする必要があります。

[CopyAlias.aux2]
エイリアスをコピー=Copy Alias

未定義のキーは日本語のまま表示されます。言語設定を切り替えた場合、メニュー名の反映には AviUtl2 の再起動が必要です。

ビルド

  • 前提: Rust(cargo)
  • デバッグビルド: cargo build
  • リリースビルド: cargo build --release
  • ユニットテスト: cargo test --lib
  • 生成DLL:
    • target/debug/CopyAlias.dll
    • target/release/CopyAlias.dll
  • aviutl2.toml のアーティファクト設定で Plugin/CopyAlias.aux2 として配置可能

補足: cpp/ 配下には旧実装(C++)が残っていますが、現行は Rust 実装(src/)です。

ライセンス

  • 本体: MIT License(LICENSE)
  • 本プラグインは静的リンクでビルドされるため、依存ライブラリのコードが CopyAlias.aux2 に含まれます。各ライブラリのライセンスは THIRD-PARTY-LICENSES.md を参照してください
    • 複数ライセンスから選択できるものは MIT を選択しています
    • egui の既定フォント(Ubuntu-Light / Hack / Noto Emoji)が含まれるため、OFL-1.1 と Ubuntu Font License の本文も収録しています