ねがさぷ2006夏オフ

あのmixiの大規模コミュニティのイベント、オフ会に行ってきました。
総勢45名の音ゲー強者たち(?)が勢揃いw

なんで、音ゲーを全くやらない私がいるんだとか言わないでください。
萌えっ娘担当なんですから!(ぇ

まぁ、レポは今書く体力がないので明日っと。
やっぱり、コミケは行けそうにもないです…
給料日前で大ピンチです…やう゛ぁい。マジで。

冬、頑張ってお金貯めて行こうかなぁ…と思いましたが、実行できるかは未知数。
どうなるんでしょうかね…

ちなみに、今秋は帰宅が遅かったの更新してませんでした…
すみません…

コメントなし

コメントを残す

DVDれんたる。

一柳麻衣さんの日記からトラバしたいけど、mixiって外部にトラックバックできないんだよね…
まぁ、mixiの性質上仕方ないですけどね…

セイバーマリオネットJの話題だったので、ちょっと懐かしい気分ですw
ロストユニバースとかなんだか無性に見たくなっちゃいました。
結構、好きだったので。

というわけで!
オンライン上での宅配DVDレンタルサービスって良いですよね!
…っていう話題につなげてみました(無理矢理

TSUTAYA Discas
というわけで、検索検索っと♪
おぉ、「これが私のご主人様」借りてみたいー
おお、そういえば、君望アニメ見てないやー。

( ゚д゚)ハッ!目的忘れてるよっ!?
というぐらい目移りすること必至w

でも、マリオネットやロスユニが無いというオチが付いたところで今日はおしまいw

コメントなし

コメントを残す

花火。

地元(でいいのか?車で30分ぐらいのところ)の花火大会に行ってみました。

・中国製は良くないと思います。不発とか、形が丸くならないとかヒドイw
・フィナーレぐらいは連発しないとしょぼいと思いますw

地方財政は大変なのですね…世知辛い世の中なのですよー

なんか、愚痴しか出てこないのは日頃のせいなのでしょうか…
すっごくネガティブになってますね。あうあう。

というわけで、ポジティブに行きましょう~♪
来週は某サイトの40~50人規模のビッグなオフ会だ~♪

これだけ人が集まるオフ会というのも、スゴイですよね…
北海道とか遠来される方も…
テンションが命の会なので何かネタを仕込まないといけません…
うむーと言われても、私には何をすればいいのだか…と思っていたら、
「大丈夫、存在自体がネタだから」と言われる始末w

えぇ、そうさ、何を血迷ったのかこの業界にいるんでしょうね!
これも愛故に!

なんだか、異常なテンションの日記なりました。(苦笑

コメントなし

コメントを残す

小さな幸せ?

ハーゲンダッツの新商品がでましたーw

ほぼ毎月新フレーバーが登場するハーゲンダッツ、心待ちにしてました!実は♪
コンビニに探しに行かなくちゃ(・・ )( 。。)
というか、Web shopまであるんですね…

「お菓子は人を笑顔にする小さな魔法」
誰が言ったかは知りませんが名言ですね♪

コメントなし

コメントを残す

のぼせるタマちゃん


はぴねす!りらっくすより。

タイトル画面で放置していると、ロゴの中のタマちゃんがのぼせて色が赤くなるんですよw
気づいた人はどれくらいルのでしょうね?

それにしても、芸が細かいですね…

コメントなし

コメントを残す

今月の獲得アイテム!


今月の獲得アイテム!
時間無いので未加工、カメラからそのままアップしちゃいましたwww

というか、てんぱってる状態で書くなって話ですね♪
失礼しつれい。

あれ?メイドさんの2本撮り忘れたっぽいw
しんふぉ2は頂き物なので買ってはいませんけどね…

あー、そういえば、Schoolぷろじぇくと☆はまたCGフラグ飛びました…
なんなの、こいつ…というわけでもうあきらめました。

というか、サポートに連絡しておこう。

コメントなし

コメントを残す

Schoolぷろじぇくと☆

Schoolぷろじぇくと☆のCGフラグと回想モードのフラグが全部吹っ飛びました…

どうして…il||li ○| ̄|_


というわけで、メイドさんと大きな剣をやりつつ、裏でCGフラグ回収作業中w
Schoolぷろじぇくと☆はスキップでお送りしておりまーす♪

アホとしか言いようのない、デスクトップ画面になりましたね…
CPUもちゃーんと処理振り分けてありますよーw
デュアルコア、ここに威力を発揮されても…ねぇ(^^ゞ

コメントなし

コメントを残す

DirectShow Filter

そういえば、OSデフォルトのMPEG Decoderがffdshowなどのフィルターより、優先度が低くて正常に動作しない場合の対処方法として、「Microsoft MPEG Video Decoder」などのメリット値を上げるという方法が紹介されているところもあるようですが、

やめた方が良いです

OSのデフォルトのフィルターには手を加えるべきではありません。
まぁ、試してみれば解ると思いますが、アプリケーションによってはMPEGが再生できなくなったりします。
(逆に何の問題もない場合もありますが。)
そのアプリケーションのフィルターの探し方に問題があるような気もしますけど、とりあえず言えるのは、OSのコンポーネントには手を加えるべきではありません。
こういう場合なら、後でインストールしたffdshowの優先度を下げる方法で対処するのがベターというか定石です。

幸い、ffdshowは設定ダイアログでメリット値の変更を許可していますし、
(ffdshowは如何なるメリット値でも動作するように作られているらしい…という予測は出来ますよね)

OSから初めにインストールされている物はアプリケーションによってはそこに在るべき物として既に組み込まれてしまっている可能性があるということを考慮すべきです。
(勿論、本来であればDirectShow FilterはCOMコンポーネントなので、絶対にあるという保証はないので、このようなアプリケーションの組み込み方が間違っているのではありますが。)

ぇ、なんでこんなこと書いてるかって?
テックジャイアン買って、とあるホームページを見に行ったらそんなことが書いてあったからw

そんな、OSに付いてる大本をいじるなんて、プログラマーとして正気かっ!?、と言いたくもなります。

コメントなし

コメントを残す

マネージとアンマネージの混在 .NET2編 その2

昨日の続き。
…続いちゃうの!?とか言わないでくださいw

/clrコンパイルオプションを外してコンパイルするのはDLLのエントリポイントですから、
COMコンポーネントDLLの場合だと以下の関数が該当すると思います。
・DllMain
・DllCanUnloadNow
・DllGetClassObject
・DllRegisterServer
・DllUnregisterServer
これらを1つのCPPファイルに書いてしまえば言い訳ですね。

書き書き…
のーみそコネコネ、コンパイルしてみよーw
というか、ぷよまん食べたくなったよ…もう、売ってないけど…

 Σ(´Д`lll)エラーデタw

COMのインターフェース内にマネージオブジェクトを埋め込んでいるのですが、
オブジェクトマップの関係上、そのインターフェイス定義をインクルードしなくてはなりません。

BEGIN_OBJECT_MAP(WMPSyncPlgComMap)
	OBJECT_ENTRY(CLSID_WMPSyncPlg, clsWMPSyncPlgInterface)
END_OBJECT_MAP()
extern "C" bool __stdcall DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
	switch (dwReason)
	{
	case DLL_PROCESS_ATTACH:
        ComModule.Init(WMPSyncPlgComMap, hInstance);
		break;
	case DLL_PROCESS_DETACH:
        ComModule.Term();
		break;
	}
	return true;
}

こんな感じでDllMainで初期化のために参照されるため、clsWMPSyncPlgInterfaceクラス定義内に、

class ATL_NO_VTABLE clsWMPSyncPlgInterface: 
    public CComObjectRootEx<CComSingleThreadModel>,
    public CComCoClass<clsWMPSyncPlgInterface, &CLSID_WMPSyncPlg>,
    public IWMPPluginUI
{
//
// 途中かなり省略
//
private:
	CComPtr<IWMPCore>	m_ptrWMPCore;
	gcroot<iriverWMPSyncPlugin::frmMain ^>	m_objfrmMain; // ここでハンドルオブジェクトを定義できない
};

上記のように、マネージオブジェクトを配置することが出来ないようです…
仕方ありませんので、汎用的な(void *)などで置き換えておいてみました。
そして、実際のコーディング部分でこのポインタ部分にgcroot<>テンプレートを割り当ててみます。

clsWMPSyncPlgInterface::clsWMPSyncPlgInterface(void)
{
	System::Threading::Thread::CurrentThread->ApartmentState = System::Threading::ApartmentState::MTA;
	m_ptrWMPCore = NULL;
	m_ptrfrmMainGCRoot = new gcroot<iriverWMPSyncPlugin::frmMain^>;
	*(gcroot<iriverWMPSyncPlugin::frmMain^> *)m_ptrfrmMainGCRoot = nullptr;
}

お、コンパイルも通り、実行が出来ました。
ヘッダ部分は、マネージ・アンマネージ両方から参照できるように作っておくと良いようです。

さてと、なんだか本当にこれで良いのか!?
…と思ったら、System.Runtime.InteropServicesが結構怪しいですね。
なんか、属性を付けるだけでCOMアプリケーションからアクセスできそうな予感w

今までのは何だったんだ!?

…これが試行錯誤くおりてぃ(まて

コメントなし

コメントを残す

マジな記事w マネージとアンマネージの混在 .NET2編 その1

なぜだか真剣な記事もたまには良いですよね。

WMP Sync Pluginをバージョンアップして、コードを書き直しているのですが、
Windows Media Playerはアンマネージのアプリケーションです。
そこから呼び出されるプラグイン内でマネージコードを使用しているのですが、
.NET Framework 1.1から.NET Framework 2.0に移行するにあたり、
この混在アセンブリの初期化部分等が改善されているみたいです。

従来では、_vcclrit.hをインクルードして、
__crt_dll_initialize()
などを使用して手動でマネージ部分の初期化を行っていました。

外部から呼ばれる関数全てにこの初期化、
解放関数をばらまかなくてはならないようで、COMのDLLだと、
・DllCanUnloadNow
・DllGetClassObject
・DllRegisterServer
・DllUnregisterServer
の上記の関数を変更する必要があり、はっきり言って面倒でした…
(まだ4関数だから良いっていえばまだいいですけど)

.NET Framework 2.0ではこれらの関数は不要になり、
DLLがロードされたときに自動的に初期化等を行うようになっているようです。

外部から呼び出されるアンマネージ関数は別ファイルにしておいて、
/clrオプションをファイル単位で外してコンパイルするようです。

うわ、書いてて眠くなった。。。次は明日にしよう…
おやすみー。

ちなみに管理人の独自調査(試行錯誤とも言う)の結果ですので内容は保証しません!

コメントなし

コメントを残す