Search
Categories
Articles
Rainmeter関連
ファイル置き場
お知り合いなど

スポンサーサイト

--.--.-- | スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RivaTunerPlugin for Rainmeter

2009.10.29 | Rainmeter-dev // Plugins

0 Comments

実験用に64bit用DLLを添付した1.9を公開しました(あくまで実験用です。64bit環境を持ってないので試しようがありません)。
もし1.8以前の旧バージョンを使っている方がいらっしゃいましたら、skinでの設定方法が変わっていますので、変更してからお使いください。

■このPluginについて
このPluginは、RivaTunerのHardware Monitoring機能を介して、モニタ値を取得するためのRainmeter用Pluginです。
事前にRivaTunerをインストールしておく必要があります。

RivaTuner: http://www.guru3d.com/category/rivatuner/

RivaTuner側の設定がいくつか必要になるので、わかる方のみお使いください。

■対応環境について
・Rainmeter 1.0 以降でお使いください。
 ※0.14でもたぶん使えますが、別途VC2008ランタイムが必要になります(1.0以降だとインストーラで自動的に導入されているはずです)。
・Rainmeter-32bitには"x86"フォルダのものを、Rainmeter-64bitには"x64"フォルダのものを使ってください。(64bit用は実験版です。正しく動作しない可能性があります)

■ダウンロード
ファイル置き場には、MicrosoftのWindows Live SkyDriveを使用しています。以下のリンクからダウンロードしてください。


 ※表示されない場合はこちらから

ファイル更新日: 2009/10/29 (version 1.9)
SHA-1: D81378B6E9CBAFAC7FCA18BD7C3788A15A7D9FBA

以下、必要そうな前準備の手順などを格納。

続きを読む »

スポンサーサイト

Visual C++ 2008 Express Editionで64bitアプリをビルドする

2009.10.27 | Programming

0 Comments

Visual C++ 2008 Express Edition And 64-Bit Targets ? Jens’ Blog

ここにあるVCE64BIT.zipを使えばExpress Editionでも64bitビルドができるようになるらしいので挑戦してみた。
Windows SDKを新たにインストールして、設定を変える必要があるみたいだけど、今回はその部分を大胆に端折ったので、当然ながら失敗!(Windows SDK for VistaのISOからVCProjectAMD64Platform.dllとそのconfigだけ抜き出して置いた)
x64は選べるんだけど、ビルドするとX86とX64の競合がどうたら~ってエラーが出て、いろいろ検索して載ってた対処法も試したけど無理だったので諦め。やっぱりWindows SDKのインストールは避けて通れないのね。

というわけで、Windows SDKを入れようかと思ったのだけれど、さてどれを入れればいいのか……。
Windows SDK for Vistaって、バージョンは6.2になってるけど(VC2008付属のは6.0A)、古いような。.NETも古いし。これを入れて大丈夫なんだろうか。
Rainmeterのビルドに影響が出てもあれだし、とりあえず中断。

Windows SDK for Windows 7(英語版)が出てるので、それを入れたらまた挑戦してみようかな。

2009.10.29 追記
Windows SDK for Windows 7を入れて再チャレンジしてみました。結果、ビルドはたぶんできました(Rainmeter-64bitで確認)。
たぶんというのは、実際に動かせる環境がなくてチェックしようがないから。

SDKを新たに入れることで、VCのフォルダにx64用のビルドツールが入るみたいですね。それさえ入れば、後は元から入ってるv6.0AのSDKを使う設定であってもビルドできるようになりました。v7.0も使ってみたいけど、とりあえずはv6.0Aでいこう。

Perfume Second Tour 2009 「直角二等辺三角形TOUR」

2009.10.12 | 雑記

0 Comments

大阪の初日に参加してきた!
楽しかったー!

当日はホントに体調悪くて、行こうか行くまいか散々迷ったけど、もし行かないほうを選んでたら絶対後悔してたね!ってくらいに初Perfumeを堪能してきました。おかげで酷い筋肉痛に襲われていますが……w
席からステージまでがちょっと遠くて、モニタ頼りなところも多かったけれど、3人ともかわいかったー。「理解なりぃ~」はお気に入りです。
トークタイムが長すぎて、Perfume最長ライブになったらしい(3時間半越え)。さすがあ~ちゃんです。

曲目は初日と二日目でアンコール1曲目だけが違っていて、初日が「パーフェクトスター・パーフェクトスタイル」、二日目が「plastic smile」だったらしい。PSPSは絶対に聴きたかった(ダンスを見たかった)ので、初日選んでラッキーでした。欲をいえばTSPSも見てみたかった!

