Macintosh Developer Online (MDOnline)


2001年4月26日発行号 - ビジュアルエフェクトのプラグイン



まず、予告編からで、近々Cocoaのプログラミングの続きを掲載する予定です。DropScriptのソースを眺めていたら、デリゲーションの意味がだいたい飲み込めたので記事にしますが、目的指向で「ドラッグ&ドロップに対応する」ということをメインテーマにしたいと思います。Cocoaのプログラミングに興味のある人はもちろんですが、ちょっと考えるところもあって、Pure Java系の人にも読んでもらいたいと考えています。だいたい目星はついたのですが、これから記事を書き込みます。ご期待ください。
今日はWindows Media Playerのマック版がでました。Windows版ほどの機能がないとは言え、それは織り込み済みでしょう。Windows版のPlayerはいわばiTunesのような性格のソフトですから、そのままiTunesとバッティングするような機能をMac OSには持ち込まないというところでしょうか。ところで、古くからMDOnlineを読んでいただいている方は、相当昔に、Jimmy Pageのアルバムをサウンドデータで購入したら、Windows Media Playerのファイルだった話を思い出していただけたでしょうか。しかも、ご丁寧にも著作権保護機能があって、最初の曲のプレイで一度Webブラウザでサイトにアクセスして認証のようなことを行うのです。だから、当時はWindowsでしか聞けなかったデータでもあるのですが、このデータを聞いてみようとしました。で、例によってサイトアクセスにいくのですが、そのサイトがないというエラーがでます。Windowsで改めてファイルを開いてもても同様でした。つまり、買ったデータはもう聞くことができないわけですね。著作権保護もいいんですけど、これでは買った消費者に対してでメリットが生じていると言えないでしょうか。もっとも、サイトに行ったところでパスワードが分からなかったりして…。
(新居雅行 msyk@mdonline.jp


iTunesのビジュアルエフェクトのプラグインを作成する方法が公開

◇iTunes Visual Plug-ins
 http://developer.apple.com/technotes/tn/tn2016.html

Mac OSに付属するMP3再生ソフトのiTunesでは、ビジュアルエフェクトとして再生するサウンドに連動した画像生成ができる。その画像生成プログラムを、プラグインとして後から追加できる仕組みになっている。そのプラグインを作成するための情報がTechnical Notesに「iTunes Visual Plug-ins」として掲載された。プラグインは、共有ライブラリ、あるいはバンドルの形で作成するが、プラグイン自体は規定の呼び出しポイントがあればそれでよい。その呼び出し関数が、iTunes側から呼び出されるが、いろいろな状況で呼び出される。プラグイン側でどんな状況で呼び出されたかを知るには、呼び出したときの引数をチェックすればいいようになっている。これらの呼び出し状況をメッセージとして解釈するというのがプラグインの基本だ。また、コールバック関数の作成も場合によって必要になる。いろいろなメッセージに対応する必要があるが、描画関連のところでは、CGrphPtrが渡されるなど、基本部分ではQuickDrawのデータ構造が見られる。そして、プラグインが一定間隔ごとに呼び出され、そのときにサウンドデータ自体も引き渡される。それを手がかりにするなどして描画を行うというのが概略となる。

◇iTunes Visual_Plug-ins SDK
 ftp://ftp.apple.com/developer/Development_Kits/iTunes_Visual_Plug-ins_SDK.img.bin

iTunesのビジュアルエフェクトの開発を行うためのSDKもリリースされた。ヘッダファイルや、コールバック関数のスケルトンが組み込まれたファイル、サンプルプログラム、そしてドキュメントからなる。ドキュメントは、前述のTechnical Noteだけが含まれている。実際に開発を行う人は、このSDKの関連ファイルをもとに作業をするのが手軽だろう。

カテゴリ:開発情報, Technote, メディアプレイヤ


Mac OSで稼働するWindows Media Player 7の日本語版が公開

マイクロソフトは、「Windows Media Player 7 for Mac」の日本語版を無償でダウンロードできるように公開した。Windows Media PlayerのMacintosh対応版としては初めての日本語版だ。インターネットのコンテンツでは、Windows Media Player対応のものも増えてきており、QuickTime PlayerやReal Playerでは参照できないようなものもある。そうしたコンテンツを見たい場合にはやはり必要なプレイヤであると言えるだろう。Windows Media Audio 8やWindows Media Video 8にも対応している。
Mac OS 8以降でInternet Explorer 5.0といった環境を推奨している。プレイヤとして独立したアプリケーションで稼働するだけでなく、ブラウザにプラグインが組み込まれる。Webページに埋め込まれたビデオストリーミングでも、Windows Media Playerが使われる仕組みとなっている。また、プラグインを利用するように、Ineternet Explorerのヘルパーの設定も行われている。プレイヤ自体は、シンプルなアプリケーションだ。Windows Media対応のストリーミングや、MP3ファイルの再生が可能だが、オーディオCD再生の機能は含まれていない。また、ビジュアルエフェクトの機能もない。スキンについても標準的なもの以外は小さく表示するものが2つあるだけである。Windows版のプレイヤにあるようなボタンがMac版にはないのであるが、とにかくMac版はいろいろな機能を提供するというよりも、Windows Media専用プレイヤといった色彩の強いソフトだ。Mac OSではオーディオCDの再生機能はOSに統合されていると言えるし、MP3関連となるとiTunesもある。そうしたプラットフォームの実情に合わせた機能になっていると言えるだろう。メニュー構成もWindows版と違っており「お気に入り」があるあたりやウインドウのデザインなどは、QuickTime Playerを意識した感じもしてしまう。
なお、Mac OS XでもClassicアプリケーションとして稼働するし、ストリーミングのURLを指定すればプレイを参照することができる。ただ、Internet Explorerでのヘルパー設定やプラグインと組み合わせないとWebページをクリックして参照するということができないため、そのままでは動くとは言っても使い勝手はあまり良くない。対応実行環境にはMac OS Xは含まれていない。

関連リンク:Windows Media
カテゴリ:メディアプレイヤ


Mac OS Xのカーネル機能拡張のサンプルプログラム

Sample Codeに掲載された「TimerEventSample」は、KEXTつまりMac OS Xのカーネル機能拡張のサンプルプログラムである。一定時間ごとにシステムログにメッセージを書き込むというもので、Project Builderでプロジェクトが用意されている。記述言語はC++となっている。カーネルのフレームワークにあるIOTimerEventSourceというクラスを拡張して、カーネル機能拡張が作成されている。Mac OS Xのカーネル部分は、機能拡張ができるような仕組みになっているが、たとえば、CPUの割り込み動作が必要な場合、特別な機能をアプリケーションにサービスとして提供したい場合などにカーネル機能拡張を作って対処できるとしている。カーネル機能拡張については、Developer Toolsをインストールしたシステムでは、Documentationsフォルダのkernelフォルダにさまざまな文書が掲載されている。TimerEventSampleはシンプルなサンプルであるが、カーネル機能拡張についてはまだまだ情報が少ないだけに、貴重な情報源となるだろう。

関連リンク:TimerEventSample 1.0.0
カテゴリ:アップルからの開発資料, Darwin


オーディオCDのTOCを読み出すサンプルプログラム

Sample Codeに掲載された「AudioCDSample」は、オーディオCDからTOCの情報を読み込み出力するといったものだ。Project Builderで作られており、Cでかかれている。TOCの内容を標準出力にリスト表示するだけなので、Project Builder上で動かして結果を見ることになるだろう。Mac OS XではオーディオCDをマウントすると、そのボリュームは各トラックがAIFFで参照できるようになっているが、加えて、.TOC.plistという名前のXMLファイルが参照できるようになり、TOCの情報がXMLファイルとして利用できるようになっている。このサンプルプログラムでは、その.TOC.plistファイルから項目ごとの情報を取り出すのに、Core Foundationの機能を使っており、XMLファイルとのデータのやりとりのサンプルにもなるだろう。また、File Managerの機能を使ってオーディオCDがマウントされたボリュームを検索し、オーディオCDのイジェクトなども行うプログラムも組み込まれている。

関連リンク:AudioCDSample 1.0
カテゴリ:アップルからの開発資料, 周辺機器


Mac OS XでNATの機能を設定するユーティリティ

Mac OS XでのNAT機能を利用するためのユーティリティ「gNAT 1.0b1」がリリースされた。Ben Lachman氏によって制作されたものだ。NAT(Network Address Translation)は、1つのIPアドレスでインターネット接続を行うマシンを媒介して複数のマシンからのインターネット接続を行うようなメカニズムだ。たとえば、コンピュータにEthernetカードを2枚差し込み、一方をインターネット側に接続し、もう一方を内部のLANに接続する。そして、内部のLANにある複数のコンピュータからのインターネット接続をできるようにする仕組みだ。たとえば、モデムでPPP接続を行い、そのマシンのEthernetの先にある何台かのマシンからPPP接続を共通で使うなどの使い方ができる。最近ではこうした機能を行うNAT BOXやブロードバンドルータなどといわれるコンパクトなボックスが使われることも多くなっている。その機能をMac OS Xのマシンで実現するもので、各種の設定がウインドウで行えるようになっている。実際のNATの処理はnatdというデーモンが背後で動くが、これはFreeBSDなどにも存在するものである。現在はモデムやAirMacとEthernetの間のNAT変換が主な用途となるだろうが、各種のEthernetカードがMac OS Xに対応した場合には、Ethernet間でのNATが手軽に利用可能となる。

関連リンク:gNAT
カテゴリ:その他のインターネット, ネットワーク


WWDC 2001でのJava関連セッションがまとめられたページが掲載

2001年5月21〜25日の日程で開催されるWWDC 2001でのJava関連セッションについてのガイドがAppleのデベロッパー向けサイトに掲載されている。Mac OS XでのJavaの位置づけなどを解説した文書と、WWDCでのJava関連セッションの一覧が掲載されている。Javaを中心にWWDCのセッションを巡るつもりの人には格好のガイドになるだろう。

◇Java at WWDC 2001
 http://developer.apple.com/wwdc2001/javawwdc.html

◇WWDC 2001 Featured Sessions
 http://developer.apple.com/wwdc2001/java.html

カテゴリ:イベント


TIL》Power Mac G4の一部でQuantumのハードディスクを使った場合のトラブル

Digital AudioタイプのPower Mac G4の一部のマシンで、Quantumの40ないしは60GBのハードディスクを使った場合に、データを損失させたり起動ができなくなるなど、ハードディスクの基本的な機能が動作しなくなるという症状がある。こうした症状が発生するハードウエアのシリアル番号と、問題が発生するハードディスクの型番がこの文書に掲載されている。こうした問題が発生する機種の場合には、Appleないしはディーラーに連絡がほしいとしている。

関連リンク:Power Mac G4 (Digital Audio): 40 GB and 60 GB Hard Drive Issue
カテゴリ:Knowledge Base(旧TIL), Power Mac