2010年10月のエントリ

長かった開発も一段落で次は何しよう。まずはWindows Phone 7の開発について調査。Silverlightならロビーくらいすぐ移植できるかな,と思ってたけど,実は現状Socketが未サポートらしく,簡単には実現できなさそう。Webサービスならいけそうだけどわざわざそんなことしないといけないのか? 次にXNAも触ってみようとしたが,Windows Phone 7用のXNA開発はDirectX10対応カードが必須。普通にWindows用ならできそうだけど…。先は長い。

「MIDI プレイヤー & 練習ソフト Purentro Ver.1.0」を公開。新作キーボード練習ソフト! といってもMIDIキーボードだけど・・・。

今回はマニュアルにおまけ情報を書けなかったのでここに書いてしまおう。


このプロジェクトは,元々10年前に某鳥の名前のファミレスでMIDIキーボード練習ソフト作ろーみたいな話があって,いつの間にか立ち消えになったもの。1年くらい前からひっそり再開して作っていたのだが,とりあえず作りたかったものができたので公開してみた。

内容としては,.midファイルを読み込んで楽譜を表示し,MIDIキーボードがあれば練習にも使えるというソフト。ということでこれを使う人はだいぶ限られそうなので環境とか何も考えずに作っている。XPは動くけど非サポート扱いにしたし,.NET 4.0必須だし,ディスプレイの解像度は1920×1200以上じゃないと厳しいし。要は自分の環境に最適化したという話。


技術的な話も。まず,マニュアルにも言い訳を書いているが,MIDIファイルは楽譜ファイルじゃないのでちょっと複雑なMIDIファイルだとお手上げ。発音のタイミングが音符の位置からずれまくるし,1つのトラックに複数のパートがあると見分けが付かないし,世にある楽譜化ソフトも相当苦労しているはずだけど,完璧なものはないですね。この辺の苦労をはっぱさんと語れたのが今回最大の収穫。そういえばはっぱさんからはiPadでやったらいいよとかメモ書き機能があるといいよとかアドバイスをもらった。次バージョンがあれば考えてみよう。音楽は何も知らないのでそういう人が近くにいると心強いですね。

あとはWPFですかね。最初はC++ Direct Drawで作ってたけど,斜め線が引けなくてDirect3Dに切り替えて,その後きれいに拡大縮小をしたくてC# WPFに切り替えた。以前Silverlightを少し触っていたときはあまり感じなかったけど,WPFを本格的にやってみるとかなり面白い。これだけの開発環境が揃っているといろいろ作りたくなってくる。Windows PhoneはSilverlight(=WPFの軽量版みたいなもの)なので,いろいろやってみたいかも。


ところでPurentroって未だに意味がわからないんですけど,どういう意味ですか?>ぱじ

いろいろあってスマートフォン開発環境を構築。Windows PhoneとAndroidとiPhone/iPad。とりあえず日本だとこの3つを押さえればいいのかな。

Windows PhoneはWindows Phone SDKを入れるとVisual StudioでSilverlight for Windows PhoneとXNA Game Studio 4.0プロジェクトを作成できるようになる。Silverlightで作ればいいのでものすごく簡単。

AndroidはWindowsにAndroid SDKを入れるとJavaで開発ができる。Eclipseを使うと割と楽に開発できる。さらにCygwinとNDKを入れると,CのソースをARM用にクロスコンパイルし,JNIで呼び出すことが可能。

iPhone/iPadはMac必須。iOS SDKをダウンロードしようとするとComing soonみたいなページにとばされてなかなかダウンロードできなかったが,なんとか構築環境。iOS SDKを入れてXcode上で開発ができる。Objective-Cなんだけど,普通のC言語でも動くのか,なあ。

結局C#/Java/Objective-Cなので共通で動くものを作ろうとするとPure C言語で作っておいてC#に移植/JNI/C言語でやることになるのかな。


ここまできて,問題は何を作るか,なんだけど。とりあえず練習として,Windows Phone 7が日本で発売されるまでにWeather Typingロビークライアントを作ってみるのもいいかな。今作っているMIDIプレイヤーはマニュアル作ったら完成なのでその間に何を作るか決めよう。