2013-01-20

After Effectsユーザーのための、プログラミング入門 その15 Macでのプログラム(Real Studio)

Mac OSXでのプログラム Real Studio

今回はちょっと趣向を変えてMacでのプログラミングについてです。

ほとんどニーズが無さそうテーマで更にReal Studioっていうマイナーな開発環境の解説になります。

F’s Pluginsの記事は少し間があきます T_T

Real Studioとは? Macの開発環境

Real StudioとはRealSoftwareが開発販売を行なっているMac/Windows/Linux向けのアプリ開発環境です。公式のホーム・ページはここです。



通常MacでのプログラミングはAppleが無料で公開しているXcodeが一番有名かつ高機能です。
最近ではMacと言うよりiPhoneアプリ開発って方面でも有名ですが^^;

他にもQtというWindows/Macのアプリをほぼソースコードの変更無しに開発できるものもあります。
After EffectsもCS5からQtで開発されていると聞きます。

更に定番のJavaや最近ではエンバカデロ・テクノロジーズのDelphiXE3/RadStudioXE3でも作成可能です。

結構選び放題です。

で今回はReal Studioです。
知ってるひとや昔からMacを触ってる方だと「えー!」って感じだと思います。
実はかなり古くから開発されていたのですが、最近の時流から取り残されていて言わば忘れられた存在って印象のあるアプリです。
事実cocoa(OSXネイティブ)全盛の時代で未だにcarbonメインでしかアプリを作れない(一応出来るけど)

多分カタログスペックだけでは誰もこれを選ばないでしょう(おまけに有料なので)

で何故これかというと、「簡単さ」と「お気楽さ」というアドバンテージがあるからです。

言語自体はBASICです(昔はREALbasicって名前でした)VisualBasicやエクセルのVBAとほぼ互換性があります。

Real Studioの導入

ダウンロード販売のみなので公式ホームページのダウンロードからプログラム自身をダウンロードしてから、オンラインショップで購入します。

ただ30日間は体験版として無料で使えるので、適当に試して気に入ったら購入すればいいでしょう。
ラインアップはいろいろありますが一番安いReal Studioパーソナル版(¥8800)でいいとい思います。
2013年度版のライセンスから値段が上がるので今がお買い得と思います。

インストールはダウンしたイメージファイルをクリックしてマウント、アプリ自体をアプリケーションフォルダへコピーするだけです。

技術資料

基本的にヘルプ(英語)がかなりしっかりしているのでそれだけで十分です。After Effectsのスクリプトガイド読むよりはよりは楽です。
僕はアスキーから販売されていた時代にあった日本語版ドキュメント使ったり、公式ホームページに有るオンラインヘルプを自動翻訳させたりしています。

言語自体はVBAとほぼ同じなので、VBAの言語解説のHPがそのまま参考になります。

流石に初めての方には何の情報ももないと困るので参考になるHPを。

REAL Software 日本語部
日本語公式サポートblog

熱血!RealSoftware 日本語部
Real Studio日本語公式サポートウェブサイト。インストールガイド日本語版等ダウンロード出来る。

REALbasic University – Japan 
情報無古くてリンク切れのページもありますがわかりやすいです。

「Rb逆引辞典」のページ
大抵なものはここで情報が得られます。

GREIF Softwareさんの開発ツール
比較的最新の情報があります。

Straw hatさんのドキュメント
ちょっと古い情報ですが、有用な情報があります。ちなみにここにある(あった)am_Pluginsは当時かなり使わせてもらいました。

作る。AE_com

早速作ってみました。完成まで資料集めに3時間、コーディングは1時間位で出来たものです。
Real Studio自体の使い方はまぁ適当に触っていればわかると思います。

内容はテキストボックスに書かれたAfter EffectsのスクリプトコードをAppleScriptを経由でAfter Effectsへ送信するもので、おまけでスクリプトで得られた情報をアプリに戻す機能もつけて見ました。

ダウンロードはここから出来ます。
http://bry-ful.ddo.jp/BRY/software/AE_com/AE_com.dmg

AE_com.appが今回の解説用のアプリです。AE_com.rbpがRealBasicプロジェクトファイルになります。このファイルの中に全てのソースコードが入っています。
他のファイルは実行ファイルにインクルードするjsxファイルやAppleScriptファイルになります。

アプリを起動させ、上のテキストボックスに

alert(“Test”);

と打ち込んで、下のポップアップから使用するAfter Effectsを選んで「送信」ボタンを押してみると

After Effectsでalert表示されます(予めAfter Effectsが起動していないと表示されない時がありますので注意)


また、送信内容の横のポップアップメニューから”getItems”を選ぶと内蔵されたスクリプトが入力されます。


適当な既存のaepをAfter Effectsで読み込んだ後に、「送信」でスクリプトを実行すると
下の「結果」テキストフィールドにプロジェクトのアイテム一覧が表示されます。

アプリ上からAfter Effectsにいろいろなスクリプトを送信したり、データを受け取ったりできます。

このようにRealBasicで作られたアプリケーションから気軽にAfter Effectsが制御出来ます。このアプリでは大した事はしていませんが、これを改造すればいろいろ便利なことが出来ると思います。ちなみに今僕はファイルインポート用のアプリを作っていて、そのテスト用の作ったのがAE_comアプリになります。
手間としては、個人的な感想ですがAEスクリプトでUI付きのものを作るよりは簡単に作れました。

