Macintosh Developer Online (MDOnline)


2001年9月7日発行号 - 10.1はオーディオやMIDIにも進展あり?



昨日は、久々に音楽関係の記者会見に行ってきました。別に根掘り葉掘り聞くまでもなく、Mac OS X対応はAppleと連係してやっているみたいなことを話として聞けました。10.1から、それなりにMIDIやサウンドが扱えるようになればいいのですが、どうなるでしょうか。ところで、大昔のMacPowerの連載とか、Sound & Recordingへの妙にマニアックな連載とか、MACLIFEの特集とかで90年代前半にはそこそこ音楽関連の記事を書いていた私ですが、実は結婚を期にすっぱりやめて(笑)、さらに音楽活動もなんだかすっぱりやめて、さらに使わないとどんどん古くなるデジタル楽器をきれいさっぱり処分し、ちょっと遠ざかっていたのですが、久々に目の当たりにしたデジタル楽器でありStudio Canvasは欲しくなりましたね〜。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥Information
WebObjects 5のアップデータ『WebObjects 5 Update 1』はこちら
 
WebObjectsの日本語マニュアルが公開されはじめています
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

さて、JustNetがSo-Netに売却するという話は、プロバイダの再編とかいった見方が強いですが、だいぶん以前に書いたように、ジャストシステムはASP事業を始めようとしていました。というか、計画通りではないもののeeJooとかすでに始めているものの、当初の計画ほどのサービスはまだ始まっていません。こうしたASPへのシフトは、ソフトウエア開発者にとっての1つの方向性かと思われたのですが、思った程市場は延びていないという話もあります。少なくとも、ASPだけが飯の種にはまだなっていないようです。ジャストシステムの場合、早くに手をつけながらまだサービスが本格化していない理由は分かりません。また、JustNetの売却でこうしたASP事業がどうなるかということも明確ではないですが、いずれにしても、思った程の収益の柱になっていないのは明白です。Javaや家庭用市場への進出で脚光を浴びながらも、収益へつなげられないジャストシステムの苦悩が何となく見えかくれしますが、どうなんでしょうか。
なんで、ジャストシステムにときどき固執(笑)するのかというと、日本のソフトハウスであり、マイクロソフトに一時期はまともに挑み、ATOKという柱の商品はあるものの次の柱が立てられないという意味で、ある意味では従来型のソフトハウスの縮図のような動きが見えるからなんですよね。その意味では、MDOnlineの読者の方に多いと思われる開発関係の方にとって、企業経営的な面などで見るべきところは多い会社だと思います。
(新居雅行 msyk@mdonline.jp


エディロールの新製品はMac OS 8/9のみ対応だが、Mac OS X対応も近いか?

ローランドの関連会社で、コンピュータ音楽やあるいはサウンド関連周辺機器を手掛けるエディロールは、2001年9月6日に新製品に関する内覧会を開催した。その内容については、ニュースサイト等ですでに公開されている通りである。MDOnlineでは発行タイミングの都合で1日遅れてしまったので、違う角度から記事をお届けしよう。

◇エディロール,GM2搭載した「Studio Canvas」を発表
 http://www.zdnet.co.jp/macwire/0109/06/n_edirol.html

現在の音楽系周辺機器としては、USB接続によるMIDI音源やMIDIインタフェースに加え、USBを経由したサウンド入出力機能(オーディオインタフェース機能)もある。単に音を鳴らすのなら直接スピーカをつなぐくらいだが、やはりこうした装置を必要とするのは音楽制作や映像関連などいずれにしてもクリエイティブ分野のユーザであり、そうしたユーザに対するニーズに応える必要がある。今回の新製品発表で何度も出てきたこととして、サウンドのクオリティや遅延の少なさといったオーディオ部分の性能の高さを実現したという点である。
まず、」MIDI音源とオーディオを1つのパックにした「Studio Canvas SD-90」は注目の製品だ。こうしたMIDI+サウンドを実現したものはSC-D70などすでに存在しているが、これまでのSound Canvasとしていたシリーズを新たに「スタジオ」と名付けたように、スタジオワークを意識したクオリティの高いサウンドを、1台のボックスで実現してしまおうというものだ。SD-90はSC-8850などよりもMIDI音源のクオリティも高いもので、9万円台前半の予想価格となっており、2001年11月に発売予定となっている。なお、サウンドとMIDIの両方の編集機能を備えたSonarというアプリケーションをバンドルしたモデル「ソナー・デジタル・スタジオ」もあるが、Sonar自体はWindowsのみ対応となっている。MacintoshではASIO 2.0に対応した、Cubase VSTやLogic等での利用を推奨することになるが、ソフトウエアとのパッケージ製品については予定はない。
オーディオインタフェースの新製品「UA-5」はファンタム電源が供給可能なXLRマイク端子を始め、極めて多彩なオーディオ端子を備えている。オプティカルや通常の端子に加え、ギターの直接入力が可能なハイインピーダンスモードも備える。高性能なコンデンサマイクの価格も低下したため、そうした機器の接続の需要が高まっていることへの対応である。サンプリングも24ビット、96kHzに対応している。実勢価格は33000円前後と予想している。一方、アナログのピンジャックによる入出力だけの「UA-1A」モデル、オプティカルとコアキシャルのデジタル入出力だけの「UA-1D」モデルといった単機能のインタフェースも発表された。それぞれ、8000円、10000円の実勢価格が予想されている。さらに、PCIカードと組み合わせて使う8つの入出力を持つインタフェースの「AD-2496」(実勢価格は75000円を予想)も発表されている。
USBのMIDIインタフェースとしては、すでにアダプタ部分からMIDIケーブルが出ているタイプが発売されているが、アダプタ部分にMIDIコネクタがある「UM-1S」が発表された。価格は4000円前後と予想されている。また、8チャンネルのMIDI入出力を持つ「UM-880」(実勢価格は35000円を予想)も発表された。

いずれも、Macintosh対応はしているものの、今回の発表では、Mac OS 8/9のみである。サウンド関連についてはSound Managerを使うものにはすべて対応しているが、実際には音楽ソフトと利用することが多いと思われるので、ポイントとなるのはASIO対応であるかどうかという点になるだろう。いずれにしても、基本的な利用はOSのドライバを使うということになる。
Mac OS X対応については、現段階では言えないということであるが、近々、なんらかのアナウンスできればという話を会場で聞くことができた。Mac OS XではCore Audioとして、Real Time UNIXのテクノロジーを含めた高機能な基本システムは組み込まれている。しかしながら、肝心の周辺機器とのドライバに対応するものがほとんどない状態である。もちろん、対応アプリケーションは一部のサウンド系のものだけで、MIDIにいたってはほとんどない。たとえば、Mac OS XにはMIDIの入出力の基本的なフレームワークは存在するが、基本的なUSBのMIDIインタフェースに対応するドライバは含まれていない。オーディオについても、おそらく汎用的なドライバはまだ組み込まれていないものと思われる(Sound Stick等は利用できるが)。エディロールの一連の製品は、ハイエンドのプロフェッショナル向けというよりも、どちらかといえばアマチュアを中心にした市場の広い層を狙った製品であり、特殊な機能をソフトウエアで実現する以前に、手軽にパソコンに接続可能なところははずせないポイントだろう。そうなると、OSが用意する標準ドライバでの利用がまず第一歩となる。言い換えれば、AppleがMac OS Xの出荷状態で、エディロールのこれらの製品に関してなにもしないで基本的な利用ができることを想定するものと思われる。
その意味では、今回の新製品などをエディロールよりAppleに実際に提供し、OSによるサポートを実現するためのアピールはしているという話である。Appleで、これらエディロール製品を実際のテスト等に使って基本的な利用が可能なようになっていれば、エディロールとしてはしめたものだろう。もちろん、汎用MIDIドライバやサウンドドライバが稼動するのであれば、エディロール製品に限らず利用ができ、多くのユーザがMac OS Xでのサウンド利用が一気に広がることが可能性として考えられる。サウンドおよびMIDIシーケンスの統合ソフトLogicなどのEmagic製品も、Mac OS Xに対応して2001年9月に発売予定となっている。Logicなどのハイエンドソフトの場合には、サウンド、MIDIともにより高度な利用が必要になり、Mac OS Xのフレームワークとの兼ね合いをどうするのかといった話題にも興味があるところであるが、いずれにしても、MIDIやオーディオ関連に対するMac OS Xの進展は、もしかするとVer.10.1で動きが出そうな気配も感じられる。

関連リンク:エディロール
カテゴリ:Mac OS X, 周辺機器


小池邦人のプログラミング日記》2001/9/7<Quartz 2D(Core Graphics)を使う その5>

今回は、Quartz 2Dで描画した図形をPDF(Portable Document Format)ファイルへと書き出し(保存)てみます。また、それを読み込んでウィンドウへ描画することにもチャレンジします。

以前に少し説明しましたが、Quartz 2DのContex(描画環境)としては、ウィンドウやBitmapだけでなく、PDFファイルを選択することもできます。この仕組みを利用することで、ウィンドウに図形を描画しているルーチンをそのまま利用し、その結果とまったく同じ状態のPDFファイルを作成することが可能です。PDFファイルの描画環境は、解像度に依存せず複数ページに出力可能な点が、他の環境とは異なります。つまり複数ページのPDFドキュメントが作成できるわけです。Quartz関連のドキュメントには、「Quartz 2Dが書き出すPDFファイルはPDF Reference Version 1.3に準拠している」と記載されていますが、現状のバージョンでは、そのすべての仕様は満たされていないようです。例えば、円の描画の実験の時に試したTacnsparency(透過処理)の設定も、PDFファイルに書き出した時点で省略されてしまうようです。

以下が、パス名(CFStringRef)で指定したPDFファイルを、Contexとして設定するcreatePDFContext()ルーチンです。

 

引数に、PDFファイルの矩形枠(用紙サイズ)とファイルへのパス名を与えると、作成されたContexを返します。まずは、パス名をCoreFoundation APIであるCFURLCreateWithFileSystemPath()に渡し、目的ファイルのCFURLRefを得ます。このように、Quartz 2D APIには、CoreFoundation APIと密接に結びついている物がいくつかありますので、CodeWarrior7.0EAのプロジェクトウィンドウのFrameworksタグに、「CoreFoundation」を追加しておくことを忘れないでください。得られたCFURLRefをCGDataConsumerCreateWithURL()に渡すと、CGDataConsumerRefを得ることができます。CGDataConsumerRefとは、前回説明したCGDataProviderRefと反対の概念であり、画像データの供給先を定義したことになります。そして、そのCGDataConsumerRefと矩形枠をCGPDFContextCreate()に渡せば、目的のContexを得ることが出来ます。必要なくなったCGDataConsumerとRefCFURLRefは、それぞれ、CGDataConsumerRelease()とCFRelease()で削除しておくことを忘れないでください。

これで、PDFファイルをターゲットとした図形描画が可能になりました。さっそく、以下のcreatePDFDocument()ルーチンで図形描画を行い、結果をPDFファイルに書き出してみます。

 

まず、あらかじめ確保したCGPointの配列に、適当な座標値(浮動小数点)を4つ代入しておきます。PDFファイルの矩形枠は、オープンしたウィンドウのサイズとします。先ほど説明したcreatePDFContext()を実行し、引数で渡されたパス名のPDFファイルをContextと指定します。後は、CGContextBeginPage()とCGContextEndPage()の間で図形描画を実行すれば、その結果がPDFファイルの1ページ目として出力され仕組みです。今回は、フレーム付き半径60ピクセルの円を4つ描き、その中心を通過する折れ曲がったラインも重ねて描画しています。

全体の処理の流れは、QuickDrawのOpenPicture()とClosePicture()の関係に良く似ていますが、データの書き出し先がファイルである点と、ページの概念がある点が異なります。具体的に描画結果をPDFファイルとして書き出すには、メニューなどが選択された時点で、以下のようにcreatePDFDocument()ルーチンを呼び出します。

createPDFDocument( window,CFSTR( "Users/koike/test.pdf" ) );

CFSTR()は、C文字列をUnicode文字列(CFStringRef)に変換するマクロです。この場合のパスは、koikeフォルダ(Mac OS Xのホームに相当)に含まれる「test.pdf」ファイルを指しています。

 

保存されたPDFファイルを、Mac OS 9環境へコピーしてきて、Adobe Acrobat Reade 5.0でオープンした様子です。

 

描画時のカラー指定では、Tacnsparencyを0.5(半透明)と指示したのですが、それがPDFファイルへ反映されていないことが分かります。

次は、先ほど保存したPDFファイルを読み込み、それをウィンドウに表示する処理を実行してみます。以前、マウスボタンをクリックしている間、ウィンドウ上に半透明の赤色の円を描き続けるpaintImageWindowX()と言うルーチンを作成しました。それを、ボタンを離した瞬間に、指定されたPDFファイルを描画するように改造してみます。

 

getWContext()はウィンドウを作成時に確保したContextを、プライベート構造体から得る自作ルーチンです。最後に実行されている...

drawPDFDocument( cont,CFSTR("Users/koike/test.pdf") );

により、test.pdfファイルの1ページ目がウィンドウに描画されます。

drawPDFDocument()は、引数で渡されたパス名からターゲットとなるPDFファイルのCFURLRefを作り、それをCGPDFDocumentCreateWithURL()に渡して描画対象となるCGPDFDocumentRefを得ています。CGPDFDocumentGetMediaBox()は、そのドキュメントの矩形枠を得るAPIです。最後に、CGContextDrawPDFDocument()に、確保しておいたContext、CGPDFDocumentRef、CGRectを渡せば、ウィンドウ上にそのPDFファイルの内容が描画されます。CGContextDrawPDFDocument()の最後の引数では、表示するページ数を指示します。マウスドラッグにより描画された円を消去することなく、新たにPDFファイルの内容が上書きされていることが分かります。

 

次回は、Quartz 2Dの描画能力をもう少し深く調査してみることにします。カラースペック、ラインの形状、パスの意味、ベジュ曲線などの詳細を見てみます。
[小池邦人/オッティモ]

関連リンク:オッティモ
カテゴリ:グラフィックス, 小池邦人のプログラミング日記


ヘリオグラフがOpenBase SQLとWebObjectsを使ったソリューションセミナーを開催

ヘリオグラフは、2001年9月21日(金)に、データベースエンジンのOpenBase SQLとWebObjectsを利用したソリューションを提案するセミナーを開催する。13:30より、東京初台にある東京オペラシティーにあるアップルコンピュータのセミナールームで行う。「WebObjectsとOpenBase SQLのアドバンテージ」として概要、「Webアプリケーションとクライアント・サーバーシステムの実際」としてCyberFrameworkを使用した開発のデモや導入事例、「トレーニング体制とメールによる情報提供について」としてトレーニングとMDOnlineによる情報提供について講演される。講師は、ヘリオグラフより渡邊大介氏と河本公夫氏、そしてMDOnlineの新居雅行が行う。参加費は無料で事前にWebサイトで申し込みを行う形式となっている。申し込みフォームは近日公開となっている。

関連リンク:OpenBase SQLセミナー
カテゴリ:データベース, イベント, WebObjects


KBase》日本語版のCarbonLib 1.4も単体で公開を開始

CarbonLib 1.4の日本語版が公開された。ソフトウエア・アップデートを利用しても入手できる。CarbonLibは、Mac OS 8.6移行およびMac OS Xで共通に利用できるフレームワークで、共通のソースコードあるいはバイナリコードをそれぞれのOSで実行できるようにするものである。CarbonLibはMac OS 8/9において、システムにCarbonの機能を組み込む機能拡張である。前のバージョンは1.3.1であった。1.4では小幅な改良とはなっているが、場合によってはアプリケーションが1.4以降を必要とする場合もあるかもしれないので、バージョン番号には注意を払う必要がある。Mac OS 9.2.1はすでにCarbonLibは1.4となっている。

関連リンク:CarbonLib 1.4:Document and Software
カテゴリ:Knowledge Base(旧TIL), Carbon/CF, OS関連ソフトウエア


KBase》iMacのAC非接続時の電源管理を改良するアップデータが公開

システムのアップデータとして「iMac Power Management Update」が公開された。執筆時点では英語版のみの公開となっている。2001年に発表されたiMac(2月と7月に発表されたもの)が対象であるが、8月以降にAppleから出荷されたものは最初から組み込まれている。このアップデータを利用することで、AC電源を接続していない時の電源管理が改良される。接続していないときには内部の電池を使って日付や時刻などの情報を保持しているが、アップデートすることによって電池での保持の期間が延びる。

◇iMac Power Management Update: Document and Software
 http://www.info.apple.com/kbnum/n120048

◇iMac (Early 2001) and iMac (Summer 2001): Power Management Update
 http://www.info.apple.com/kbnum/n106450

カテゴリ:Knowledge Base(旧TIL), iMac


KBase》Mac OS 9.2.1にアップデートしたPowerBookでのCDドライブ異常について

FireWireタイプのPowerBook(2000年に発売開始)において、オーディオCDの再生が止まってしまう現象や、ドライブがリセットされてノイズが出る現象について、原因と対処法がKnowledge Baseで文書が公開された。Mac OS 9.2.1にアップデートした場合にそうしたことになってしまう。これは、SDAP Authoring Supportという機能拡張の影響である。この機能拡張は拡張ベイに装備するサードパーティのCD-RWドライブ向けのものであって、そのドライブを使っていないのなら必要ないものであるから、取り除いて再起動すれば問題はなくなる。

◇PowerBook (FireWire): Audio CD Stops Playing
 http://www.info.apple.com/kbnum/n88205

◇PowerBook (FireWire): Periodic CD/DVD Drive Noise
 http://www.info.apple.com/kbnum/n88203

カテゴリ:Knowledge Base(旧TIL), PowerBook