2016年9月27日火曜日

macOS Sierra

「Javaがサポートされなくなる云々~」のあいまいな前情報は知っていて、Sierraへのアップグレードは躊躇していましたが、詳しくは「Java6」のサポートがEl Capitanを以って打ち切られるだけのようです。

現在の環境でその影響を受けるのは「Abobe Flash Builder 4.7」のみで、Macではテスト用にインストールしていただけなのでSierraへのアップグレードをしてみました。MacBook Pro (Retina, 15-inch, Late 2013)です。

Sierraへアップグレード後、動かなくなりました

アップグレード完了後は恒例のSpotlightのインデックス作成(mdworkerプロセス)が始まります。あいかわらず待たされます。

で、アップグレードした感想ですが見た目はDockにSiriが追加されただけで、それ以外なーんにも変わらず。FlashBuilderを除いて起動しなくなるようなアプリケーションはなし。Office2016、Adobe CC、Modo902SP3、AbletonLive9、etc...。Processing3はJava8を使用しているのでこれも問題なしでした。FlashBuilderも再度Java6をインストールすることにより起動もすることができるようです、サポートはされませんが。

今回のアップグレードの目玉だと思っていた「ユニバーサルクリップボード」はMacからiOSへはペースト出来るものの、iOSからMacへは出来ず。謎です。

あと「Macのストレージを最適化」する機能はオフ!。MacbookのSSDの空きが心もとないのは確かですが、iCloud Driveは無料の5GBで同じアカウントで使用しているiPhone、Mac miniもこれを使うとなるとクラウドのストレージの空きの方が気になりますからね。
空き領域がもっと欲しい。そんな時は最適化されたストレージが、それほど頻繁に使わない書類、メールの添付ファイル、写真、観終わったiTunesの映画をクラウド上に保存して必要な容量を確保します。最近使ったファイルは最適なバージョンの写真と一緒に、あなたのMac上にあります。すべてのファイルはあなたが保存した場所で簡単に見つかり、開くだけでオリジナルのバージョンをダウンロードできます。まるで、ずっとその場所にあったような感覚です。
http://www.apple.com/jp/macos/sierra/からの引用です。シンボリックリンクのようなファイルがローカル上に残るんでしょうか?そもそもクラウド上にしかないデータとどちらにもあるデータの区別がつくのかな?TimeMachineへのバックアップは?とか、疑問だらけです。

何が起こるやら、、、


ピクチャインピクチャはSafariで再生されているHTML5の動画のみでChromeで再生しているYouTubeは不可。単純に任意のウィンドウを前面にピン留めするだけの機能でいいのに。

FlashBuilderを犠牲にした割に、アップグレードした恩恵が少ないな。今回は10GB程度ローカルストレージの空きが増えただけで良しとしますか。

2016年9月8日木曜日

AfterEffects - レイヤーのPropertyObjectのリスト

ずっーと以前に中途半端に書いた記事の続き(7年越し!!)です。

作った経緯を忘れましたが、とあるプロパティのMatchNameが知りたかっただけで再帰処理の無いスクリプトでした。以下がレイヤーに適用したエフェクトのプロパティも含め全てリストするスクリプトです。ESTKへコピーしAfterEffects側でレイヤーを一つ選択してから実行します。

(function(){
    var activeComp = app.project.activeItem;
    var selected = activeComp.selectedLayers[0];
    $.writeln("Layer Name:" + selected.name);

    function listProperties(obj,depth){
        for(var i=1; i<=obj.numProperties; i++){
            var indent = ""
            for(var j = 1; j <= depth;j++) indent += "\t";
            $.write(indent + i +":"+obj.property(i).name+":"+obj.property(i).matchName+"\n") ;
            listProperties (obj.property(i),depth+1);
        }
    }    

    listProperties (selected,0);
}());

結果は、ESTKのコンソールへ出力されます。


昨日投稿したスクリプトの改良をしていて気付きましたが、レイヤーの親子関係で親を知る事はレイヤーオブジェクトのparentアトリビュートから出来ますが、子のレイヤーへの参照は無いんです。

もしかしてプロパティオブジェクトに入ってるかなと思って上のスクリプトを書きましたが見つからず、、、

いやビックリ。全てのレイヤーのparentアトリビュートを調査して逆からたどるとかするの?
シーングラフ的なもの無いのか、、、

2016年9月7日水曜日

AfterEffects - グリッド状にレイヤーを複製

スクリプトを作成中。

オフセットの数値を入力するのではなく、矩形の始点(左上)と終点(右下)を選択して実行すると、始点として選択したレイヤーが複製される感じ。

ひとまず動くのは出来ましたが、位置アニメーションしているレイヤーへの対応が出来ていない。あと子をもつレイヤーの扱いとか。アニメーション対応は結構大変そう。仕事に必要な部分だけ実装してひとまず満足状態なので、機能を追加しておいおい公開する事にします。探せば似たような機能を持つものはどこかにあるでしょうけどね。


久しぶりにAEのスクリプトを書きましたが、数年前からまったく新しい機能が追加されていない?アイテムの選択変化でコールバックとかいまだに実装されないのは何で?

にしてもJavascriptはなんかとっつきにくい。動的型付けだったり、プロトタイプベースとか、thisのスコープが、とか。TypeScriptのAfterEffects用型定義ファイルが存在するようなので、TypeScriptで開発する方がいいかな。

2016年9月6日火曜日

PICO-8

PICO-8、レトロゲーム機のバーチャルマシンとでも言いましょうか。3DSのプチコンと同じですがこちらのほうがもっとオープンです。


公開されているカートリッジをダウンロードすれば遊ぶことはもちろん、コードを開いてお勉強、改良することもできます。


ダウンロード出来る中にはゲームでは無くデモシーンや作りかけのものも含まれますが。よく練られたゲームもあります。

このドット絵をプレイヤーの想像力でお迎えにいって得られる臨場感や、雑なメッセージ、ルールを読み解いてクリアした時の達成感は今時のゲームには無いものがありますね。

と、書いてみたところでやっぱり、回顧か懐古か、、、まぁそんなところかも。