CopyAlias
概要
トラックバー、オブジェクトのエイリアスをクリップボードにコピーする
詳細説明
CopyAlias
AviUtl ExEdit2 用の aux2 プラグインです。エイリアス文字列(.object 相当)を扱う複数の補助機能を提供します。
主な機能
| 入口 | 機能 | 動作 |
|---|---|---|
| オブジェクト右クリック | エイリアスをコピー | 選択中オブジェクトのエイリアスを CRLF 連結して CF_UNICODETEXT でコピー |
| オブジェクト右クリック | エイリアスの値をペースト | クリップボードの INI から項目をツリーで選び、選択中の全オブジェクトへ部分適用 |
| オブジェクト右クリック | エイリアスからパスをコピー | エイリアス内のパス候補を抽出し、選んでコピー |
| レイヤー右クリック | クリップボードからオブジェクト貼り付け | クリップボードのエイリアスからオブジェクトを生成(複数対応) |
| 設定項目右クリック | トラックバーのパラメータをコピー | その項目の値・移動方法・加減速・中間点無視・パラメータ・時間制御データをコピー |
| 設定項目右クリック | トラックバーのパラメータをペースト | 反映する要素を選んで適用。中間点数の違いは自動調整 |
| 設定項目・エフェクト名右クリック | エフェクトのトラックバーを一括コピー | そのエフェクトの全トラックバー項目の値をまとめてコピー |
| 設定項目・エフェクト名右クリック | エフェクトのトラックバーを一括ペースト | 項目名の一致で対応付け、要素を選んでまとめて適用 |
上4つがオブジェクト単位、下4つが設定項目単位の操作です。
使い方
オブジェクトを丸ごと複製したい
- レイヤー編集でオブジェクトを選択し、右クリックから「エイリアスをコピー」
- 別の場所で右クリックから「クリップボードからオブジェクト貼り付け」
選択オブジェクトがあればその位置、なければカーソル位置を基準に、元の相対位置を保って配置されます。
設定の一部だけ他のオブジェクトへ移したい
- コピー元で「エイリアスをコピー」
- 反映先のオブジェクトを選択し、右クリックから「エイリアスの値をペースト」
- ダイアログのツリーで反映したいプロパティにチェック
- 「適用」で選択中の全オブジェクトへ反映
エフェクト構成が違うオブジェクトはスキップされ、エラーにはなりません。
トラックバーの動きだけ揃えたい
- オブジェクト設定でトラックバー項目(
X、拡大率など)を右クリックし「トラックバーのパラメータをコピー」 - 反映先の項目を右クリックし「トラックバーのパラメータをペースト」
- ダイアログで反映する要素(値 / 移動方法 / 加速・減速 / 中間点無視 / パラメータ / 時間制御データ)にチェック
- 「貼り付け」で適用
移動方法だけ・加減速だけ、といった部分的な適用ができます。選択中オブジェクトが複数ある場合は、同じ項目へ一括適用するオプションを選べます。
エフェクトの動きをまとめて移したい
- オブジェクト設定でエフェクト名(
標準描画など)を右クリックし、「エフェクトのトラックバーを一括コピー」 - 貼り付け先のエフェクト名を右クリックし「エフェクトのトラックバーを一括ペースト」
- 反映する要素(全項目共通)と、適用する項目をチェック
- 「貼り付け」で適用
項目名が一致するものだけが対象になるため、標準描画 の 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.dlltarget/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 の本文も収録しています