なうろーでいんぐ
キーボード↑↓
でもいいぞ
旧サイト形式へ帰りたい人
XVIDについて
2011年05月18日16時32分
ちまちま進めてみる。
公式からコアのソースをダウンロードして、
dshowのdspから読み込んでビルドする。
いきなりstreams.hが無いとエラー吐かれる。
DirectXSDKから移行したDShow部分を引っ張る為、
PlatformSDKのDirestShowの基底クラスを持ち出す。
今度はstrmbasedライブラリが無いとエラー。
コンパイルする為の環境がmake仕様だったので、
ややこしいと思いながらGNUWin32を適用して
makeの準備中。こういうのが本当に嫌いである。
さて・・・上手く行くのか?

案の定上手くいかねぇ。というかもうこれは面倒なんで
PlatformSDK入れなおした方がよさげ。
入ってるべき物が入ってない悪寒、何故に?

なんにせよ理解したいのは、コーデックの立ち位置。
以下のサイトを参考に考え方は分かってきた。
DirectShow フィルタの作り方
http://www22.ocn.ne.jp/~telmot/programing/directshow/HowToCreateDirectShowFilter.htm
圧縮技法だろうから、デコーダのフィルタで
コーデックのソースは間違い無く必要になる。
また、ピンでのデータ受け渡しの定義も必要だから
必然的にコーデックソースが絡んでくるわけだ。
COMの理解とか、Windowsでのメディア再生の仕組み
どの位置でどうなって処理されるかという理屈の
全体像が漸く垣間見えてきた気がする。
Windows限定ではあるけど。


同日 23:01
DirectShowの基底debug及びReleaseライブラリ
strmbased.lib及びstrmbase.lib完成。
詳細をもちっと探りたいが、とりあえずこれで
先に進めそう。
そしてまた明日から忙しくなるオチorz
記事カテゴリ:プログラム関連
またしても
2011年05月15日19時49分
厨二パズル埋め込み中。中途半端だが。
ファイル 400-1.png
分かるとは思うが、イメージは侍。
微妙に迷う部分が多い・・・が、時間が無くなって来た。
そろそろ遊び止めよう。


同日 21:37
oggのPCM再生把握。
ov_readが読み込んでくるサイズが不定なので、
一定のサイズになるまで再帰読み込みして、
埋まってから再生に渡す手法でダブルバッファ完了。
DirectSoundではWAVEFORMATEXのメンバを
一部必要とするので、ov_info関数で取ってきた
ビットレートやらを計算含めて橋渡しする事で実装。
後は再生時のポインタ位置を参照しながら
データ読み込みのlock、unlockを繰り返す事で
自然なダブルバッファリングとなりましたとさ。
次は単純なアニメーション系の調整かなぁ・・・。
些細な動きをプログラムで調整するのって何か
奇妙な感覚に襲われる;
多分、今までAfterEffectとかで直感的にしか
触れて無いからだと思うけど。
記事カテゴリ:プログラム関連
MCI触る
2011年05月13日20時41分
動画再生一応できたが、コーデックの関係で
結局DirectShowを使った方が幅広く再生できそう。
とりあえずDirectSoundとoggの件に戻ろうかしら。
例の重複エラーが取れなければ使い物にならんが、
どうせ触らなきゃあかんしな。
今日の所はそれが現実的かも。


同日 21:33
把握した。コンパイラのリエントラント対策。
つまりビルド時のランタイムライブラリが今回発生した
重複定義エラーの根本の原因。
ライブラリの無視を追加したらエラーが消えた。
しかし、肝心のogg関連とpng関連のライブラリで
おそらくビルド時のランタイムライブラリが別々なので
二つ同時にコンパイルするとエラーが発生する模様。
ライブラリの再コンパイルからか・・・う~ん;
まぁ、oggの方はVC++2010のExpress使える
みたいだし、何とかなるかね。
ogg+DirectSoundは分離したら動作確認できたし、
コード理解だけでもしておくか。
記事カテゴリ:プログラム関連
リークの原因発見
2011年04月26日17時53分
ちょっと忙しくて大変である;

原因はやっぱり音。
WaveOut関連の解放をされてると思い込んでいた。
解放されてないのが発覚してなんでじゃとorz
解決したからいいか・・・メモリリーク消えたし。

さて、そんなわけでver0.75をupします。
http://tanukinoori.sakura.ne.jp/file/myblock-tool_ver0.75.zip
今回はかなり調整中部分が目立ちますがご了承を;

主な修正、追加部分
・メモリリークの完全消去
・衝突音が鳴らなくなる問題解消
・フルスクリーンから戻った際に
 タスクトレイが消える現象を解消
・終了ボタンでちょっと遊ぶ
・今の所無意味な画面を最初に追加。(調整中)
こんな所かね?
記事カテゴリ:プログラム関連