市野で遭遇タコスの人
市野にウィンドウショッピング(みてるだけー)に行ったら、タコスの人が後ろから近づいてきて声をかけられました。仕事暇そうでカワイソスだけど時給を聞いたら僕もやりたくなった罠。カード発行の仕事で入って欲しそうだったので、ちょうど何かカード作りたかったところだから作りましたヽ(・ω・)ノ
大量のサービス d(゚Д゚)☆スペシャルサンクス☆( ゚Д゚)b
| 固定リンク | コメント (3) | トラックバック (1)
市野にウィンドウショッピング(みてるだけー)に行ったら、タコスの人が後ろから近づいてきて声をかけられました。仕事暇そうでカワイソスだけど時給を聞いたら僕もやりたくなった罠。カード発行の仕事で入って欲しそうだったので、ちょうど何かカード作りたかったところだから作りましたヽ(・ω・)ノ
大量のサービス d(゚Д゚)☆スペシャルサンクス☆( ゚Д゚)b
| 固定リンク | コメント (3) | トラックバック (1)
今日イオン市野にいってみたら入るのに30分待ちでした(´・ω:;.:...
家から歩いていったほうがはやかったよ|ω・`)
中の店舗はシトロよりもメンズショップが多い印象で、自分好みの服も結構あったのでこれから買い物にちょくちょく行くかも。
で、タコスの中の人とは出会えませんでしたとさ。どこのお店だったんだろ|ω・`)
| 固定リンク | コメント (2) | トラックバック (0)
プログラムというよりDirectShowの話題。DirectShowをやっているとGraphEditで確かめて、プログラムにするっていうのが一般的だけど、プログラム書いておかしいかどうか確かめたりするのに、GraphEditみたいなツールで視覚的にみたい時が多い。
プログラムで作ったグラフを確認する方法として、先日紹介したAddToRotの方法があるが、もう一つ、ファイルにセーブして後からGraphEditで確認する方法もある。こっちのほうが簡単かも。
方法は、以下の関数を追加して、グラフが生きてるときに呼ぶだけ。ファイル名はフルパスで。
// SaveGraphFile グラフをgrfファイルにしてGraphEditで見えるようにする関数
// 引数
// ファイルに保存したいグラフ : pGraph
// 保存するファイル名(フルパス): wszPath
HRESULT SaveGraphFile( IGraphBuilder *pGraph , WCHAR *wszPath )
{
const WCHAR wszStreamName[] = L"ActiveMovieGraph";
HRESULT hr;
IStorage *pStorage = NULL;// まず,GRFファイルを保持するドキュメントファイルを作る
hr = StgCreateDocfile( wszPath , STGM_CREATE | STGM_TRANSACTED | STGM_READWRITE | STGM_SHARE_EXCLUSIVE , 0 , &pStorage );
if( FAILED( hr ) ){
return hr;
}// 次に,保存するストリームを作る
IStream *pStream;
hr = pStorage->CreateStream( wszStreamName , STGM_WRITE | STGM_CREATE | STGM_SHARE_EXCLUSIVE , 0 , 0 , &pStream );
if( FAILED( hr ) ){
return hr;
}// IPersistStream::Saveメソッドはストリームを存続できる形に変換する
IPersistStream *pPersist = NULL;
pGraph->QueryInterface( IID_IPersistStream , reinterpret_cast<void **>(&pPersist) );
hr = pPersist->Save( pStream , TRUE );
pStream->Release();
pPersist->Release();
if( SUCCEEDED( hr ) ){
hr = pStorage->Commit( STGC_DEFAULT );
}
pStorage->Release();
return hr;
}
| 固定リンク | コメント (0) | トラックバック (0)
杏○堂で買ってきて舐めたら普通に咳がとまったよ!!
咳止めの薬より効いた罠Σ(‘ω‘ ;* )
おかげさまで後は下痢のみ(*‘ω‘ )ノ
| 固定リンク | コメント (0) | トラックバック (0)
1週間ほどくたばってました。(;´д`)
鼻水がひどくて、熱が39度くらい出たり、下痢がひどかったり、咳がひどかったりと、散々でしたが、やっと鼻水と咳とおなかがちょっとゆるい程度まで回復した模様。
長引きすぎヽ(・ω・`;)ノ
| 固定リンク | コメント (0) | トラックバック (0)
導入しようと思って、HTMLタグを挟み込むやつを登録したのに、HTMLタグが使えNEEEEEEEEEEEEEEEEEEEEヽ(`(`(`(`ヽ(`Д´)ノ ウワ・ウワ・ウワ・ウワ・ウワアァァァン!!
| 固定リンク | コメント (0) | トラックバック (0)
GraphEditってものすごく便利で、DirectShowのプログラムを見た目で繋いでいくだけで完成する。だけど、その後ソースを吐き出してくれないから、プロトタイプ用と思いきや、自分のアプリで作ったグラフをGraphEditの絵で見ることができる。
そのためには、まず以下の二つの関数を用意する。
HRESULT AddToRot(IUnknown *pUnkGraph, DWORD *pdwRegister)
{
IMoniker * pMoniker;
IRunningObjectTable *pROT;
if (FAILED(GetRunningObjectTable(0, &pROT))) {
return E_FAIL;
}
WCHAR wsz[256];
wsprintfW(wsz, L"FilterGraph %08x pid %08x", (DWORD_PTR)pUnkGraph, GetCurrentProcessId());
HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);
if (SUCCEEDED(hr)) {
hr = pROT->Register(ROTFLAGS_REGISTRATIONKEEPSALIVE, pUnkGraph,
pMoniker, pdwRegister);
pMoniker->Release();
}
pROT->Release();
return hr;
}void RemoveFromRot(DWORD pdwRegister)
{
IRunningObjectTable *pROT;
if (SUCCEEDED(GetRunningObjectTable(0, &pROT))) {
pROT->Revoke(pdwRegister);
pROT->Release();
}
}
そして、自分のアプリで作るグラフをCoInitializeしたら、AddToRotを呼び出す。で、アプリを終わる前にGraphをReleaseするタイミングと同じタイミングでRemoveFromRotを呼び出す。これでアプリ側の準備は完了。
後はアプリを実行中に、GraphEditのコレをポチっと押すと一覧見たいのが出てくるのでそこでOKを押すとグラフエディットが起動中のアプリのグラフを読み取って表示する。
これでちゃんと動かせているかわかるのでかなり便利に使ってます。
| 固定リンク | コメント (0) | トラックバック (0)
IStreamBufferSinkを使ってシンク側のGraphはほぼ完成。だけど、IStreamBufferSourceが全然うまくいかない。解決の糸口はなし・・・。DirectShowに関する書籍少なすぎ(・ω・`lll)
| 固定リンク | コメント (0) | トラックバック (0)
CComQIPtr<IBaseFilter> pSinkF(pSink);
これをグローバルに置いていたら実行時エラーだったΣ(‘ω‘ ;* )ローカルに置き直したら普通に通過したし・・・。QueryInterfaceまで入ってるからグローバルだと怒られるっぽい(・ω・`#)
| 固定リンク | コメント (0) | トラックバック (0)
DirectShowを使ってやっているけど、資料がMSDNしかない。DirectShow自体の資料が少ないのに、さらにその中でもマイナーな部分になるからかなりきついなぁ・・・。やりたいことは追っかけ再生ができた後の部分なのに。
IStreamBufferSinkとIStreamBufferSourceを使えばできる模様だけど、スキル不足でサクっと作れないのが痛いところ(´・ω・`)
| 固定リンク | コメント (0) | トラックバック (0)
チラシの裏メモ。
BOOL RegisterHotKey(
HWND hWnd, // ウィンドウのハンドル
int id, // ホットキーの識別子
UINT fsModifiers, // キー修飾子フラグ
UINT vk // 仮想キーコード
);
hWndに設定されたウィンドウがホットキーの通知を受ける。idはなんかGlobalAddAtom()をつかってほげほげするとか。要調査。fsModifiersはコントロールとかALTとかシフトとかWinを選ぶところ。vkはホットキーで使うCtrl+HだとしたらHの部分の仮想キーコード。
解除には
BOOL UnregisterHotKey(
HWND hWnd, // ウィンドウのハンドル
int id // ホットキーの識別子
);
を使う。
| 固定リンク | コメント (0) | トラックバック (0)
白いパンツ(ブリーフジャナイヨ)を買いに行ったらリーバイスの結構いいパンツが見つかって衝動買い。シャツとカバンも買っちゃっいました。諭吉さんが1枚キエチャターヨΣ(‘ω‘ ;* )
レジに持っていったら今3割引だから元々のリーバイスのパンツの値段でシャツとカバンも買えちゃってお得な感じが。最近毎週買い物で諭吉さんが(´・ω・`)/~~
結局白いパンツは買いませんでした。
そんな僕をよそ目に彼女はウン万円のジャケットをぽんと買ってましたΣ(‘ω‘ ;* )ウン万円なだけあって、生地も良いし、サイズも体の形にぴったりとあって格好良かったデス。
あとアクセサリーとかもあわせて見て今日は二人合わせて5枚ぐらい飛んでった気が(((( ;゚д゚)))アワワワワ
これからは衝動買いは控えようと思った一日ですた(・ω・ )
| 固定リンク | コメント (0) | トラックバック (0)
vectorで公開して窓の杜で紹介された「hMouseLimit」のバグトリ(Windows98で動作がおかしい)がやっとできると思ってソースを見ていたところ、GetAsyncKeyState関数が実は9x系では動作がおかしいとか何とか。
GetAsyncKeyState( VK_LBUTTON ) & 0x8000
でマウスクリックの判定をしているから9x系対応の関数を探すか、メインルーチンを弄って環境依存じゃなくなるようにがんばるか9X系を見捨てるか・・・。9x系でも動いてほしいけどそろそろサポート切れるらしいんだよね(・ω・ )
2005/06/05追記
ルーチン見直したら98でも動いたので単にバグだっただけな罠。もうちょっと手直ししたらvectorにアップしなおしします。
| 固定リンク | コメント (0) | トラックバック (0)
元々xreaでblogを自分で設置してやっていたけど、xreaがgoogle村八分食らっているみたいだし、これを期にこっちをメインに移行。
内定(σ´Д`)σゲッツ!!したから更新頻度は高くなると思います。
| 固定リンク | コメント (0) | トラックバック (0)