The Single Flagship TAMAKAZURA
GALLERY
THE FUTURES WATCH FOR HOPE, AND THEN HOPE IS WITH US.
One war broke out in 2366, the sun system. It is the result thing which is trivial for the history of the human race but for the people in the those days, it is an important event.

 ぷろぐらむちっくなお話。

■第04回 BGM再生。

本当はスクリプトと文字列置換について語りたかったのだけど、うだうだやっている間に年が明けてしまったので、別の話にしようと思う。

最近はXPあたりに注目している。とりあえずは、テストを書かないと‥‥

玉鬘プロローグ篇の99年冬版ではBGMはCD-DAで再生していた。さよじゅぴは、mp3で圧縮したファイルになっている。この辺りの話をしようかな。

かつてプロローグ篇を開発しているときに、問題となったことの一つは、BGMの再生だった。まず、MCIで再生しているのだけど、この再生コマンドとか、初期化コマンドが結構失敗するんだわ。んで、しつこく成功するまでループするようにすると、
・初期化
・再生
みたいなのが、ことごとく
・成功できるまで
 ・初期化
・成功できるまで
 ・再生
というふうになって、構造がぐちゃぐちゃになって、あんまし気持ちいい事じゃない。おまけに、CD-DAだとサイズが簡単に膨らんでしまう。
当時から大風呂敷を広げていた玉鬘本編では、DA部とグラフィックとかがCDに入りきらないんじゃないかとか怖れられていた(わお)。おまけに、CD-DA再生中にCD-ROMのファイルにアクセスすると、DA再生が止まってしまったり、いろいろな挙動不審な点とかから、「もう、CD-DAは嫌や」となったのは、まぁ自然の成り行きという奴だった。WAVEなら、圧縮も考えられるしね。

そこで、出てきたのがWAVEファイルのストリーミング再生。DirectXSDKのサンプルを漁ったりしてどうにかして単体テストアプリを作った。最初にできたは、サンプルと同じ、「200ms毎に知らせてね。通知がきたら、200ms分補充するよ」ってやつ。でも、この「xxmsで知らせてね」ってのはDirectX5以降で搭載された機能。これにはNT4がメイン開発マシンな僕は、ちょっと困ったわけ。いろいろな試行錯誤とかの結果「時々見に行って、使った(=再生した)分を補充する」という事になった。
けど、バッファリングはループもしたりすると、境界条件がいろいろ厄介になったり、DirectShowの使い方とかで、安定するまで結構かけてしまった。なんだかなあ。

ぷろぐらむちっくなおはなしはネタ切れだから、雑談に走ることにする。今はもう無いだろうけど、何かの終わりが近づくと、「十大事件」とかの特集をあちこちでやるよね。けど、「今に近い出来事は良く覚えている。昔の話は忘れた」っていう当たり前の事実があるじゃない。この百年の話をしようとするときに、明らかに一月も経てば忘れてしまうような事が入っちゃう。いくら日本人が忘れっぽいからって、ちょっとひどいよね。
対策は幾らか有る。近傍の出来事を除外するとか。そうだね、1900〜1950年の出来事で世界の十事件ってどうだろ?え?面白くない?じゃあ、何故「今世紀の十大出来事」なんかを列挙したいと思うようになったの?
あ、今世紀の十大事にかこつけて、昔の話をしたかっただけなのかな?
そういえば、未来予測はたまに検証されることはあるけど、過去の十大事件が参照された事は少ないような‥‥

Prev

Latest

Next

BACK TO MENU PAGE