たこなぐりの日々

2017-03-09

File objectのcopy()が遅すぎたのでrobocopy噛ませて実行した話。

しかもFolderごとcopyできねぇし。
Fileオブジェクトを1つ1つ指定してcopyするぐらいならrobocopy使った方早いし。
robocopy使うとミラーリングもかんたんだし、バックアップにいいし。


キモは4行目のコマンドの書き方。
シングルクォーテーションとダブルクオーテーションがコマンドラインで実行される場合区別されるからこのままコピペしたら良いと思うよ。


var send = "C:/Users/takowasabi/Pictures/hoge"
var receive= "Y:/wasabitako/hoge"

cmd = 'robocopy '+'"'+ send+'" "'+receive+'"'

system.callSystem(cmd)

2016-10-20

the横着シリーズ


w(string)って書くだけで良くなるのだ

#target 'aftereffects'

function w(cmt){
    $.writeln(cmt)
    }
w("なになにのどれどれ")

2016-09-21

AfterEffectsのエフェクトプリセットでハマった記録


わかるわけ無いじゃないかよ的な。
AfterEffectsでLayerにエフェクト・アニメーションプリセット(ffx)を適応させる際のアレ

これじゃうまくいかない、一番上に新規平面ができてそこにPresetが適応されるときがある。
もしくは対象じゃないLayerにffx適用されたり

var proj = app.project
var comp = proj.activeItem
var ffxpath ='C:/Program Files/Adobe/Adobe After Effects CS6/Support Files/Presets/takosan.ffx'
var ffxObj= new File(ffxpath)
comp.layers[3].applyPreset(ffxObj)

なんか選択されてるLayerに適用されるのでこうする
一度選択を全て解除した後、対象としたいLayerのみを選択してる状態にする

var proj = app.project
var comp = proj.activeItem
var ffxpath ='C:/Program Files/Adobe/Adobe After Effects CS6/Support Files/Presets/takosan.ffx'
var ffxObj= new File(ffxpath)

for(var i =1;i<=comp.numLayers;i++){
    comp.layers[i].selected=false
    }
comp.layers[3].selected=true
comp.layers[3].applyPreset(ffxObj)

これでPresetが適応される。

2016-03-03

AEのProxyを一括で外すやつ。


3行で書けるじゃねぇかよとかっこつけて言ったら4行になってしまった。
かっこなんてつけるもんじゃない。

for(var i=1;i<= app.project.items.length;i++){
    if(app.project.items[i].useProxy){
        app.project.items[i].useProxy=false
        }
    }


---

【追記】
っていうかctrl+Aで全選択してプロキシを外すを選択すれば外れるんですよねこれ(;´Д`)

2013-12-03

javascriptのsort()のカッコって独自関数を設定できるんですね

プロジェクト内の選択されたcompItemを配列に突っ込んで、尺の長さで配列内の順番を並び替える。

尺の長さ順で配列内のcompItemが欲しかったんですよ。
なのでカッコ内に無名関数をぶち込んでみました。
参考にさせていただいたサイト↓
sortメソッド - Arrayクラス - JavaScript入門

var Proj = app.project
SelList =[]
for (i in Proj.selection){
if(Proj.selection[i]instanceof CompItem){
    SelList .push((Proj.selection[i]))
    }
}

SelList.sort(function(a, b){
    var x = a.duration;
    var y = b.duration;
    if (x > y) return 1;
    if (x < y) return -1;
    return 0;
});

こう書くと尺が短い〜長いの順番で配列内が並び替えられます。(∩´∀`)∩ワーイ