そういえばかしゆかがジョジョ好きだったなんて。ミンゴスといいかしゆかといい、ジョジョの話題を目にすることが増えてきた。読むしかないのか……?

[Rainmeter-dev] DynamicVariables

2009.10.08 | Rainmeter-dev // Issue/DynamicVariables

0 Comments

Rainmeter1.1の新機能として追加予定の"DynamicVariables"についての、私的なまとめです。
本家でのコード変更についてのコメントや、私自身の変更案、コミット予定/済みなものなどが入り混じっていますので、決して公開されているビルドに反映されているものばかりではありません。ご注意ください。

■更新履歴 (※更新のたびに、たぶん一番上にあがってきます)
- 2009.10.08 : MeterButtonの"ButtonCommand"が対象から抜けていたので追加

以下、続きに格納。

続きを読む »

[Rainmeter] MeasureNetはbits/s? それともBytes/s?

2009.10.03 | Rainmeter

0 Comments

MeasureNet(In/Out/Total)はネットワークのトラフィック量を返すMeasureですが、スキンの例を見ていると、単位の扱い方がまちまちです。
例えばBytes/sで表示したいから、Calcを使って8で割って使っていたりとか。

MeasureNetは、内部ではOctet単位で値を保持しています。1Octet=8bitです。今は1Byte=8bitとして扱われてるのでByte単位でもいいです。
だから、Byte単位で表示したいなら、Calcを使って8で割るのは間違いです(OSのバージョンによって挙動が変わるかどうかは知りませんが、少なくともXP上でのRainmeterではOctet単位で管理されています)。

MeasureNet.cppの一部、ReadConfig()ではこんな感じになってます。

/*
** ReadConfig
**
** Reads the measure specific configs. This is the same for in, out and total.
** the net-parameter informs which inherited class called this method.
**
*/
void CMeasureNet::ReadConfig(CConfigParser& parser, const WCHAR* section, NET net)
{
    double value;
    const WCHAR* netName = NULL;
 
    if (net == NET_IN)
    {
        netName = L"NetInSpeed";
        value = CRainmeter::GetGlobalConfig().netInSpeed;
    }
    else if (net == NET_OUT)
    {
        netName = L"NetOutSpeed";
        value = CRainmeter::GetGlobalConfig().netOutSpeed;
    }
    else
    {
        netName = L"NetTotalSpeed";
        value = CRainmeter::GetGlobalConfig().netInSpeed + CRainmeter::GetGlobalConfig().netOutSpeed;
    }
 
    double maxValue = parser.ReadFloat(section, L"MaxValue", -1);
    if (maxValue == -1) 
    {
        maxValue = parser.ReadFloat(section, netName, -1);
        if (maxValue == -1) 
        {
            maxValue = value;
        }
    }
    
    m_Interface = parser.ReadInt(section, L"Interface", 0);
    m_Cumulative = 0!=parser.ReadInt(section, L"Cumulative", 0);
 
    m_TrafficValue = parser.ReadFloat(section, L"TrafficValue", 0.0);
    m_TrafficAction = parser.ReadString(section, L"TrafficAction", L"", false);
 
    if (maxValue == 0)
    {
        m_MaxValue = 1;
        m_LogMaxValue = true;
    }
    else
    {
        m_MaxValue = maxValue / 8;
    }
}

ヘルプには、NetXXXSpeed(またはMaxValue)の指定は"bits per second"ですると書かれています。この記述や、一般的にネットワークの通信速度を表すのにbpsを使うことから、「MeasureNetはbit単位を返す」と勘違いさせてしまうこともあるのかなぁと。
実際には、NetXXXSpeed(またはMaxValue)は赤字の箇所でOctet単位に直して使っています。bitだったりOctet(Byte)だったり、ややこしいですね。さらにTrafficActionのためのTrafficValueは8で割ってないのでOctet(Byte)単位で指定しないといけないという(ヘルプにも指定に使う単位が書かれてない)。

というわけで、
- Byte単位で表示したければ、そのまま使う
- bit単位で表示したければ、Calcで8をかけて使う
- オプション指定のNetXXXSpeedはbit単位、TrafficValueはByte単位で指定する
という感じでしょうか……。

ちなみに、AutoScaleを使って表示すると、他アプリで計測した値よりも若干小さく表示されることがあります。この原因は「ハードディスクの容量が1TBあるはずなのに900GBちょっととしか表示されないぞ!」というのと同じようなもので(ちょっと違うけど)、ネットワークの通信量はk(103=1000)→M(106=1000*1000)と計算されていくのに対し、Rainmeter内部ではk(210=1024)→M(220=1024*1024)と計算するためです(どんなMeasureでも1024で割っちゃうので、あまり好きではない仕様です)。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。