前回の続きで作っていたbatch処理のあれこれ。
「保存後の名称を自動生成するのではなく、直書きで指定する」
方が効率よいのではないか。
どっちにしろ、レンダーコンポの名称を繰り上げなければならないが、
文字の分解加工等を経由するより出力名を指定してそこから抽出して置き換える方が
スマート。レンダーコンポ名がaepのファイル名と同様であることが前提、であるけれども。
対象ファイルのパス、出力後のパス、レンダーコンポ名
どこまでを自動化してどこからを手動にするかのバランス今回のは基本的には自分用であるということも考えると尚更・・・・
3つまで直指定はさすがにちょっと面倒か。
スクリプト開発時の労力も考えて効率的ならユーザー負担を求めた方がいいかも。
2013/05/29
2013/05/27
AEscript batch処理(?)
前回まで改造していたAEランチャーですが、ベースのスクリプトを制作された会社のとても偉い人が編集可能版を作っておられたので無用の長物(ソースコード的にも)になってしまいました。が、良い勉強になったからいいよね。無駄では・・なかった・・と思い、たい。
それはさておき、次の担当作品では「フィルター等の画面演出の方針転換が多々あると思うから覚悟しておけよ」との話を聞いたので、複数ファイル間にわたって自動的に処理をかけてくれるスクリプトを作成中。「数十カットの間、あるレイヤーを追加してくれ」というような単純作業に効果を発揮してくれると思われる。本当はちゃんと1カット1カット見て調整しないといけないんですが。
現状、
①修正をかけるaepファイルを登録
②修正ポイント(今回は特定のコンポジション内を編集するとする)への処理の適応
③上書き保存(番号をつけて保存)
④次の登録ファイルを読み込み②③を繰り返す
⑤登録ファイル全ての修正が完了したら新規プロジェクトを開き、修正したaepファイルをインポートする
というところまでは終了。
基本的な部分は十数分で作れましたが、文字列を扱うらへんに入ってから面倒に・・・
[タイトル名][話数]_[カット番号]_[テイク].aep
という命名規則で管理されているのが自分の経験では一般的でしたが、作品によってはこの限りでなく、汎用性を持たせて自動化しようとすると、考慮することが多そう。
実際のファイル名だと
XXX01_124_T1.aep
のような形になり、やりたいこととしては最後の一文字を修正毎に繰り上げて行くだけではあるのですが、
XXX_01_124_K1_1.aep , XXX01_01_24_H1ex.aep やら微妙に幅があったりするので地味に不安。
上記①で登録するファイルはフルパスで記述するようになっているので、流れを考えると、
①ファイル名だけを抜き出す
②一番最後の( _ )と( . )の間の文字列を数字とそれ以外に分離
③分離した部分の数字だけを更新する
④元のフルパスへ結合する
ができれば上手く走ってくれるんじゃなかろうか。
後、内部的に扱う文字だけでなく、保存するファイル名も更新しないといけないので
別名で保存、をスクリプトで記述する際にも更新した名前を利用する。
保存ダイアログが出ると自動化にならないので、出ない方法も考えないと。
番号をつけて保存とか、それかスクリプトで保存するときは出ないのか?
書いて動かしてみれば済む話、ではあるんですが、文字列の扱い苦手で・・・元気が・・・
遅くとも来月中には完成させて作品開始時期に間に合わせないと。
こうゆう下準備が全く効果を発揮しないパターンも結構あるけど!そうだったとしてもメゲナイ!
それはさておき、次の担当作品では「フィルター等の画面演出の方針転換が多々あると思うから覚悟しておけよ」との話を聞いたので、複数ファイル間にわたって自動的に処理をかけてくれるスクリプトを作成中。「数十カットの間、あるレイヤーを追加してくれ」というような単純作業に効果を発揮してくれると思われる。本当はちゃんと1カット1カット見て調整しないといけないんですが。
現状、
①修正をかけるaepファイルを登録
②修正ポイント(今回は特定のコンポジション内を編集するとする)への処理の適応
③上書き保存(番号をつけて保存)
④次の登録ファイルを読み込み②③を繰り返す
⑤登録ファイル全ての修正が完了したら新規プロジェクトを開き、修正したaepファイルをインポートする
というところまでは終了。
基本的な部分は十数分で作れましたが、文字列を扱うらへんに入ってから面倒に・・・
[タイトル名][話数]_[カット番号]_[テイク].aep
という命名規則で管理されているのが自分の経験では一般的でしたが、作品によってはこの限りでなく、汎用性を持たせて自動化しようとすると、考慮することが多そう。
実際のファイル名だと
XXX01_124_T1.aep
のような形になり、やりたいこととしては最後の一文字を修正毎に繰り上げて行くだけではあるのですが、
XXX_01_124_K1_1.aep , XXX01_01_24_H1ex.aep やら微妙に幅があったりするので地味に不安。
上記①で登録するファイルはフルパスで記述するようになっているので、流れを考えると、
①ファイル名だけを抜き出す
②一番最後の( _ )と( . )の間の文字列を数字とそれ以外に分離
③分離した部分の数字だけを更新する
④元のフルパスへ結合する
ができれば上手く走ってくれるんじゃなかろうか。
後、内部的に扱う文字だけでなく、保存するファイル名も更新しないといけないので
別名で保存、をスクリプトで記述する際にも更新した名前を利用する。
保存ダイアログが出ると自動化にならないので、出ない方法も考えないと。
番号をつけて保存とか、それかスクリプトで保存するときは出ないのか?
書いて動かしてみれば済む話、ではあるんですが、文字列の扱い苦手で・・・元気が・・・
遅くとも来月中には完成させて作品開始時期に間に合わせないと。
こうゆう下準備が全く効果を発揮しないパターンも結構あるけど!そうだったとしてもメゲナイ!
2013/05/17
自作(?)AEランチャー_2
とりあえずまとまりました。一体何をもってのver2.3なのか・・・
色々あって同名のpngファイルがあればその画像をボタンとして使用し、無ければbuttonオブジェクトで代用する、という当初の案から変更しました。
画像が無ければ画像未検出用の背景アイコンを刺し、ファイル名をstaticTextで調整して表示するという作戦に。実は可変長アイコンで一度作ったのはよいのですが・・・
(←こんな感じになりました)
縦のサイズは40px固定で、横のみ一定のpx数まで名前長に合わせて伸びます。
横に並べる分にはこれで困らないのですが、一度他の方に試してもらったところ
色々あって同名のpngファイルがあればその画像をボタンとして使用し、無ければbuttonオブジェクトで代用する、という当初の案から変更しました。
画像が無ければ画像未検出用の背景アイコンを刺し、ファイル名をstaticTextで調整して表示するという作戦に。実は可変長アイコンで一度作ったのはよいのですが・・・
(←こんな感じになりました)
縦のサイズは40px固定で、横のみ一定のpx数まで名前長に合わせて伸びます。
横に並べる分にはこれで困らないのですが、一度他の方に試してもらったところ
← 縦にすると収まりも見栄えも悪く、アイコンが増えるとさらにトンデモなパネルになってしまうこと間違いなし。
使う人のワークスペースによっては縦で使わざるを得ない場合もあるので、没りました。
というわけで40px*40pxのアイコンサイズは固定に。→
文字数はfontの設定でmultilineをtrueにしつつ、フォント のサイズを若干小さめにすることで結構な長さまで読め そうだったので大丈夫そうかなと。注釈の機能もある上 にマウスオーバーでファイル名出せることも考えると、特 に大きな障害は出ない・・・といいですね・・・
にしてもフォントサイズとか色とか指定するの思いの外ややこしいんですね。
簡単に指定できるようにfunctionでとかも考えたんですが文字表示自体このスクリプトだと1か所しか出て来ないですし長々と書きました。今後の為のことも考えると色々ライブラリ的なものを充実させておくべきだとは思うんですが正直しばらく触りたくない
後はリロード機能とかフォルダによってリストを変更する機能とかつければ完璧どころかもうそこまでいくとrd:scrip(ry 今回勉強がてら(ベースは完成されていたスクリプトがあったとは言え)自分でネチネチ改造してみた結果、やっぱりアイコンあったり見栄えしたほうが楽しいと改めて思いました。(作業も開発も)けどその部分のおかげで凄い時間かかったりもしますが、やっぱり誰かに見せた時にリアクションがいいのが嬉しいです(ぇ
余裕のある時に拡張しやすく作っておく、べきか。
普段はフリーのスクリプトランチャー(アイコン無しのtextがlistboxで並んであるもの)を改造してffxも呼び出せるようにしたものを使ってるんですが、長々とした機能等の説明文を名前に付け足したりでリストがごっちゃごちゃになってしまってました。でも画像があると文字ほど詳細でないながらも一定の情報を直感的に伝えられるので、場所はとりますがその分よいところはよいですね。なんか作業画面も華やかになると仕事も楽しくな・・・るし?
単品の自動化処理はよく作ってたんですが(複製してエフェクトあててヌルにスライダー制御でexpression繋いでうんぬんとか)こういったパネルを触ったのは初めてだったのでホント勉強になりました。
普段ならレイヤーやらコンポがアクティブになってない場合に実行するとエラーが出て終わりですが、パネルのスクリプトを走らせるとエラーで固まって開きなおさなければならんので入力ミスとかでそれが起こると非常に腹立たしかったです。
それを回避するために細かく activeItemはnullってない?selectedLayersはnullってない?とネチネチ条件文でチェックする手段をとったんですが、この辺をスマートに書けるようにしたいものです。というかこれは作る前の設計をしっかりしてからコーディング始めろってことか。いつも思いつきで作り始める自分には痛い経験値になりました。
とりあえず一端ここで改造を停止して、近くの人に使ってもらいつつ調整していこうかな。致命的なバグとか起こさないことを祈って。
今後も色々作ることになってくるとフワフワなプログラミング知識だと限界があるのでちゃんと勉強しないと・・・!
2013/05/12
自作(?)AEランチャー_1
会社のとても偉い方が某作品で作って使っていたランチャー、を基に改造中。
当初はその作品専用のエフェクトやらスクリプトが並んでいたのですが、いくつかあった汎用性の高い機能(平面呼び出しとか)がボタン一つで呼び出せるのが便利だったのか、その某作品が終了しても多くの人に重宝されていました。(単にパネルの設定を直してないだけかも)
しかしながら、個人的に使わないものを延々に並べておくという状態に抵抗があった為、ランチャーに配置するスクリプトやらプリセットやらを簡単に編集できるようにいじくりまわしいます。と言っても、基のスクリプトがスマートなのでコード的には改悪になってしまってますが・・・
禁忌の動けばよい思想で緊急準備中。
仕事中にこのランチャーの基スクリプトを配布してるところに立ちあった時に気づいたのですが、思いの外AEでの作業画面をカスタマイズしている人が少ない・・・というのに加えて、そもそもScriptUI Panelsの存在を知らない人が多かったです。エフェクト&プリセットだけで別段不自由がない、って感じなのでしょうか。何かと便利だと思うんですが・・・
最近プリセットだけでは対応できない複雑な処理やら計算やらが必要になる機会も増えてきたように感じます(自分の短い経験の中でも)。もっと高度な表現を短時間でかつ安定して実現する為にも、あと、何かある度にネチネチ修正やらカスタマイズを頼まれる機会が増える一方だと地味にしんどくなりそうなので、誰でも「簡単に使いこなせる」をモットーにいじくろうかと思い立って触り始めました。
そう考えた際、最低条件になるのは
「jsxファイルを開かずにランチャーに並べるものを編集できるようにする」
ことかな、と。エクスプローラーで完結しないときっと積んでしまう人がいる・・・?
なので、とりあえずフォルダ内にあるffxやjsxを読み取って配置できるように改造しました。
その時に同名のアイコンがあればそのアイコンを使用し、無ければbuttonオブジェクトでファイルの名前を表示できるようにしてます。
でもって、マウスオーバーでTipsを表示する機能も便利だなと思ったので、各ファイルの名称から内容を抽出できるように追加。
例)test処理_notes_オーバーレイ50%,ぼけ15~30で調整.ffx
みたいな感じで、特定の文字列以降を注釈として判断して表示する、と。中身開かない縛りだとどうしてもこうなってしまうのか・・・・?自分の会社ではffxのファイル名に補足説明つけるパターンがよく見られるのでこの機能はなるだけ活かしたい。
あと、今は並べる順番を 1_○○○.jsx 2_△△△.ffxみたいな感じでファイル名の頭に番号つけてなんとか編集できるようにしてるんですが、これがどうも見栄え悪いですなんとかしたい。
3番目のは 3_エフェクト検索 ってスクリプトなんですがこのアイコンからじゃ何が何だかですしね。
アイコンサイズは40*40ですがこれは基のスクリプトを踏襲しているからなだけで変えればいいと言えばいいのですが、できたら収まりよく見栄えよくしたいですし・・・
アイコンあるものはアイコン表示で、無いものはファイル名が(注釈を除く)読める程度に横幅だけのばして配置するとかで対応するかどうか。で、並び番号も非表示する為に特定の文字列を鍵にして・・・と考えると命名規則ガッチガチの「簡単に使いこなせる(が使うのは面倒)」なものができてしまいそうですね。もうrd:ScriptLauncherでいいんじゃないかな・・・
と言っても実は今回のモットーを達成する以外にもまだまだ痒い所があって、その諸々機敏に対応する為の自作(?)であったりもします。でもrd:ScriptLauncherの方がいいんじゃないかな・・・
ある程度作りこんだら早めに配布してフィードバック得てみないと間違った方向性で作り込んでしまいそう・・・6月までには纏めたいです。
当初はその作品専用のエフェクトやらスクリプトが並んでいたのですが、いくつかあった汎用性の高い機能(平面呼び出しとか)がボタン一つで呼び出せるのが便利だったのか、その某作品が終了しても多くの人に重宝されていました。(単にパネルの設定を直してないだけかも)
しかしながら、個人的に使わないものを延々に並べておくという状態に抵抗があった為、ランチャーに配置するスクリプトやらプリセットやらを簡単に編集できるようにいじくりまわしいます。と言っても、基のスクリプトがスマートなのでコード的には改悪になってしまってますが・・・
禁忌の動けばよい思想で緊急準備中。
仕事中にこのランチャーの基スクリプトを配布してるところに立ちあった時に気づいたのですが、思いの外AEでの作業画面をカスタマイズしている人が少ない・・・というのに加えて、そもそもScriptUI Panelsの存在を知らない人が多かったです。エフェクト&プリセットだけで別段不自由がない、って感じなのでしょうか。何かと便利だと思うんですが・・・
最近プリセットだけでは対応できない複雑な処理やら計算やらが必要になる機会も増えてきたように感じます(自分の短い経験の中でも)。もっと高度な表現を短時間でかつ安定して実現する為にも、あと、何かある度にネチネチ修正やらカスタマイズを頼まれる機会が増える一方だと地味にしんどくなりそうなので、誰でも「簡単に使いこなせる」をモットーにいじくろうかと思い立って触り始めました。
そう考えた際、最低条件になるのは
「jsxファイルを開かずにランチャーに並べるものを編集できるようにする」
ことかな、と。エクスプローラーで完結しないときっと積んでしまう人がいる・・・?
なので、とりあえずフォルダ内にあるffxやjsxを読み取って配置できるように改造しました。
その時に同名のアイコンがあればそのアイコンを使用し、無ければbuttonオブジェクトでファイルの名前を表示できるようにしてます。
でもって、マウスオーバーでTipsを表示する機能も便利だなと思ったので、各ファイルの名称から内容を抽出できるように追加。
例)test処理_notes_オーバーレイ50%,ぼけ15~30で調整.ffx
みたいな感じで、特定の文字列以降を注釈として判断して表示する、と。中身開かない縛りだとどうしてもこうなってしまうのか・・・・?自分の会社ではffxのファイル名に補足説明つけるパターンがよく見られるのでこの機能はなるだけ活かしたい。
あと、今は並べる順番を 1_○○○.jsx 2_△△△.ffxみたいな感じでファイル名の頭に番号つけてなんとか編集できるようにしてるんですが、これがどうも見栄え悪いですなんとかしたい。
3番目のは 3_エフェクト検索 ってスクリプトなんですがこのアイコンからじゃ何が何だかですしね。
アイコンサイズは40*40ですがこれは基のスクリプトを踏襲しているからなだけで変えればいいと言えばいいのですが、できたら収まりよく見栄えよくしたいですし・・・
アイコンあるものはアイコン表示で、無いものはファイル名が(注釈を除く)読める程度に横幅だけのばして配置するとかで対応するかどうか。で、並び番号も非表示する為に特定の文字列を鍵にして・・・と考えると命名規則ガッチガチの「簡単に使いこなせる(が使うのは面倒)」なものができてしまいそうですね。
と言っても実は今回のモットーを達成する以外にもまだまだ痒い所があって、その諸々機敏に対応する為の自作(?)であったりもします。でも
登録:
投稿 (Atom)