今年はいろいろ実り多い1年になった。といっても今年の前半にやったのがほとんどだけど。このlog自体今日でようやく1年だ。今年は初心に返って、知識のないところから物事を始めたり、昔のままで凍っていた知識を復活させたり焼き直したりしたいと思って始めたものだけど、記録し続けていてよかった。ひとりごとでも何かアウトプットがあると動機を補強することができる。
そんなわけで、振り返りエントリを書いてみることにした。
- portmidiいじりとportmidi-sharpプロジェクト。クロスプラットフォームでC#から操作可能なMIDIアプリケーションを書けるようにしたいと思ってportmidiを発掘したのも、そこから共有ライブラリを作ってC#バインディングを書けるようにしたのも今年になってから。サンプルとして作ったmmkは、いまMIDIをいじるときに活用しているし、PortMidiPlayerはmldspでも活用している。
- tsukimiのコードがほぼ構想のレベルでしか存在していなかったのが、実際にサンプルコードをコンバートしてアプリケーションとして実行できるところまでもっていくことができた。これはmldspの実装において大いに役に立ってくれた。
- ビジュアルMIDIプレイヤーとしてのmldsp。当初こういうものを作る予定はなかったのだけど、振り返ってみると今年一番のキャッチーな作品になってしまった。見ていて楽しいプレイヤーがあるのと無いのとでは、テキストオンリーでの打ち込みでやる気が大きく変わってくる。
- そしてついに構想だけ年単位で存在していたMMLコンパイラを、開発し始めて実用的なレベルにまでもっていくに至った。構文はずっと練り続けていたものだけど、実装が始まるところころと変わり、ある程度の柔軟性が確保できた今でも不満は少なくない。だけどコレがあれば少なくともゼロではない。仮にこのままDAWに宗旨替えするようになったとしても、MMLで出来なかったからと諦めたり、あるいは共用して活用することもできる。
他にもsnippetのレベルではOSCを実装してみたり、gainer+C#のおもちゃを作ってみたり、途中でやめた物でも、iXMFの実装(これは仕様自体がぶれると聞いてやめたのだった)とか、PubSubHubBubの実装(これはWCFを使ってやろうとしたのが間違いで、低レベルで実装するのでは面白くないのでやめたのだった)とか、いろいろあった。地味にlingrのC#ライブラリとradarも作った。
来年も同じような開発を続けるかどうかは分からないけど、Webやコミュニケーションエンジンで興味を引かれた分野でコードを書くことはありそうな気がする(OSCなんかをいじっていたのはその発露)。
来年もまた楽しい1年になるといいなと思っているし、その可能性は高いと思っている。"Happy hacking"という言葉を違和感なく発せる1年にしたい。