wide_adaptor

wide_adaptor<float>とwide_adaptor<double>で一通りのフォーマットをサポートしました。
今日の成果物
マイナーなフォーマットは全然テストできていませんが、

audio::wave_file_source file("doremi.wav");
io::copy(
    audio::widen<double>(file),
    audio::widen<double>(audio::pcm_sink(file.format()))
);

のように無駄にdoubleでやり取りしても問題なく動いています。


あと欲しいのは、

  1. wide_adaptor<boost::int_least32_t>
  2. floatデバイス用のwide_adaptor<double>

ですかね。
1.は浮動小数点型を使用したくない場合に役に立ちます。
2.は元のデバイスの文字型に応じて実装を切り替えることになります。