Silverlightアプリケーションとして作っていたmldspを、Moonlight.Gtkに乗っかるようにいろいろ手を加えて、何とかMIDI音源に出力しながら画面表示できるところまでもっていくことができた。
外観上はprocessing版とあまり変わらないような気もするけど、コレはC#で書いた演奏ロジックと連動して、きっちり演奏もやってくれる。processingでもsoundcipherとかいうライブラリを使うとjavax.sound.midiを使ってMIDI音源にアクセスできるみたいだけど、processingでプレイヤUIのややこしいロジックを書こうという気はなかなか起こらない。
Moonlight.Gtkまわりは、以前とは使い方がいろいろ変わっていてサンプルがビルドできないこともあるし、多少tipsがいるので、それはそのうち書こうかと思っている。
とりあえず、これで、Moonlightを使ってMIDIファイルを再生するという、mldspの最初の目的は達成した。と書くと長い時間をかけていたように思えてしまうが、よく考えたらprocessingのお絵描きを超えてmldspのコードを実質的に書き始めたのは昨日なので(それはむしろtsukimiのdogfoodingに近い)、2日で出来てしまったことになる。良いペースだ。
プレイヤのUIをいろいろ作り込むのも楽しそうだけど、とりあえず鍵盤が動いているだけでだいぶ面白いので、次は演奏状態の制御(先日書いた停止命令など)を整えたいと思う。というか、MIDIデバイスのモデルを作るのが楽しそうだ。
Leave a comment