AppleScriptでスクリプト送信

では、プログラムの解説です。まずはScript送信の仕組みから。

Scripting Guideの「Loading and running scripts」でAppleScriptでスクリプトのコードあるいはファイルをAfter Effectsに送信する方法が説明されています。

具体的にReal StudioからAppleScriptを使うにはまずAppeScriptエディタで実行形式のスクリプトを作ります。
AppeScriptエディタはアプリケーションフォルダの「ユーティリティ」に標準にインストールされています。
以下のコードはCS6をReal Studioから呼び出すスクリプトです(これをエディタ上で実行してもエラーになります)

on run (s)
tell application “Adobe After Effects CS6″
activate
DoScript s
end tell
end run


これをファイルフォーマットを「スクリプト」にして保存。それをReal Studioのプロジェクトへドラッグ&ドロップして取り込みます。
ドロップするのは拡張子が”.scpt”の実行形式のものなので注意です。


これで後は通常の関数として呼び出すだけです。Windowsで同じことをするためにはかなりの手間が必要ですがMacはかなり楽でっす。

インストールされていないアプリをAppleScriptエディタで登録するのは出来ないので注意してください(僕は無理やり行った)
送信できるスクリプトコードはとくにサイズ制限がないみたいで試しに1000行位のスクリプトを送っても問題ありません。

スクリプトファイル(jsx)のフルパスを送信するとちゃんとそのファイルを読んで実行してくれます。

AfterEffectsからアプリへデータを渡す

今度は逆にAfter Effectsからアプリにデータを渡す仕組みです。
データは一時ファイルを作成してそれを経由させて送ればいいのですが、それをアプリに読み込ませるタイミングが問題です。

AE_comアプリでは一番簡単な方法で実装しています。

まずアプリ自身のMacCreator/TYPEの設定を行なってOpenDocumentイベントを実装します。
分かりやすく言うと、データアイコンをダブルクリックするとそれを読み込む機能です。標準で簡単に実装できます。
AE_comではダブルクリックしたデータを読み込んでテキストボックスに表示させているだけです。

まずFileTypeを設定。以下の図のようにMacタイプ”RSLT”/Macクリエータ”AECM”のFileTypeを追加します。

次にMacアプリの設定プロジェクトでAppを選択してクリエータとタイプを指定

次にAppのOpenDocumentイベントに必要な処理を追加して完了です。下の例ではWindows1.Load()が読込関数です。


MacCreatorとはアプリごとに設定されている半角4文字の識別用のID(文字列)で、TYPEは、そのドキュメントの種類を識別する同じく半角4文字の識別用のID(文字列)になります。Windowsでは拡張子とアプリへの関連付けと同じもので、OSX以前のMacのファイルシステムになります。OSXでも一応機能します。

アプリの処理が終われば、After EffectsのスクリプトでデータにMacCreator/TYPEを指定(Mac版のみ可能)して保存し、File.execute()で実行するだけです。
具体的にはFileオブジェクトをopenする時の引数でCreator/typeが指定します。文字コードもUTF-8に設定して後は普通に書き込むだけです。




最後に

MacでプログラムするならXcode、Windows/Mac両方に対応したいのならQtを使うのが現在の主流だと思います。

ただ、僕のようにプログラム作成よりAfter Effctsでの作業のウェートが大きい場合(多分この記事を読んている方の殆どの場合も)Xcode/QTでのアプリ開発は正直荷が重たいと思います。
After Effectsの作業の合間に少しプログラムやりたいって時にはReal Studioのように気楽な開発環境のほうが適しています。目的がアプリ作成ではなく映像制作ならば余計な手間がない分Real Studioはお勧めです。

まぁ正直XcodeやVisual Studioのような高機能な開発環境が無料で手に入る時代なのですが、僕自身簡単だって要素だけでお金払っていいかなと思い購入しました。

予告

次は前回の予告通りF’s PluginsのFsLibraryの解説になります。

実は前回の記事を投稿する段階で次の記事の文も含めて書き終わっていてAEオフの日に合わせて投稿しようと考えていたんですけど、間違ってまるごと消してしまって落ち込みました。
年始の休みで書きまくったもので結構量があったのでまた書くと思うと少し鬱になります。

という訳で次の投稿には少し間があきます。

では。



タグ : , , , [タグを追加する]


この記事の投稿者について:bryful

フィードバック

1 Star2 Stars3 Stars4 Stars5 Stars
(評価回数:3 , 平均:2.33)
Loading...Loading...

この記事に対する 1 の反応があります


  1. 1 higematsu 1月 25th, 2013 at 19:34

    私もRealBasicの頃からたまに使っています。当時はMac/Windows/Linuxに対応するのに手間がかからず、値段が安かったからです。(w)記事にあるように映像制作の合間に補助的なものを作るのには向いていると思います。AEスクリプトの不審な挙動に悩まされるよりは気が楽です。VBAを使ったことのある方なら案外すんなりと入れるのではないでしょうか。Studio 2013 以降は統合開発環境の利用は全て無料になるようですから、興味のある方は試して見ると良いかもしれません。ただ、実行ファイル・ビルドの為にそれなりのお金を新たに払うかどうかは現時点では微妙ですね。


特集