MIDITrail for Mac OS X 開発
対応OSはMac OS X 10.5(Leopard)とする。 10.5はリリースから3年経過しており、ほとんどのMacユーザが10.5以降を利用しているだろう。 10.6はリリースから1年しか経過していないため、10.6のみでは対象ユーザが限定される。
対応CPUはintel CPUのみとする。PowerPCはサポートしない。 MIDITrailは高いグラフィック性能を必要しており、 PowerPC Macに搭載されているグラフィックチップでは十分に動作しない可能性がある。
そもそも、手元に10.5搭載のPowerPC Macが存在せず、 存在したとしても個人では異なるアーキテクチャまでサポートしきれない。 (エンディアンで苦労しそう・・・)
一方intel Macの発売開始は2006年1月のため、対応OS(Mac OS X 10.5)の リリース時期と十分マッチしている。
C / C++ / Objective-C は混在して記述可能である。 これをよく知らないままSMIDILibをObjective-Cで書き直したところ、 MIDIデータの読み込みに3秒程度かかるようになった。 パフォーマンスを分析したところ、C++の4~5倍の処理時間を要していた。 Objective-Cはメソッド呼び出しコストが高いため、大量のデータを扱うようなケースで遅くなる。 よってSMIDILibはC++に書き戻した。
Mac OS Xへの移植にあたり、ポイントとなる技術要素の一覧を以下に示す。 これらのポイントをそれぞれ切り替えることになる。
項目 | Windows | Mac OS X |
基本制御 | Win32API | Cocoa |
MIDI制御 | Multimedia API | CoreMIDI |
3DCG制御 | DirectX 9.0c | OpenGL 2.1 |
開発環境 | Visual Studio 2008 | Xcode |
動作検証時のみ、Mac miniをMac OS X 10.5で起動する。 Xcode 3.2はMac OS X 10.6でしか動作しないため。
MIDITrail for Mac OS X を開発する。 MIDITrail for Ver.1.1.1 Windowsのソースコードをベースとする。