Tips・その他
作者のひとり言
なぜこのプレイヤーを作ったのか
最近、Tonyuのゲームを支援するソフトを作ることをしていて、そのついでにMidiを鳴らすプログラムを試しに作ってみました。
それを作っているうちに、DirectMusicというものが使えるということに気付き、
これを使うと、標準のMidiデバイスよりもきれいな音が鳴り、反応も速いことがわかりました。
プロジェクトボードにあるMidiプレイヤーの中で、DirectMusicを使っているプレイヤーが無さそうだったので、
これは作ってプロジェクトボードに上げてみようと思い作り始めました。
しかし、作っていくうちに、DirectMusicを使用しているMidiプレイヤーというだけでは、
プロジェクトボードに上げても意味が無いんじゃないかと思いました。
Midiを鳴らすプレイヤーやOggにも対応したプレイヤーが既に公開されているので、
どうせ公開するなら、それらを超えるものを作ってみたいと思い始めました。
Midiの機能が全て完成した頃、とりあえず公開してOggは次のバージョンで対応させようとしたのですが、
やっぱり、Oggに対応させてから公開しようと決めました。
Oggも他のプレイヤーを超えるべく、それなりに新たな機能を付けました。
あと、他のプレイヤーだと反応が遅かったり、プロセスが残ったり、再生開始時に一瞬テンポが遅くなったりしたので、
それらを直したかったので、作ったというのも1つ理由です。
このプレイヤー作りに力を入れたところ
「反応を速く」「プロセスが残らない」「安定性」「扱いやすさ」「機能の多さ」「他のプレイヤーの動作の再現」といったところでしょうか。
というか、たかがTonyu用プレイヤーに力入れすぎた気がします。
プロジェクトボードのゲームには、他のMidi, Ogg プレイヤーを使っている場合がありますが、
Tonyuを終了しても、プレイヤーのプロセスが残ってしまうのが気になりました。
そこで、このプレイヤーはちゃんとプロセスが残らないようにすべく、
たとえTonyuが強制終了したときでも終了するようにしました。
その機能の試し方は、タスクマネージャーを開きプロセスの一覧からMidiplayer2を選択して、
プロセスを終了させるという方法で行いました。
扱いやすさというのは、他のプレイヤーでは、再生やエフェクト設定をするのに、
ファイルを書き込む命令を直接呼び出さないといけないのに対し、
このプレイヤーでは、全て機能をメソッドで使えるように用意していることです。
付属のYmplayer.tonyuにそのメソッドが書かれています。
これによって、ファイルの書き込みをあまり意識せずに、再生・エフェクト設定ができるので、
そういう意味で、扱いやすくなったんじゃないかなと思っています。
反応を速くとは、Tonyuから再生や停止などの命令が出されてから、
プレイヤーがその動作を行うまでの待ち時間を短くすることです。
安定性と書いた理由は、プレイヤーに命令を大量に送ったり、エフェクトなどの設定値の範囲を超えたりしても、ちゃんと動くようにしたからです。
しかし、あんまりいろんな環境で動作確認していないので、本当に安定しているのかわかりません。
気付いていないバグもあるかもしれません。
機能は多いので使わない機能もいっぱいあると思います。
そのためにプロセス残りが起きないようにしたり、反応を速くしたりして、基本的な性能も上げているので、
機能が多いだけのプレイヤーにならないように作りました。
戻る