less code, less bugs

| No Comments | No TrackBacks

最近は不本意ながらMac上のMonoDevelopでmldspのコードを書いていることが多い。この環境でLinux環境がまだまだ実用的でなく(ACPIまわりにバグがあってkernelのfix待ちという状態なので、どんなdistroの最新カーネルでも無理なはず)、Silverlightアプリのレベルであれば十分にビルドもテストも出来るので(テストはSilverlight上で行われることになるけど、Moonlightはかなり出来が良いので、Linux環境に持っていって動かなかったことは1度しか無い)、それに甘んじているという状態だ。

これまで、そのMac環境でmldspを動かした時は、ちょっと困った問題があって、最初にファイルを選択した時は概ね動かない(けどたまに動く)という現象があった。Windows上では逆に概ね動く(けどたまに動かない)という状態だった。

さっきLinux環境に持っていったら、いろいろプレイヤまわりのコードをいじったせいか、演奏してくれなくなったので、プレイヤの状態管理まわりを整理しようと思っていろいろ改善を施した。基本的には非同期プレイヤは内部の同期プレイヤの状態をそのまま見ることにした。そうしたらなぜか上記の問題が一気に無くなって、プレイヤとしての安定性はかなり向上した。相変わらずUI上は停止命令を受けてもクリアされないが、演奏→停止→演奏などの操作もきちんと扱えるようになった。

コードが少なければ少ないほど、バグも減るという好例だ。

No TrackBacks

TrackBack URL: http://veritas-vos-liberabit.com/noteon/mt-tb.cgi/34

Leave a comment

About this Entry

This page contains a single entry by note on published on June 8, 2009 5:10 AM.

演奏状態の制御とスキップその他の実装方法を考える was the previous entry in this blog.

演奏時間表示と早送りの実装 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.23-en