メディアプレイヤ

24bit音声対応しました!
今までノイズだらけでまともに再生出来なかったのでかなり苦労しました。
原因はバッファの大きさでした。
今までは16bit,8bit音声対応だったので、2バイトか1バイトのデータ、つまり2で割り切れるバッファ値で良かったんですが、24bitということは3バイト。
そこでバッファを2週目するときにノイズになっちゃってました。
バッファの大きさを2でも3でも割り切れる数値にしたところうまくいきました。
あとはSFCなどの音声の音割れ。
3バイトで取ってきているんですが、符号が付くとどうもうまくいかないっぽい。
マイナスの数値がうまくいかないので正の数でオーバーフローしちゃってます。
一応公開はしてあります。

追記
24bitでの再生、フェードアウトが正常に行われるようになりました。
これで96kHz/24bitまでのkpiに対応できました。
m4a,aacは、2ch/44100Hzのm4a、6ch/48000Hzのaacで確認が取れました。

この時点で内蔵でogg,mp3,m4a,aacの再生が可能となりました。
まぁあとは暇を見て、flacとか内蔵に出来ればいいかなぁと思ってます。
kbflac.kpiを使うと96k/24bitのハイレゾで再生可能です。
wavは内蔵を使わないのでwavだとDirectShowでの再生となります。
リニアPCMだけでも数パターンありますし、ADPCM含めるとかなりのパターンがあるので、
2chのリニアPCMのwavのみだけなら内蔵可能ですが、wav形式って色んな形式埋め込めるので、
内蔵にせずにDirectShow任せにした方がいいかなぁと。
mp3とかみたいに決まっていればいいんですけどね。
ちなみにmp2やrmpなども内蔵で再生出来ます。
内蔵で出来るものは内蔵で、なければkpiを探し、それも無ければDirectShowを見に行きますので、
DirectShowコーデックが入っていれば基本音声だろうが映像だろうが再生可能です。

追記2
flacに対応しました。
これで内蔵で再生可能なのは、ogg/mp3/m4a/aac/flacということになります。
μ’sのハイレゾ音源をダウンロード購入したのがきっかけで、flacの対応を行いました。
ハイレゾ音源は96000Hz/2ch/24bitです。鳴らすのはそこまで難しくなかったのですが、時間表示で手こずりました。
とりあえず正式公開です。
1週間くらいみてからVectorにUPします。

追記3 2015/9/1
kpiリスト(レンダリングボタン→kpi一覧)で、チェックボックスを設けました。
使いたくないkpiをチェックから外すとそのkpiは使わなくなります。
但し、ファイル名で見に行っているので、同じファイルのkpiが2カ所にあり、上の方と下の方にあったとき、上だけ外しても、下の方で復活するので、
両方外すか、ファイルを削除して1つにして下さい。
チェックの有無はexe起動時とkpiリストを閉じる時です。

M4aとAAC

m4aとaacを内部再生対応しようと色々調べてみたけど、よく分からない。
なんとなくは分かったけどって程度。
m4aは内部がaacとalac(だっけ?)があるっぽい。
aacの拡張子もm4aコンテナに入っているものと純粋aac(FF F8で始まる)ものがある。
aacファイルの先頭
aac
m4aファイルの本体部分(21 00 03 40 …ってのが繰り返した後)
m4a
サンプルソースがあれば再生出来そうなんだけど、手元にあるのはfaad2.lib関連のファイルのみ。
m4aのヘッダ部はなんとなくバイナリエディタで見て分かったけど、本体が純粋aacとm4aに埋め込まれているaacでは構造が違うっぽい。
こりゃDirectShowのままでいくしかないのかなぁ。
サンプルソースプリーズ!

バトルガール

ブロンズゲル
1265個。
ちょいためすぎた?^^;
Screenshot_2015-08-03-22-53-57

武器は、ブロンズじゃなくて、シルバーなんだけど、通勤の時暇なんで、オートプレイ5回やってたらこんなにたまってた。
マニュアルプレイはシルバーゲルの出るステージばかりで、剣と銃がシルバーゲルソードとガンです。
ハンマーは、バス停Sのまま。
全部の種類作っても良かったのですが、槍とかロッドとかね。
また次来るかもしれない方がつよいかもしれないので止めました。
ランク4のカードもいないしね。