【特集】

Tigerのもう一つの魅力を探る - Dashboardアドバンストプログラミング

8 ウィジェットからQuartz Composerを利用する

    木下誠  [2005/06/29]

    Quartz Composerは、ビジュアルなワークフローで簡単に作成できるグラフィックモジュールだ。手軽な操作で美しい映像を作ることができる。Tigerに付属するスクリーンセーバ「RSS Visualizer」もこのテクノロジが使われている。詳しくは、過去のレポートを参照してほしい。

    そんなQuartz Composerだが、実のところスクリーンセーバぐらいしか見せ所が無く、使い道が限られている感もあった。これをDashboardから使わない手はないだろう。DashboardのJavaScriptでは大規模なグラフィック処理やアニメーションは難しいので、Quartz Composerと連携できるならば、非常にインパクトのあるウィジェットを作ることができるからだ。

    そのままでは使うことはできないが、Web Kitプラグインを作成することで、取り込むことができる。そのようなプラグインを紹介しよう。下のリンクからダウンロードできる、QuartzComposerPlugIn.pluginファイルがそれにあたる。このファイルを、/Library/Internet Plug-Insにコピーすることで、ウィジェットでQuartz Composerが利用できるようになる。

    使い方は、簡単だ。次のように、embed要素でQuartz Composerで作成したqtzファイルを指定すればいい。ここでは、RSSFeed.qtzというファイルを使っている。

    <embed id="composition" src="RSSFeed.qtz"></embed>

    ただし、初期状態では再生が止まっているので、スタートしてやる必要がある。このプラグインでは、プラグインオブジェクトがstartというメソッドを提供しているので、それを呼び出す。

    var plugin = document.getElementById("composition");
    plugin.start();

    これで、再生が始まる。このプラグインは、startも含めて次のようなメソッドを提供している。

    • start() : 再生をスタートする
    • stop() : 再生をストップする
    • setValueForInputKey(value, key) : キーを指定して、値を設定する
    • valueForInputKey(key) : 指定した入力ポートのキーの、値を取得する
    • valueForOutputKey(key) : 指定した出力ポートのキーの、値を取得する
    • inputKeys() : 入力ポートのキーを取得する
    • outputKeys() : 出力ポートのキーを取得する

    入力ポート、出力ポートのキーとは、Quartz Composer側で公開すると設定したキーのことである。たとえば、RSSを表示するモジュールの場合、そのフィードURLを入力キーとして公開しておけば、ウィジェットからどのRSSを表示するか設定できることになる。

    動画(QuickTime形式 : 3.1MB)
    Quartz Composerウィジェット
    Quartz Composerウィジェットは以下のリンクからダウンロードできる
    QCWidget.dmg

    書籍とセミナーの紹介

    最後に宣伝になるが、Dashboardプログラミングをより深く理解するのための書籍とセミナーの紹介をしよう。

    Dashboardのプログラミングの解説本としては、BNN新社より、筆者にが執筆した「Happy Macintosh Developing Time! Programming Dashboard」が発売されている。この本は日本語で書かれた最初のDashboardプログラミング解説本として登場し、初心者から一歩先行くウィジェットを作りたい方まで、広い範囲を丁寧に説明している。

    また、来る7月1日に、Macintoshのプログラミングをサポートしている団体であるMOSAの主催により、「Dashboardプログラミングセミナー」が開催される。このセミナーでは、Dashboardの入門者に向けてウィジェットの作成を解説する。また、後半では、ウィジェットの様々な機能の応用術を伝授する。特に、この記事で紹介したテクニックを詳しく紹介するので、興味を持った方にはぜひ参加していただきたい。お申し込みは、MOSAのページから行うことができる。

    関連記事

    Mac OS X Tigerの実力は? - 4度目のアップデート、その真価を探る [2005/4/29]
    Quartz Composerによるビジュアルフロープログラミング [2005/5/26]
    QuickTime Kit - CocoaでQuickTimeプログラミング [2005/5/6]
    今、「Intel版Mac」についてわかること - ユニバーサルバイナリを検証する [2005/6/20]
    Intel CPU搭載のMacintoshに関する多少の考察 [2005/6/11]
    OS X ハッキング! 第140回 虎飼い日記 その7 - 噂のCore Imageを検証する [2005/6/27]
    OS X ハッキング! 第135回 虎飼い日記 その3 - Dashboardと戯れる [2005/5/23]
    OS X ハッキング! 第134回 虎飼い日記 その2 - 噂のSpotlightを手なずける [2005/5/16]
    OS X ハッキング! 第133回 虎飼い日記 その1 - 噂のSpotlightをTerminalで使う [2005/5/9]
    Power Mac G5を試す - やはり2.5GHz Dualは速かった [2004/8/12]
    新たな時代を告げるアップルのフラッグシップ機 - Power Mac G5 Dual 2GHz [2003/10/22]
    欲張りユーザのあれもこれもをアルミボディにぎゅっと凝縮 - PowerBook G4 [2005/3/2]
    成熟の境地に達したPowerBook G4 [2004/6/4]
    新しくなったiMac G5に触れる [2004/9/22]
    Inside of Mac OS X "Tiger" - Spotlightによって照らされる世界 [2004/7/13]
    iPodのようなPCって? - その答えがココにあります [2004/9/3]
    Apple Computer上級副社長 フィリップ・シラー氏に訊く [2005/3/16]
    Apple、Dashboardウィジェットページの公開開始 - Tigerにフライング? [2005/4/26]
    Mac OS X TigerのDashboardが標準化へ? - Web Applicationsのドラフト公開 [2005/3/25]
    Tigerっぽい? Windows版Konfabulatorがついに公開 [2004/11/9]
    WebObjects 5.3リリース - EOModelerがXcodeに統合、HTML 4.0.1をサポート [2005/6/7]
    TigerでTiger? - Apple、J2SE 5.0やWebObjectsをアップデート [2005/4/30]
    TigerはServerバージョンでも新機能満載 - WeblogやIMなどのサーバも提供 [2004/6/29]
    Apple、WebKitをオープンソース化 - コミュニティとの関係改善を図る? [2005/6/8]
    Apple、Mac OS Xの開発環境をアップデート - ユニバーサルバイナリに対応 [2005/6/7]
    Mac OS X Tigerにも採用されているJava Blogシステム - blojsom 2.25公開 [2005/5/25]
    フリーソフトウェア文化を支えるコンパイラの最新版「GCC 4.0」リリース [2005/4/22]
    複雑なDASにはうんざり、NASは遅いしSANは高過ぎ……救世主はApple? [2004/5/24]

    関連サイト

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン