今日は電車の中でiPod TouchのFiles Liteというドキュメントビューアを通してソースコードを見ていた。
コードを見ているとイベント・ドリブンなアプリをイベント・ドリブンでないOSで動かすためのイベント・ドリブンなコードが組み込まれている。これはイベント・ドリブンなOSであれば不要なコードである。
それをさらにイベント・ドリブンなOSに移植したので、上記コードに加えてグルー・コードとしてイベント・ドリブンでないOSの処理をエミュレートするためのコードが書かれている。無駄な処理が多いことがおわかりいただけるだろう。
でもそれは作者のOSの仕様がそういうアプリの作り方をさせたのであって、仕方のないことである。また他のOSへの移植にかける工数を少なくするため、元のソースコードを出来る限りそのままの状態にし元のOSのファンクションのみを移植しようとすると、さらに無駄な処理が増えるのもまた仕方のないことである。STed2のソースコードはとても歴史を感じさせるものであるし、私のようなアプリを1つも完成させられない者にとってアプリとして完成させた作者や他のOSにポーティングした作者に対して尊敬の念を禁じえないのである。
そういうコードにDirect2Dコードをおっかぶせて、さらにややこしくているのがこの私なのである。すんません。。。
ソースコードを読み進めるうちにこのアプリの仕様を拡張した形でソースコードをいちから書きなおしたくなる気持ちもまたむくむくと沸き上がってきている。
あ、でももともとはVst Hostアプリのシーケンス部分をST/GT方式にしたいが、なんとか端折ることができないだろうかとあれこれ探しまわって見つけたのがSTed2なので、いちから書きなおすのであればもうVST Hostアプリに組み込む形に持っていった方がいいのではないかという気もするし、どうするかな。。