Skip to content

Commit 01e4d2f

Browse files
committed
バージョンをv1.9.4へ更新
1 parent 93172c9 commit 01e4d2f

3 files changed

Lines changed: 27 additions & 48 deletions

File tree

.github/CHANGELOG.md

Lines changed: 25 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,44 @@
1-
# v1.9.3 - Lua スクリプト for YMM4
1+
# v1.9.4 - Lua スクリプト for YMM4
22

3-
`obj.effect` が呼び出すエフェクトを、AviUtl/AviUtl2 のエフェクト名・パラメータ名から
4-
YMM4 の映像エフェクトへ対応づける互換マップを追加したリリースです。対応関係は
5-
宣言的な互換マップに集約し、`obj.effect` の解決をこのマップ駆動へ置き換えました。マップに
6-
宣言されたエフェクトとパラメータだけが解決され、AviUtl と同じ尺度で渡した値は宣言された
7-
変換を経て YMM4 のプロパティへ反映されます
3+
v1.9.3 で追加した AviUtl/AviUtl2 互換マップによる `obj.effect` の解決を見直したリリース
4+
です。v1.9.3 では `obj.effect` を互換マップ駆動へ置き換えた結果、互換マップに宣言の無い
5+
名前が解決されなくなっていました。本リリースでは解決を二段階方式にし、互換マップを優先しつつ、
6+
宣言の無い名前は従来どおり YMM4 のエフェクト名・キーワードで直接解決するように戻しました。
7+
あわせて互換マップの読み込みを例外安全にし、退避の経路を段階的に整理しました
88

99
---
1010

1111
## 新機能・機能改善
1212

13-
### 1. AviUtl/AviUtl2 互換マップの追加
13+
### 1. obj.effect の解決を二段階化
1414

15-
AviUtl/AviUtl2 のエフェクト名・パラメータ名と、YMM4 の映像エフェクト・プロパティの
16-
対応関係を宣言的な互換マップとして追加しました。
15+
`obj.effect` のエフェクト解決を、互換マップを優先する二段階方式にしました。
1716

18-
- マップは埋め込みリソースの XML として保持し、エフェクトごとに対象エンジン
19-
(AviUtl・AviUtl2・両方)・対象エフェクト・パラメータの対応を宣言します。
20-
- パラメータには倍率とオフセットの変換を宣言でき、AviUtl と同じ尺度で渡した値を
21-
YMM4 のプロパティへ正しく反映します。
22-
- 対応関係は YMM4 自身が AviUtl の `.exo` へ書き出す変換の逆として定義しており、
23-
往復しても結果が一致します。
24-
25-
### 2. obj.effect の互換マップ駆動化
26-
27-
`obj.effect` のエフェクト解決を、互換マップ駆動へ置き換えました。
28-
29-
- マップに宣言されたエフェクトとパラメータだけを解決し、宣言の無いものは適用しません。
30-
- パラメータは AviUtl のパラメータ名で指定し、マップを介して YMM4 のプロパティへ
31-
変換します。
32-
33-
### 3. 対象エンジンの指定子
34-
35-
互換マップの対象エンジンを切り替える指定子を追加しました。
36-
37-
- `--!aviutl`(既定)/`--!aviutl2` で対象エンジンを選び、対象に一致するエントリ
38-
だけを解決します。
17+
- まず互換マップを参照し、AviUtl/AviUtl2 の名前として宣言したエフェクトは、
18+
パラメータ名の対応と倍率・オフセットの変換を経て YMM4 のプロパティへ反映します。
19+
- 互換マップに宣言の無い名前は、従来どおり YMM4 のエフェクト名・キーワードで直接解決し、
20+
パラメータ名はプロパティ名・表示名と照合します。「ウェーブクリッピング」など YMM4・
21+
コミュニティのエフェクトを名前で呼ぶ使い方が再び動作します。
3922

4023
---
4124

4225
## 互換性・後方互換
4326

44-
- `obj.effect` の解決方式が変わりました。従来はエフェクト名・キーワードとの照合と
45-
プロパティ名の直接設定で適用していましたが、本リリースからは互換マップに宣言された
46-
エフェクトとパラメータのみを解決します。マップに宣言の無いエフェクト・パラメータは
47-
適用されません。
48-
- 対象エフェクトが YMM4(およびコミュニティプラグイン)に読み込まれていない場合や、
49-
適用に失敗した場合は、そのフレームでは元の映像をそのまま出力します(ログへ一度だけ
50-
警告を出力)。従来のエラー時挙動と同様です。
27+
- v1.9.3 で互換マップに宣言の無い名前による `obj.effect` が解決されなくなっていた問題を
28+
修正し、YMM4 のエフェクト名・キーワードによる直接呼び出しを従来どおりに戻しました。
29+
- 解決は段階的に退避します。互換マップを読み込めない場合や、マップに宣言した対象
30+
エフェクトが読み込まれていない場合は、その名前を YMM4 の名前として直接解決します。
31+
直接解決もできない場合や適用に失敗した場合は、そのフレームでは元の映像をそのまま
32+
出力します(ログへ一度だけ警告を出力)。従来のエラー時挙動と同様です。
5133
- スクリプト言語・実行エンジン(MoonSharp / LuaJIT)・エディタの既存挙動は変わりません。
5234

5335
---
5436

5537
## 内部実装
5638

57-
- 互換マップは埋め込み XML リソースとして保持し、読み込みは .NET 標準の
58-
`System.Xml.Linq` のみで行います。外部ライブラリの追加はありません。
59-
- マップの対象エフェクトは型名で解決し、`EffectFactories` から構築した型レジストリと
60-
突き合わせます。対象が読み込まれていない場合は解決せず、元の映像を出力します。
61-
- 互換マップは YMM4 の `.exo` 出力(`CreateExoVideoFilters`)の逆変換として構築し、
62-
パラメータ名・倍率・オフセットを宣言値として保持します。
63-
- 対象エンジンの指定子は `--!aviutl` / `--!aviutl2` を解析し、未指定時は `--!aviutl`
64-
として扱います。
65-
- 互換マップの解決・変換・対象エンジン判定に対するテストを追加しました。
39+
- 互換マップの読み込みを例外安全にし、リソースの欠損や XML の破損が起きても空のマップへ
40+
退避します。互換マップの不備が `obj.effect` 全体を停止させることはなく、直接解決は
41+
そのまま機能します。
42+
- 解決に用いる型名のレジストリと、エフェクト名・キーワードのレジストリは、
43+
`EffectFactories` の一度の走査でまとめて構築します。マップの対象型が見つからない場合は
44+
名前による直接解決へ退避し、いずれも見つからない場合のみ当該エフェクトを適用しません。

.github/Plugin_Readme.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
========================================
2-
Luaスクリプト for YMM4 v1.9.3
2+
Luaスクリプト for YMM4 v1.9.4
33
========================================
44
YukkuriMovieMaker4(YMM4)上で動作する、Luaスクリプトで映像エフェクトのパラメータや
55
ピクセルを直接制御できるプラグインです。

LuaScript/LuaScript.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
55
<UseWPF>true</UseWPF>
66
<ImplicitUsings>enable</ImplicitUsings>
7-
<Version>1.9.3</Version>
7+
<Version>1.9.4</Version>
88
<Platforms>AnyCPU;x64</Platforms>
99
<Nullable>enable</Nullable>
1010
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

0 commit comments

Comments
 (0)