1 / 2 ページ12

今月の獲得アイテム!


今月の獲得アイテム!
時間無いので未加工、カメラからそのままアップしちゃいました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オプションをファイル単位で外してコンパイルするようです。

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

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

コメントなし

コメントを残す

Canvas2 DVD

とはいっても、今秋にでるCanvas2 DVD Editionのことではなく、
Canvas2 TVアニメのDVDのこと。

いやぁ、買ったはよいものの、積んであったので、
この3連休で1巻から5巻まで制覇♪

連休とは良い物ですね(ぇ

コメントなし

コメントを残す

MK8007GAH

MK8007GAHがT・ZONEで予約受付をしていました。

とうとう、一般市場へ出回ってきたようです!
H340が80GBになる日が来ました!(w

販売価格は\26800程度だったかと思います。
かなり惹かれている私がここにいます(w

コメントなし

コメントを残す

メモリ買った

メモリを新しく買ってきました。
SanMaxのDDR400 1GB x 2枚です。
チップはInfineon CE-5。

なんとなくオーバークロックはスマートじゃないので、
(すっごく個人的なただの偏見ですね)
電圧、クロックは定格のままで低レイテンシ化に挑戦してみました。

詰めて行ったところ、こんな感じになりました。

Clock : 200MHz(定格)
CL   : 2
tRCD : 3
tRP  : 3
tRAS : 6
tRRD : 2
tRC  : 7
tRFC : 12
tRWT : 2

以下の設定でもMemtest86は完走するのですが…

Clock : 200MHz(定格)
CL   : 2
tRCD : 3
tRP  : 2
tRAS : 5
tRRD : 2
tRC  : 7
tRFC : 12
tRWT : 2

再起動するたびにCMOS設定が初期化されるという…
メモリテストで引っかかってるのかなぁw

とまぁ、2GBになってVistaは快適になりました。
いやっほい♪

コメントなし

コメントを残す

涼宮ハルヒ。

Amazon.co.jpのランキングとかすごいことになってますね。
DVDセールスランキングががががw
でも、TSUTAYAとかだと全然出てこないですね(笑

さすが、Amazon.co.jp。おた多しw

あぁ、愛しの給料日まであと少し。
今週は秋葉に行ってメモリを買ってくるとしますか…

コメントなし

コメントを残す

無駄な考え休むに似たり(違w

さて、では昨日のgigabeatをどうやればお金を捻出できるか、考えてみることにします。

まず、今月の予約済みで買わなくてはお店に迷惑をかけてしまうものw

フルアニ
Canvas2 DVD 永遠の恋心 6巻

両方あわせて、2万弱ぐらいですか…

つぎー、PCのメモリが片方お亡くなりになったので、買い換えないとまずーなので、
(Windows Vistaがスワップしまくりで激重です。このOS、1GBはメモリ必須ですね。)

・DDR400(PC3200) 1GB CL3 x 2

こちらも2万弱ぐらいですが、生きている片方のメモリを売って足しにしましょう。
錬金術は大切ですよw

えと、次に今月に狙っているタイトルw

メイドさんと大きな剣
おしえて Re:メイド
はぴねす!りらっくす 初回限定版
ぶらばん!

えっと、正直なところ無理だろ…っていう塩梅になってきました…

あと、愛しのオーディオテクニカからATH-CM7の後継機が出ました。

ATH-CM700(TI or SV)

…絶望的ですね。
ということでこんなことに30分を費やす、ダメな管理人でありましたとさ。

コメントなし

コメントを残す

1 / 2 ページ12