iXMFに手を出し始めたら、収拾がつかなくなってきた気がするので、この辺でやりたいことをいろいろ整理してみようと思う。
- portmidiバインディング, MIDIプレイヤー, SMFライブラリ: この辺は期待通り実装することが出来た。ビジュアルプレイヤーに手を出したことで、仮想MIDIマシンを使った状態管理もできるようになった。基本的には、これらは終了したプロジェクトと思っている。ただ、どうリリースするかは未定。
- mldsp: 機能的には、多少のTODOが残っているものの、大体やりたいことは実現できた。これで完成品としてリリースするわけにはいかないが、アルファ版的なリリースはできる。
- MIDIコンパイラ: まだサンプルMMLを書いていないし、SysExや曲タイトルその他の細々としたディレクティブも実装しなければならない。サンプルを書き上げたらそれでアルファ版として公開するくらいはできると思う。今sequerとなっている名前は多分githubにインポートする時にmugeneになる。
- processing: もともと、Javaの実行環境に相当するものを作ろうと思って始めたはずだったのだけど、スクリプトをそのままアプリケーションにするコンバータとして、画面設計の補助になる以上のものには今のところできていない。そして入力を全然処理するようになっていないので、gainerをいじって遊ぶ実行環境として使えないのが今のところの問題だ。ただprocessingにはもうあまり興味が無かったりもする...むしろこっちに深入りするなら、VPLに近いものを実装してみようと思う。この方面で関心があるのはMAX/MSPだ。その関係でRDSのVPLなんかには割と興味があるのだけど(もう少し色気が無いところで言えばWFのxomlとか)、それより先にMMLコンパイラその他を終わらせるべきかなと思って、深入りできていないのが現状だ。
- iXMF engine: どこまで実装してみるか、実のところまだあまり考えていない。エンジンを実装するだけでは、動作検証ができないので、実データが必要になるのだけど、その実データが存在していないので、iXMFデータのオーサリング環境から作らなければならないのではないかと思っている。そして、そう考えると案外C#のexpression treeからiXMFのexpressionを生成したりできるのではないか(Linq to iXMF?)、と、いろいろ夢らしいものが広がる。実行環境はCLRでportmidiバインディングを巻き込んでもいいし、Moonlight環境ではOgg Vorbisなどのcustom media streamを巻き込むことも出来る。
- mldsp input addin: まだ構想しか無い。任意の入力メッセージを受け付ける。コレ自体についての構想はこの前書いたばかりなのでここでは繰り返さない。
- 液晶スペアナモニタ: これはgainerをいじって作ってみたいおもちゃ。液晶モニタをgainerでいじろうというのはやや無理がある気もするが...グラフィック表示用のモニタはあるが、まだ繋げられていない。
- カスタムMIDIコントローラ: これも電子工作でやってみたいおもちゃ。実はMIDIよりむしろFMシンセサイザのパラメータ調整に使いたい(がそうするとドライバをいじるコードから書かないといけないのでこれは未来形で不確定)。ツマミはジャンクコントローラを買ってきてあってストックがあるのだけど、まだ分解すらしていない状態。先にMMLコンパイラを終わらせてからだろうとは思っている。あと、カスタムコントローラを制作したら、それをMIDIドライバに送信するコードも必要だけど、何かしら便利な共通モジュールを設計すべきかどうかはまだ分からない。
- 気が向いたらタッチパネルを使ってDexterみたいなものを作ってみたい。まだタッチパネルが安くても10000円くらいするので、しばらく先でもいいかなと思うけど。Dexterを見るとつい買ってしまいたくなるので気を引き締めないと...
- リモートMIDI再生環境: 出先で自宅のMIDIデバイスにMIDI楽曲を送り込んで、手元で聴きながら楽曲編集できるようにしたい。そのための方法をいろいろ考えたのだけど、結局ストリーミングサーバを自前で用意するのは面倒なので、ustreamにでも接続してそこから聴く感じにするしかないかと思っている。
...ずいぶんいろいろ出てきたもんだ。ざっと洗い出した感じ、やはり先にMMLコンパイラを一段落つかせないといけないような気がしてきた。ただこのソフト、リリースするにはゆるい実装だし(エラーチェックとか真面目に考えだすと面倒なことになる)、かなり自分専用に近いツールだし、それなりに複雑なので、気合いが入らないとなかなか手を入れようという気になれないのがちょっと困る。まあ焦ってなんかやらないといけないものでもないので、気の向くままに進めようと思う。
追記: ちょっと中の人に話を聞いてみたら、iXMFはどうやら仕様が大幅に変わるらしい。それでは今手を出しても意味がないので、ちょっとこれは放置しよう...