wave_source

予定通りWAVEファイルの読み込みクラスを作成しました。(リニアPCMのみ対応)
mmio系のマルチメディアI/O関数は使っていないので、UNIXでも動きます。
実際のところ、フォーマット情報を取得した後は単にread()するだけなので、boost::iostreams::restrictにまる投げすればよいのですが、現状のrestrictには問題があって、input_seekable(またはoutput_seekable)でなくseekableを要求するため、あまり役に立ちません。hamigaki::audio::lazy_restrictならinput_seekableで動作しますが、lazyにする必要もなくオーバースペックです。
Boost.Iostreamsの作者、Jonathan Turkanis氏はなかなか戻ってこないし(注:普段のレスポンスは驚くほど速いです)、いっそのことrestrict(正しいもの!)をHamigaki.Iostreamsに追加してしまおうか、、、。

今日の成果物