oov / aviutl_gcmzdrops Goto Github PK
View Code? Open in Web Editor NEWごちゃまぜドロップス
Home Page: https://www.nicovideo.jp/watch/sm33020019
License: MIT License
ごちゃまぜドロップス
Home Page: https://www.nicovideo.jp/watch/sm33020019
License: MIT License
詳細はまだ不明。
SplitWindow(4.6.0) 、ごちゃまぜドロップス(0.3.25) etc...
↑この環境で起動して、拡張編集にMP4をドロップするとエラー画面が表示され、
LOG
2023-10-25_01-47-55-956_12008.txt
完全にAviutlが動かなくなります。(タスクマネージャーで強制終了しないとダメ)
更新しても動かなくなります。
SplitWindowまたはこのプラグイン、どちらかを抜けば動作するのですが、
他の機能は異常ありません。
現状はテキストファイルを Shift_JIS
に変換して拡張編集に渡しているが、このアプローチになっている理由は拡張編集が Shift_JIS
のテキストファイルでなければ受け取れないから。
代わりに *.exo
を生成するようにすれば UTF-16
でテキストを渡すことができるので、恐らくサロゲートペア以外は上手く処理できる。
「使えない文字がある」とエラーメッセージに書いているのにも関わらず
定期的に「どうすればいいんだ?」と言っている人が現れる。
どの文字が使えないのかが明示されていないのが原因と思われるので、
駄目だった文字が「?」になった状態でエラーメッセージを表示するようにする。
更に、「このファイルを読み込むためには ? の部分を修正する必要があります。」のメッセージを加える。
古いバージョンと共存してしまうケースを検出する。
起こる原因は不明だが、高さを正しく検出できなかった結果想定と違う場所に挿入されてしまう。
現在はドロップの度にステートマシンを作り直しているが、将来的には使い回すようにして重めの初期化処理が何度も走らないようにしたい。
その代わり再起動しないと新しいスクリプトが認識されないことになるので、再構築用のメニュー項目を追加するようにする。
GCMZDrops.encodeexotext
に UTF-8 対応版を追加したい。
Lua スクリプトは基本的には Shift_JIS で記述されているはずなので日本語処理がしづらい問題はあるものの、サロゲートペアでなければ Shift_JIS の範囲外の文字の出力もできるようなので対応する価値はありそう。
カラーパレットに次ぐAviUtl機能向上プラグインだと思います。ありがとうございます。
原因、再現方法不明。
LuaJIT を使うと ondrop
時に lua51.dll
の内部で例外が起きて処理が止まってしまう(v0.3.7)。
デバッガで追ってみたが原因がまだ掴めていない。
理由が判明するまでは LuaJIT は非サポートとして扱う。
まだ症状を未確認。
oov/forcepser#13 で発覚。
AviUtl の環境設定で「ロード時に映像と音声の長さが0.1秒ずれているものは自動的にfps調整する」にチェックが入っている状態で新規プロジェクトを作成すると、外部連携 API で取得できるプロジェクト情報にフレームレート20、スケール1000000などのような誤った値が入る。
外部連携用 API の初期化中にエラーが発生しました。
外部連携用 API は利用できません。
このエラーは主に AviUtl を多重起動した場合に発生します。
一度すべての AviUtl を閉じて、ひとつだけを起動してください。
このメッセージだと外部連携用 API を使わないなら普通に使えることが伝わらないようだ。
それを上手く伝えられるようなメッセージに改善する。
I want to use PSDToolKit, but I noticed that GCMZDrops makes AviUtl throw exceptions on launch.
It also happens when installing GCMZDrops on it's own, without the other PSDToolKit files.
I am using an English version of AviUtl, downloaded from https://nyaa.si/view/1310256.
According to the Version information in the Help menu it is based on Version 1.00.
Advanced Editing Plugin is Version 0.92.
I execute AviUtl using Locale Emulator so it uses Japanese locale.
The normal locale of my Windows 10 is English with UTF-8.
Without GCMZDrops installed, there are no exceptions thrown at startup.
With GCMZDrops installed:
First I get two exceptions related to chapter.auf and then one for GCMZDrops.auf.
When I move the chapter plugin to disable it, I still get the one exception for GCMZDrops.auf.
Example:
アドレス"0x0fddcbed"で例外"0xc0000005"が発生しました
発生モジュール : GCMZDrops.auf
オフセットアドレス : 0x0001cbed
備考 : FILTER::func_WndProc() [ごちゃまぜドロップス]
正常な動作が出来ない可能性がありますが処理を継続しますか?
I can provide you with the crash dump file or other information if it will help.
Thanks in advance for your help.
I hope it is acceptable that I am writing in English.
It's no problem if you want to answer in Japanese.
発生するようになるきっかけは不明だが、一度だけ遭遇したことがあり、そのときの挙動から察するに aviutl.ini が想定外の内容になっているときに発生しているように思える。
aviutl.ini を一度削除して設定し直すことによって症状自体は回避可能。
AviUtl と拡張編集のバージョンを調べて、想定より古い場合はエラーメッセージを表示するようにする。
OLEドラッグ&ドロップまでは上手く動いているはずだから、
わかりやすいエラーメッセージを出せるはず。
TMemIniFile
を Lua からアクセス可能な形で公開したい。
exo ファイルなどを組み立てる場合に、現状では外部の INI ファイル操作ライブラリを持ち込むか文字列処理で置換などを行う必要があり、それぞれ配布方法が面倒になったりコードが煩雑化したりする問題がある。
ごちゃまぜドロップス側で INI の読み書きをサポートすれば色々なスクリプトが書きやすくなると思われる。
Ver0.2.2にて、ごちゃまぜドロップスの処理モードを「コピーを作成」に設定しpngファイルをドロップすると以下のダイアログが表示され失敗します。
---------------------------
ごちゃまぜドロップス
---------------------------
ドラッグ&ドロップの処理中にエラーが発生しました。
problem occurred executing ondrop:
...pplications\aviutl\plugins\GCMZDrops\_entrypoint.lua:74: cannot open file
---------------------------
OK
---------------------------
確認したところ、avoiddup.luaでデータ保存先フォルダにコピーされたファイルを、LuaDrop(L: Plua_State)(luafuncs.pas内)で処理しようとした際にエラーとなっているようです。
コピー済みファイルをCreateオープンしようとして失敗しているように見えます。
エラーログは以下の通りです。
Error occurred.
(reported at 2023-08-09 11:18:15 on gcmzdrops.c:729 wndproc_init())
スクリプトの実行中にエラーが発生しました。
module '_exoloadhook' not found:
no field package.preload['_exoloadhook']
no file '\\Mac\Home\Documents\Apps\AviUtl\GCMZDrops\_exoloadhook.lua'
no file '.\_exoloadhook.lua'
no file '\\Mac\Home\Documents\Apps\AviUtl\lua\_exoloadhook.lua'
no file '\\Mac\Home\Documents\Apps\AviUtl\lua\_exoloadhook\init.lua'
no file '\\Mac\Home\Documents\Apps\AviUtl\_exoloadhook.lua'
no file '\\Mac\Home\Documents\Apps\AviUtl\_exoloadhook\init.lua'
no file '\\Mac\Home\Documents\Apps\AviUtl\GCMZDrops\_exoloadhook.dll'
no file '.\_exoloadhook.dll'
no file '\\Mac\Home\Documents\Apps\AviUtl\_exoloadhook.dll'
no file '\\Mac\Home\Documents\Apps\AviUtl\loadall.dll'
(error code: 64:0x0000012C)
luautil.c:189 luautil_require()
luautil.c:191 luautil_require()
exoloadhook.c:59 exoloadhook_create()
================================
デフォルトで %PROJECTDIR%
でない場所に保存できるようにする。
「現在の設定をデフォルトにする」ボタンを追加し、フォルダー参照ボタンは入力欄と同じ行に変える。
ひとつのファイルのドラッグ&ドロップで複数のレイヤーに展開されるタイプのファイルは、複数ドロップ時に挿入される位置が干渉して想定された位置に挿入されないことがある。
省略時は 0 として扱うはずなのに、カーソル位置が動いてしまう。
v0.3.18 で確認。
結果はわかっているのだから、SendMessage の処理は返してもいいのではないか?
詳細はまだ不明。
原因不明。
画像の URL がそのままテキストオブジェクトとして挿入される。
今は GCMZDrops.encodeexotextutf8
があるので、同じようにデコードして UTF-8 文字列に戻せるようにする。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.